<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Article on JOURNAL.ROBBI.MY</title><link>https://journal.robbi.my/categories/article/</link><description>Recent content in Article on JOURNAL.ROBBI.MY</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 30 Jun 2026 12:43:47 +0800</lastBuildDate><atom:link href="https://journal.robbi.my/categories/article/index.xml" rel="self" type="application/rss+xml"/><item><title>Proses permohonan callsign gateway radio amatur Malaysia dengan SKMM</title><link>https://journal.robbi.my/posts/250624091254/</link><pubDate>Tue, 24 Jun 2025 21:12:54 +0800</pubDate><guid>https://journal.robbi.my/posts/250624091254/</guid><description>&lt;p&gt;Assalamualaikum, sebelum aku mempunyai callsign gateway, aku ada bertanya kepada orang lain yang dah ada atau yang pernah buat permohonan gateway. Aku dapati jawapan yang diberikan berbeza-beza 😅&lt;/p&gt;
&lt;p&gt;Kebetulan tahun 2025 ni aku memang ada perancangan dan idea untuk setup gateway, so aku dah lalui proses permohonan tersebut. Jadi aku kongsikan bersama-sama supaya mereka yang berminat boleh buat sebagai rujukan.&lt;/p&gt;
&lt;pre class="mermaid my-4 not-prose" data-mermaid-source&gt; 
flowchart TD
 A[MULA] --&gt; B{Anda ada callsign gateway sendiri atau mohon callsign baru?}
 B --&gt;|TIADA DAN MOHON CALLSIGN BARU| C[ISI borang RSAD/AAP-F07 secara manual]
 B --&gt;|ADA DAN BUKAN MOHON CALLSIGN BARU| D[Buat kemaskini di eSpectra]
 C --&gt; E[Sila lengkapkan dan lampirkan:&lt;br/&gt;1. Muka surat 1, 2 dan 5 sahaja&lt;br/&gt;2. Salinan kad pengenalan&lt;br/&gt;3. Salinan AA kelas A/B]
 E --&gt; F[Emailkan kepada SKMM]
 F --&gt; G{SKMM respons untuk&lt;br/&gt;notis pembayaran fi permohonan&lt;br/&gt;AA stesen amatur gateway}
 G --&gt; |TIDAK| M[Tunggu respons SKMM&lt;br/&gt; dan buat follow-up]
 G --&gt;|YA| J[Buat pembayaran RM60 di e-payment SKMM]
 J --&gt; K[Balas email kepada SKMM berserta bukti pembayaran fi permohonan]
 K --&gt; L{SKMM respons untuk&lt;br/&gt;notis pembayaran fi lesen AA stesen amatur gateway}
 L --&gt; |TIDAK| N[Tunggu respons SKMM&lt;br/&gt; dan buat follow-up]
 L --&gt; |YA| O[Buat pembayaran RM13 di e-payment SKMM]
 O --&gt; P[Balas email kepada SKMM berserta bukti pembayaran fi lesen gateway]
 P --&gt; Q{SKMM respons untuk&lt;br/&gt;sijil AA gateway}
 Q --&gt; |TIDAK| R[Tunggu respons SKMM&lt;br/&gt; dan buat follow-up]
 Q --&gt; |YA| S[Selesai. Sijil AA akan di pos kepada anda dan anda boleh minta salinan PDF sekiranya perlu.]
 S --&gt;T[TAMAT] 
&lt;/pre&gt;

&lt;p&gt;Dah tengok flowchart di atas? Aku akan terangkan sedikit tentang perincian proses tersebut dan apa yang anda perlukan.&lt;/p&gt;</description></item><item><title>End of an Era: Django Mailing List Moves to Web-Based Forum</title><link>https://journal.robbi.my/posts/250225095237/</link><pubDate>Tue, 25 Feb 2025 21:52:37 +0800</pubDate><guid>https://journal.robbi.my/posts/250225095237/</guid><description>&lt;p&gt;I was checking and cleaning my personal email and saw one email from django mailing list that said, they will move to &lt;a href="https://forum.djangoproject.com/"&gt;web-based forum&lt;/a&gt; to replace google group&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;text&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Sender: django-users@googlegroups.com
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Date: Sat, 22 Feb 2025 08:30:21 -0800 (PST)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;From: Karen Tracey &amp;lt;kmtracey@gmail.com&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;To: Django users &amp;lt;django-users@googlegroups.com&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Message-Id: &amp;lt;bdc4dd15-e4b1-47f0-925c-e7976a6a68e5n@googlegroups.com&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Subject: Moving discussions to the forum
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; Hi, we’ve decided to officially move conversations from this mailing 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; list to the Django Forum &amp;lt;https://forum.djangoproject.com/&amp;gt;. The mailing 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; list is now closed to new members, and only allows posting via the 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; Google Groups web interface to encourage people to stop posting here – 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; while still making it possible to do so if needed.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; We will further restrict posting in the future, with the list eventually 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; becoming a read-only archive. We have no plans to delete it, there are a 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; lot important conversations here that our users and contributors often 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; refer to.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; This list has been invaluable to the Django community in the past, but 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; these days it seems most conversations have moved on to other places, so 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; the list only increases fragmentation and moderation burden in our 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; community. Please consider joining the Django forum and keeping 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; discussions going there, or take a look at our Django Community page 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; &amp;lt;https://www.djangoproject.com/community/&amp;gt; to find other online spaces.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; Thank you!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; Karen, on behalf of the Django Software Foundation&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;It was mixed feeling as I&amp;rsquo;m not actively using it to ask or reply to emails but it was one of my resources and references when looking for information.&lt;/p&gt;</description></item><item><title>[PART 2] Spring Boot - Multiple datasource (database) with JDBC and JPA</title><link>https://journal.robbi.my/posts/241102093844/</link><pubDate>Sat, 02 Nov 2024 09:38:44 +0800</pubDate><guid>https://journal.robbi.my/posts/241102093844/</guid><description>&lt;p&gt;We start with &lt;code&gt;postgreSQL&lt;/code&gt; because this our primary database connection and we do all CRUD stuff from here. We need 2 class, which use for connection and configuration of datasource.&lt;/p&gt;
&lt;h3 id="datasourceconfigurationpostgresql"&gt;DatasourceConfigurationPostgreSQL&lt;/h3&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;java&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;package&lt;/span&gt; com.robbi.demo.config.postgresql;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; javax.sql.DataSource;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; org.slf4j.Logger;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; org.springframework.boot.context.properties.ConfigurationProperties;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; org.springframework.context.annotation.Bean;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; org.springframework.context.annotation.Configuration;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; org.springframework.context.annotation.Primary;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; com.robbi.demo.utils.LoggerFactoryUtil;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;@Configuration
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;public&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;class&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;DatasourceConfigurationPostgreSQL&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#8be9fd;font-style:italic"&gt;private&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;static&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;final&lt;/span&gt; Logger LOG &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; LoggerFactoryUtil.&lt;span style="color:#50fa7b"&gt;getLogger&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Bean
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @ConfigurationProperties(&lt;span style="color:#f1fa8c"&gt;&amp;#34;spring.datasource.postgresql&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;public&lt;/span&gt; DataSourceProperties &lt;span style="color:#50fa7b"&gt;dataSourcePropertiesPostgreSQL&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		LOG.&lt;span style="color:#50fa7b"&gt;info&lt;/span&gt;(&lt;span style="color:#f1fa8c"&gt;&amp;#34;spring.datasource.postgresql&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;return&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;new&lt;/span&gt; DataSourceProperties();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Bean
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; @Primary
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;public&lt;/span&gt; DataSource &lt;span style="color:#50fa7b"&gt;dataSourcePostgreSQL&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		LOG.&lt;span style="color:#50fa7b"&gt;info&lt;/span&gt;(&lt;span style="color:#f1fa8c"&gt;&amp;#34;Initializing PostgreSQL DataSource: {}&amp;#34;&lt;/span&gt;, dataSourcePropertiesPostgreSQL().&lt;span style="color:#50fa7b"&gt;getUrl&lt;/span&gt;());
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	 &lt;span style="color:#ff79c6"&gt;return&lt;/span&gt; dataSourcePropertiesPostgreSQL()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	 .&lt;span style="color:#50fa7b"&gt;initializeDataSourceBuilder&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	 .&lt;span style="color:#50fa7b"&gt;build&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Take note on anotation &lt;code&gt;@ConfigurationProperties&lt;/code&gt; and &lt;code&gt;@Primary&lt;/code&gt; that I applied here.&lt;/p&gt;</description></item><item><title>[PART 1] Spring Boot - Multiple datasource (database) with JDBC and JPA</title><link>https://journal.robbi.my/posts/240929095904/</link><pubDate>Sun, 29 Sep 2024 09:59:04 +0800</pubDate><guid>https://journal.robbi.my/posts/240929095904/</guid><description>&lt;p&gt;Assalamualaikum and hello! Spring Boot&amp;rsquo;s streamlined development process makes it a popular choice for many developers.
However, configuring it for multiple databases can present challenges.
While there are various tutorials available, I&amp;rsquo;ve encountered issues with their completeness and clarity.
In this tutorial, I&amp;rsquo;ll provide a detailed solution to this problem.&lt;/p&gt;
&lt;h2 id="database"&gt;Database&lt;/h2&gt;
&lt;p&gt;We require a connection to two databases: an existing MSSQL database and a new PostgreSQL database.
The PostgreSQL database will be used for all standard CRUD operations (create, read, update, delete).
The MSSQL database will be accessed in a read-only manner to retrieve specific data without making any modifications to its structure or content.&lt;/p&gt;</description></item><item><title>Use this : PowerPing - Advanced Windows Ping</title><link>https://journal.robbi.my/posts/240709115136/</link><pubDate>Tue, 09 Jul 2024 23:51:36 +0800</pubDate><guid>https://journal.robbi.my/posts/240709115136/</guid><description>&lt;p&gt;Today I found one tool called as &amp;ldquo;PowerPing&amp;rdquo;, I found this tool while searching if there is any available OSS that can generate graph when ping to network.&lt;/p&gt;
&lt;p&gt;Look like it have lot of features and as advance tools of ping utilities as it claimed.&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;text&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;C:\ROBBI&amp;gt;.\PowerPing.exe --help
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PowerPing v1.3.5 (r0)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;__________ __________.__
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\______ \______ _ __ __________\______ \__| ____ ____
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; | ___/ _ \ \/ \/ // __ \_ __ \ ___/ |/ \ / ___\
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; | | ( &amp;lt;_&amp;gt; ) /\ ___/| | \/ | | | | \/ /_/ &amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; |____| \____/ \/\_/ \___ &amp;gt;__| |____| |__|___| /\___ /
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; \/ \//_____/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Description:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Advanced ping utility - Provides geoip querying, ICMP packet
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; customization, graphs and result colourization.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ping Arguments:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --infinite [--t] Ping the target until stopped (Ctrl-C to stop)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --ipv4 [--4] Force using IPv4
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --random [--rng] Generates random ICMP message
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --dontfrag [--df] Set &amp;#39;Don&amp;#39;t Fragment&amp;#39; flag
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --buffer [--rb] number Sets recieve buffer size (default is 5096)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --beep [--b] number Beep on timeout (1) or on reply (2)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --count [--c] number Number of pings to send
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --timeout [--w] number Time to wait for reply (in milliseconds)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --ttl [--i] number Time To Live for packet
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --interval [--in] number Interval between each ping (in milliseconds)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --type [--pt] number Use custom ICMP type
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --code [--pc] number Use custom ICMP code value
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --size [--s] number Set size (in bytes) of packet (overwrites packet message)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --message [--m] message Ping packet message
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --timing [--ti] timing Timing levels:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0 - Paranoid 4 - Nimble
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 1 - Sneaky 5 - Speedy
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 2 - Quiet 6 - Insane
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 3 - Polite 7 - Random
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Display Arguments:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --shorthand [--sh] Show less detailed replies
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --displaymsg [--dm] Display ICMP message field contents
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --timestamp [--ts] Display timestamps (add &amp;#39;UTC&amp;#39; for Coordinated Universal Time)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --fulltimestamp [--fts] Display full timestamps with localised date and time
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --nocolor [--nc] No colour
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --symbols [--sym] Renders replies and timeouts as ASCII symbols (add &amp;#39;1&amp;#39; for alt theme)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --requests [--r] Show request packets
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --notimeouts [--nt] Don&amp;#39;t display timeout messages
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --quiet [--q] No output (only affects normal ping)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --resolve [--res] Resolve hostname of response address from DNS
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --inputaddr [--ia] Show input address instead of revolved IP address
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --checksum [--chk] Display checksum of packet
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --requireinput [--ri] Always ask for user input upon completion
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --limit [--l] number Limits output to just replies(1), requests(2) or summary(3)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --decimals [--dp] number Num of decimal places to use (0 to 3)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --low number Defines the low response time threshold (which times are coloured green)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --mid number Defines the mid response time threshold (which times are coloured yellow)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --high number Defines the high response time threshold (which times are coloured red)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Modes:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --scan [--sc] address Network scanning, specify range &amp;#34;127.0.0.1-55&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --flood [--fl] address Send high volume of pings to address
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --graph [--g] address Graph view
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --location [--loc] address Location info for an address
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --listen [--li] address Listen for ICMP packets on specific address
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --listen [--li] Listen for ICMP packets on all local network adapters
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --whois address Whois lookup for an address
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --whoami Location info for current host
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Other:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --log [--f] path Logs ping output to a file (path is optional)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --help [--?] Displays this help message
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --version [--v] Shows version and build information
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Written by Matthew Carney [matthewcarney64@gmail.com]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;You can find the project and it&amp;#39;s source code here: https://github.com/Killeroo/PowerPing
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;C:\ROBBI&amp;gt;.\PowerPing.exe robbi.my --infinite --timestamp --shorthand --resolve --graph
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 100 ─┐
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ┤
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 90 ─┤ ▄
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ┤ █
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 80 ─┤ █▄ ▄
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ┤ ██ █ ▄ █
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 70 ─┤ ▄ ▄ ██ █ █ ██
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ┤ █ ▄ ▄█ █▄ ▄ ██▄ █ █ ██ █ ▄ ▄
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 60 ─┤ ▄█ █ ▄█ █ █▄▄ ██ ██ █ █ ██████ ▄██▄ ██ ███ █ ▄
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ┤█▄ ██ █ ██ █ ████▄ █ ██ ██▄█ ▄█ ██████ ▄███████████ █▄█ █
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Round 50 ─┤██ ██▄█████▄█ █████▄ ███████ ████▄ ▄ ▄█████████▄████████████▄▄██████
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Trip ┤██████████████████████████████████▄█▄████████████████████████████████
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Time 40 ─┤█████████████████████████████████████████████████████████████████████
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; (MS) ┤█████████████████████████████████████████████████████████████████████
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 30 ─┤█████████████████████████████████████████████████████████████████████
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ┤█████████████████████████████████████████████████████████████████████
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 20 ─┤█████████████████████████████████████████████████████████████████████
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ┤█████████████████████████████████████████████████████████████████████
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 10 ─┤█████████████████████████████████████████████████████████████████████
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ┤█████████████████████████████████████████████████████████████████████
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0 └▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀─
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Ping Statistics:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -----------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Destination [ robbi.my ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Sent: 100 Received: 100 Average: -65.3ms
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Current: 57.6ms Lost: 0 Peak: 89.7ms
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Time Elapsed: 00:01:54
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;C:\ROBBI&amp;gt;.\PowerPing.exe robbi.my --infinite --timestamp --shorthand --resolve
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Pinging 104.21.62.170 :
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Reply from: type=ECHO REPLY TTL=57 time=48.0ms @ 23:44:06
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Reply from: type=ECHO REPLY TTL=57 time=51.4ms @ 23:44:11
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Reply from: type=ECHO REPLY TTL=57 time=55.3ms @ 23:44:17
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Reply from: type=ECHO REPLY TTL=57 time=48.4ms @ 23:44:22
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Reply from: type=ECHO REPLY TTL=57 time=49.1ms @ 23:44:28
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--- Stats for 104.21.62.170 ---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; General: Sent [ 6 ], Received [ 5 ], Lost [ 0 ] (0% loss)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Times: Min [ 48.0ms ], Max [ 55.3ms ], Avg [ 50.4ms ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Types: Good [ 5 ], Errors [ 0 ], Unknown [ 0 ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Started at: 9/7/2024 11:44:01 PM (local time)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Runtime: 00:00:31.2&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The only withdraw is tool lack of documentation and only working on Windows CMD. I did try with powershell and git-windows, seem it does&amp;rsquo;t work properly. So, you must use it via CMD only.&lt;/p&gt;</description></item><item><title>scoop - next InitializeSecurityContext failed</title><link>https://journal.robbi.my/posts/240124105203/</link><pubDate>Wed, 24 Jan 2024 22:52:03 +0800</pubDate><guid>https://journal.robbi.my/posts/240124105203/</guid><description>&lt;p&gt;I&amp;rsquo;m encountering an issue updating my Scoop package on Windows, and it seems to be related to the &lt;code&gt;Windows Secure Channel&lt;/code&gt;.&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;text&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Windows PowerShell
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Copyright (C) Microsoft Corporation. All rights reserved.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PS C:\Users\robbi&amp;gt; scoop update *
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Updating Scoop...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;fatal: 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; unable to access &amp;#39;https://github.com/ScoopInstaller/Scoop/&amp;#39;: 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; schannel: next InitializeSecurityContext failed: Unknown error (0x80092013) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - The revocation function was unable to check revocation because the revocation server was offline.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Update failed.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This might be due to a company internal root CA certificate distributed via Active Directory, which could be blocking the update through the certificate chain.&lt;/p&gt;</description></item><item><title>Utilizing PowerShell and FFMPEG for M4A to MP3 Conversion</title><link>https://journal.robbi.my/posts/231229100022/</link><pubDate>Fri, 29 Dec 2023 22:00:22 +0800</pubDate><guid>https://journal.robbi.my/posts/231229100022/</guid><description>&lt;p&gt;I attempted to use the well-known &amp;lsquo;m4a-to-mp3-converter&amp;rsquo; from &lt;a href="https://www.maniactools.com/soft/m4a-to-mp3-converter/"&gt;maniactool&lt;/a&gt; to convert audio files from M4A to MP3 format, but unfortunately, it did not function as expected.&lt;/p&gt;
&lt;p&gt;Given that many media converters utilize the &amp;lsquo;FFMPEG&amp;rsquo; library, and without access to a pre-built solution for converting multiple M4A files to MP3, I opted to create my own using PowerShell.&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;powershell&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;param&lt;/span&gt; (
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [&lt;span style="color:#8be9fd;font-style:italic"&gt;Parameter&lt;/span&gt;(&lt;span style="color:#50fa7b"&gt;Mandatory&lt;/span&gt;=&lt;span style="color:#8be9fd;font-style:italic"&gt;$true&lt;/span&gt;)]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; [string[]]&lt;span style="color:#8be9fd;font-style:italic"&gt;$args&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; (&lt;span style="color:#8be9fd;font-style:italic"&gt;$args&lt;/span&gt;[&lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;] &lt;span style="color:#ff79c6"&gt;-eq&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#34;-all&amp;#34;&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;Write-Output&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;$args&lt;/span&gt;[&lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;foreach&lt;/span&gt; (&lt;span style="color:#8be9fd;font-style:italic"&gt;$file&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;Get-ChildItem&lt;/span&gt; -Filter *.m4a) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;$filename&lt;/span&gt; = &lt;span style="color:#8be9fd;font-style:italic"&gt;$file&lt;/span&gt;.BaseName
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ffmpeg -i &lt;span style="color:#8be9fd;font-style:italic"&gt;$file&lt;/span&gt;.FullName -c:v &lt;span style="color:#8be9fd;font-style:italic"&gt;copy &lt;/span&gt;-c:a libmp3lame -q:a &lt;span style="color:#bd93f9"&gt;4&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$filename&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;.mp3&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} &lt;span style="color:#ff79c6"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;foreach&lt;/span&gt; (&lt;span style="color:#8be9fd;font-style:italic"&gt;$var&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;$args&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;$filename&lt;/span&gt; = (&lt;span style="color:#8be9fd;font-style:italic"&gt;Get-Item&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;$var&lt;/span&gt;).BaseName
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ffmpeg -i &lt;span style="color:#8be9fd;font-style:italic"&gt;$var&lt;/span&gt; -c:v &lt;span style="color:#8be9fd;font-style:italic"&gt;copy &lt;/span&gt;-c:a libmp3lame -q:a &lt;span style="color:#bd93f9"&gt;4&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;$filename&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;.mp3&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;it just a simple parser script. Here the output:&lt;/p&gt;</description></item><item><title>HEBAHAN: NET MINGGUAN RPK (2023-12-16)</title><link>https://journal.robbi.my/posts/231216054345/</link><pubDate>Sat, 16 Dec 2023 17:43:45 +0800</pubDate><guid>https://journal.robbi.my/posts/231216054345/</guid><description>&lt;p&gt;&lt;img src="../../img/RPK.webp" alt=""
 class="mx-auto block cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;
&lt;div class="admonition adm-note"&gt;
 &lt;span class="adm-icon" aria-hidden="true"&gt;ℹ️&lt;/span&gt;
 &lt;div class="adm-body"&gt;
 &lt;div class="adm-title"&gt;🛰️ TEMA NET : NET MINGGUAN RPK (Rakan PTT Kita)&lt;/div&gt;
 &lt;div&gt;&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;text&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;NCS BERTUGAS : 9W3LDO 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;OPERATOR : LOBAI 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;QTH : JUASEH,KUALA PIHAL,N9
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TARIKH : 16 Dec 2023
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MASA : Sabtu 21:00MYT / 13:00UTC 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PLATFORM : ZELLO RAKAN PTT KITA&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;▶️ TUJUAN&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Merapatkan Hubungan Peminat Radio Dua Hala serta Dunia Komunikasi melalui gelombang Internet dan Mempelajari Ilmu Radio Amatur&lt;/p&gt;</description></item><item><title>μSDX OWNERS DX WEEKENDS 🇲🇾</title><link>https://journal.robbi.my/posts/230801065004/</link><pubDate>Tue, 01 Aug 2023 18:50:04 +0800</pubDate><guid>https://journal.robbi.my/posts/230801065004/</guid><description>&lt;p&gt;&lt;img src="https://journal.robbi.my/posts/230801065004/POSTER-1-HEALING-SAMPAI-MALAM.png" alt="Malaysian uSDX Owner Weekend 2023" title="Malaysian uSDX Owner Weekend 2023 with 9M4CPJ | Poster design by 9W2NSP"
 class="mx-auto block cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;Assalamualaikum and hello guys! Today, I&amp;rsquo;d like to share something related to amateur radio. A few days ago, I participated in an event called the &lt;strong&gt;Malaysian uSDX Owner Weekend 2023&lt;/strong&gt;, which took place from the 28th to the 30th of July, 2023.&lt;/p&gt;
&lt;p&gt;This is an indie event organized by ham radio enthusiasts around Malaysia. The theme was set as the &amp;ldquo;&lt;strong&gt;Outing DXing Weekend&lt;/strong&gt;,&amp;rdquo; during which HAM operators are encouraged to go portable by camping or engaging in other outdoor activities while operating QRP radios.&lt;/p&gt;</description></item><item><title>Django logger (my personal favourite format)</title><link>https://journal.robbi.my/posts/230309102851/</link><pubDate>Thu, 09 Mar 2023 22:28:51 +0800</pubDate><guid>https://journal.robbi.my/posts/230309102851/</guid><description>&lt;p&gt;Personally, I do lot of programming using JAVA and &lt;code&gt;log4j&lt;/code&gt; is my favourite package that I use on my project.. but sometimes I also use PYTHON and been using DJANGO framework
because of it simplicity and easier to deploy.&lt;/p&gt;
&lt;p&gt;When I use DJANGO, I still prefer to have &lt;code&gt;logger&lt;/code&gt; on each of importance line of code (LoC) so I can trace back what actually happened when the code are executed.&lt;/p&gt;</description></item><item><title>Beautify `JSON` on web browser without addons</title><link>https://journal.robbi.my/posts/230303113521/</link><pubDate>Fri, 03 Mar 2023 23:35:21 +0800</pubDate><guid>https://journal.robbi.my/posts/230303113521/</guid><description>&lt;p&gt;Hi everyone! Nowadays, most of developers use a notation on data structure representation that called as &lt;code&gt;JSON&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The nested and super-long single or multilines key/values, it will be a great pleasure if the &lt;code&gt;JSON&lt;/code&gt; are well formatted and beautify for easy reading by human.&lt;/p&gt;
&lt;p&gt;Unfortunately, &lt;strong&gt;some company are blocking their user from installing addons&lt;/strong&gt;. Which make it someone who need to read the &lt;code&gt;JSON&lt;/code&gt; data, for example whom work as developer over there.&lt;/p&gt;</description></item><item><title>Python 🐍 - active screen cursor movement</title><link>https://journal.robbi.my/posts/230303011110/</link><pubDate>Fri, 03 Mar 2023 13:11:10 +0800</pubDate><guid>https://journal.robbi.my/posts/230303011110/</guid><description>&lt;p&gt;Sometimes, I need to let the computer running so I can monitor &lt;code&gt;logs&lt;/code&gt; or make some application not goes to sleep.
So I use this python script to make random mouse movement and pressing some keyboard stroke on some interval of time.&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;python&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; time &lt;span style="color:#ff79c6"&gt;as&lt;/span&gt; t
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; random &lt;span style="color:#ff79c6"&gt;as&lt;/span&gt; rand
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;from&lt;/span&gt; pynput.mouse &lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; Controller &lt;span style="color:#ff79c6"&gt;as&lt;/span&gt; mouseController
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;from&lt;/span&gt; pynput.keyboard &lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; Key, Controller, Listener
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; keyboard &lt;span style="color:#ff79c6"&gt;as&lt;/span&gt; keyb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# This function will move the cursor and &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# press &amp;#39;space&amp;#39; every couple of seconds&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;def&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;active_cursor_mover&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; start &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; t&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;time()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mouse &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; mouseController()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; keyboard &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; Controller()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;while&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;True&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;# Random movements&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; movedirX &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; rand&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;randint(&lt;span style="color:#ff79c6"&gt;-&lt;/span&gt;&lt;span style="color:#bd93f9"&gt;100&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;100&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; movedirY &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; rand&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;randint(&lt;span style="color:#ff79c6"&gt;-&lt;/span&gt;&lt;span style="color:#bd93f9"&gt;100&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;100&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mouse&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;move(movedirX, movedirY)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; keyboard&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;press(Key&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;space)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;# Every _ seconds&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; t&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;sleep(&lt;span style="color:#bd93f9"&gt;2.0&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;-&lt;/span&gt; ((t&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;time() &lt;span style="color:#ff79c6"&gt;-&lt;/span&gt; start) &lt;span style="color:#ff79c6"&gt;%&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;2&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;__name__&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;==&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; active_cursor_mover()&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You need 2 python package to make it run&lt;/p&gt;</description></item><item><title>JOTA 2022 - JOSRAC (Batu Pahat, Johor, Malaysia)</title><link>https://journal.robbi.my/posts/221014045807/</link><pubDate>Fri, 14 Oct 2022 16:58:07 +0800</pubDate><guid>https://journal.robbi.my/posts/221014045807/</guid><description>&lt;p&gt;&lt;img src="https://journal.robbi.my/posts/221014045807/JOSTAC-JOTA-2022.png" alt="JOTA 2022" title="JOTA 2022 - design and edit by Robbi (CC BY-NC-SA 4.0)"
 class="mx-auto block cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;Just updating my blogpost to show the JOTA 2022 poster that I designed for JOSRAC Batu Pahat radio amateur club - &lt;a href="https://journal.robbi.my/tags/9m4cpj/"&gt;9M4CPJ&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>JOTA 2021 - JOSRAC (Batu Pahat, Johor, Malaysia)</title><link>https://journal.robbi.my/posts/211014121028/</link><pubDate>Thu, 14 Oct 2021 12:10:28 +0800</pubDate><guid>https://journal.robbi.my/posts/211014121028/</guid><description>&lt;p&gt;&lt;img src="https://journal.robbi.my/posts/211014121028/JOTA-JOSRAC-2021.png" alt="JOTA 2021 - design and edit by Robbi" title="Background credit: [Flickr/azmeen](https://www.flickr.com/photos/azmeen/3343544252/) (CC-BY 2.0) | design and edit by Robbi (CC BY-NC-SA 4.0)"
 class="cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;It been a while after our JOTA/JOTI (Jamboree On The Air / Internet) activity since last year (which unfortunately, I not able to join because of temporary movement restriction set by Malaysia goverment).&lt;/p&gt;
&lt;p&gt;But currently (just few day ago), our beloved Pak Mail the prime minister give permission for all Malaysian to move and travel freely after &lt;a href="https://robbinespu.gitlab.io/posts/indieweb/211012114728/"&gt;more than 90%&lt;/a&gt; of Malaysia&amp;rsquo;s adult population have been fully vaccinated ( I not agree about the decision for now, you may read &lt;a href="https://robbinespu.gitlab.io/posts/indieweb/211012055843/"&gt;here&lt;/a&gt;, the average infection rate are still higher and seem goverment reduce the testing purposely?).&lt;/p&gt;</description></item><item><title>Hugo "GetJSON" now support HTTP Header</title><link>https://journal.robbi.my/posts/211009124047/</link><pubDate>Sat, 09 Oct 2021 12:40:47 +0800</pubDate><guid>https://journal.robbi.my/posts/211009124047/</guid><description>&lt;p&gt;TIL that hugo actually support custom HTTP headers to be use together with &lt;code&gt;getJSON&lt;/code&gt; function which means you not anymore limited to just use or call API that have &lt;code&gt;token=xxx&lt;/code&gt; on URL parameter anymore. Now you can use some header such as &lt;code&gt;Authorization&lt;/code&gt; (example: Bearer, OAuth and more).&lt;/p&gt;
&lt;p&gt;The implementation is quite simple just create a &lt;code&gt;dictionary&lt;/code&gt; data and put the information inside and bind it together with &lt;code&gt;getJSON&lt;/code&gt; as second parameter.&lt;/p&gt;</description></item><item><title>Cawbird - Linux Twitter Client</title><link>https://journal.robbi.my/posts/210905102438/</link><pubDate>Sun, 05 Sep 2021 22:24:38 +0800</pubDate><guid>https://journal.robbi.my/posts/210905102438/</guid><description>&lt;p&gt;&lt;img src="https://journal.robbi.my/posts/210905102438/5il80mp.png" alt="" title="Cawbird"
 class="float-right ml-4 mb-2 cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;

Peace be upon you and hello everyone!&lt;/p&gt;
&lt;p&gt;Have you heard &lt;strong&gt;&lt;a href="https://github.com/baedert/corebird"&gt;Corebird&lt;/a&gt;&lt;/strong&gt; before? It a twitter client for linux desktop user but the project (and others 3rd party twitter client) stopped when Twitter decide to remove &amp;ldquo;UserStream API&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Twitter actually replace that API with new ones called &amp;ldquo;Accounts Activity API&amp;rdquo;, but the Corebird developer stated it too difficult to implement and he may not have much time for development anymore. So the project was discontinue since 2018 and honestly, Corebird are the best GUI twitter client for linux.&lt;/p&gt;</description></item><item><title>Hugo Conversation Dialog</title><link>https://journal.robbi.my/posts/210902121740/</link><pubDate>Thu, 02 Sep 2021 12:17:40 +0800</pubDate><guid>https://journal.robbi.my/posts/210902121740/</guid><description>&lt;div class="conversation not-prose flex gap-4 my-6 items-start"&gt;
 &lt;div class="w-16 flex-shrink-0"&gt;
 &lt;img src="https://journal.robbi.my/img/optimus-prime-tile.png" alt="Optimus Prime" class="w-16 h-16 rounded-lg object-cover border border-base-300" loading="lazy" /&gt;
 &lt;/div&gt;
 &lt;div class="flex-1 font-mono text-sm leading-relaxed text-base-content/80 pt-1"&gt;
 &amp;lt;&lt;strong class="text-primary font-bold"&gt;Optimus Prime&lt;/strong&gt;&amp;gt; Were we so different? They&amp;rsquo;re a young species. They have much to learn. But I&amp;rsquo;ve seen goodness in them. Freedom is the right of all sentient beings.
 &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Hello everyone.. do you see conversation dialog strip above from Optimus Prime? Well, it my new Hugo features and I really like this kind of dialog stuff. It kinda cool and nostalgic too&amp;hellip;&lt;/p&gt;</description></item><item><title>Delete / purge data from 3rd party social media periodically</title><link>https://journal.robbi.my/posts/210825085132/</link><pubDate>Wed, 25 Aug 2021 08:51:32 +0800</pubDate><guid>https://journal.robbi.my/posts/210825085132/</guid><description>&lt;p&gt;Have you ever thought about deleting your old content? Especially on centralize social media such as Twitter, Facebook, Instagram and many more.. which we are well aware that they will track, analyze and use your metadata and content for a certain purpose that only benefit for them self.&lt;/p&gt;
&lt;p&gt;Social network is not likely same as when you start register on they website. This is what you should expect anyway. They put you on free trial mode and let you lurk around and catch you connection, likes, post and more. After a certain period, you won&amp;rsquo;t notice they does not care much about us connecting with friends, it just want us to consume content as much as possible on their platform - while generating ad revenue. No matter what social media you use, they want you to be addict to they social network.&lt;/p&gt;</description></item><item><title>Ubuntu Chromium DEB file are actually snap wrapper</title><link>https://journal.robbi.my/posts/210730122225/</link><pubDate>Fri, 30 Jul 2021 12:22:25 +0800</pubDate><guid>https://journal.robbi.my/posts/210730122225/</guid><description>&lt;p&gt;&lt;img src="https://journal.robbi.my/posts/210730122225/sIoDOKw.png" alt="" title="malicious files, it actually using Chromium snap package"
 class="mx-auto block cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;The screenshot taken is the latest &lt;a href="https://bazaar.launchpad.net/~chromium-team/chromium-browser/focal-stable/view/head:/chromium-browser"&gt;rev:head&lt;/a&gt; (currently when the post published) of chromium-browser/focal package files repository. I really surprise about this kind of packaging. Oh my God, how comes this is allowable?&lt;/p&gt;
&lt;p&gt;Seems it start putting and using wrapper to use snap on &lt;a href="https://bazaar.launchpad.net/~chromium-team/chromium-browser/focal-stable/files/1505?remember=1550"&gt;rev:1505&lt;/a&gt;, correct me if I wrong because I don&amp;rsquo;t use &lt;code&gt;bazaar&lt;/code&gt; source code management so much compare to &lt;code&gt;cvs&lt;/code&gt;, &lt;code&gt;mercurial&lt;/code&gt; and &lt;code&gt;git&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Control Your Snap Package</title><link>https://journal.robbi.my/posts/210730085657/</link><pubDate>Fri, 30 Jul 2021 08:56:57 +0800</pubDate><guid>https://journal.robbi.my/posts/210730085657/</guid><description>&lt;p&gt;Press &lt;strong&gt;&lt;a href="#how-to-control-and-configure-your-snap-stuff"&gt;here&lt;/a&gt;&lt;/strong&gt; to skip the rant&lt;/p&gt;
&lt;p&gt;I checking my email today and saw &lt;em&gt;Bret Busby&lt;/em&gt; posted on Ubuntu-users mailing-list asking about &lt;a href="https://lists.ubuntu.com/archives/ubuntu-users/2021-July/304651.html"&gt;&amp;ldquo;How do we disable the snap stuff&amp;rdquo;&lt;/a&gt; and likely it trigger some Ubuntu kipas-susah-mati replies when he typed:&lt;/p&gt;


 &lt;blockquote&gt;
 &lt;p&gt;As this snap stuff &lt;mark class="bg-warning/30 px-1 rounded"&gt;can not be trusted&lt;/mark&gt;
 to not make &lt;mark class="bg-warning/30 px-1 rounded"&gt;unauthorised changes&lt;/mark&gt;

, and, cannot be trusted to not &lt;mark class="bg-warning/30 px-1 rounded"&gt;sabotage the system operation&lt;/mark&gt;

(this unauthorised snap interference probably explains the error
messages that I have been getting, about incomplete and partial
upgrades and resultant systems instability across my systems), how do
we disable this &lt;mark class="bg-warning/30 px-1 rounded"&gt;malicious snap&lt;/mark&gt;
 thing?&lt;/p&gt;</description></item><item><title>Hugo with Math (KaTeX + mmark)</title><link>https://journal.robbi.my/posts/210714032414/</link><pubDate>Wed, 14 Jul 2021 15:24:14 +0800</pubDate><guid>https://journal.robbi.my/posts/210714032414/</guid><description>&lt;h2 id="intro"&gt;Intro&lt;/h2&gt;
&lt;p&gt;I not good with math but sometimes I need to use math notation to explain something.
So I try to find if &lt;code&gt;Hugo&lt;/code&gt; have built-in math syntax, but seem it not there. On Jekyll, I can use MathJax but it terribly slow and broke it it take times too long to render the formulas, then I found the alternative for MathJax and it called as &lt;strong&gt;KaTeX&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;As usual, stuff like this are depend on CSS and JavaScript programming, so here we are. There is no need to re-invent
too much because KaTeX already prepare the CDN for us to use.&lt;/p&gt;</description></item><item><title>Changelog / History</title><link>https://journal.robbi.my/about/changelog/</link><pubDate>Fri, 25 Jun 2021 21:49:16 +0800</pubDate><guid>https://journal.robbi.my/about/changelog/</guid><description>&lt;h2 id="version-10---12-blogger-drupal-and-wp"&gt;Version 1.0 - 1.2 (Blogger, Drupal and WP)&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://journal.robbi.my/about/changelog/Screenshot_20210625_215855.png" alt=""
 class="mx-auto block cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;Look at that! This is my first design for my personal blog. I just use &lt;a href="https://robbinespu.blogspot.com/"&gt;blogger platform + blogspot domain&lt;/a&gt; at this time, thus theme a self redesign based on existing basic theme from a blog (I forgot her name, but she are undergrad from UTeM that time).&lt;/p&gt;
&lt;p&gt;The reason, I start write a blog is because my lecturer &lt;a href="https://robbinespu.github.io/ms/2018/05/17/Goodbye_my_prof_madya_haji_sazali_khalidon.html"&gt;Profesor Madya Dr Hj Mohd Sazali (allahyarham)&lt;/a&gt;, encourage everyone to wrote. He said it okey if you can&amp;rsquo;t publish paper or book, but you can write a blog. Make it something useful as amal jariah (benefaction) to everyone who read it.&lt;/p&gt;</description></item><item><title>Hugo Toc (Table of Content) with spoiler</title><link>https://journal.robbi.my/posts/210624010826/</link><pubDate>Thu, 24 Jun 2021 13:08:26 +0800</pubDate><guid>https://journal.robbi.my/posts/210624010826/</guid><description>&lt;p&gt;I wonder how to create ToC (Table of Content) using Hugo and it seem much easier compare to Jekyll, because it have built in function &lt;code&gt;{{ .Page.TableOfContents }}&lt;/code&gt; that ready to use . But I still need hacking the some files, to make it prettier. I will document it and share here.&lt;/p&gt;

&lt;nav id="TableOfContents"&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#set-suitable-variable-on-configyml"&gt;Set suitable variable on &lt;code&gt;config.yml&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#add-new-shortcode-template"&gt;Add new &lt;code&gt;shortcode&lt;/code&gt; template&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#some-touch-up-and-make-up"&gt;Some touch-up and make-up&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#read-to-use"&gt;Read to use&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/nav&gt;

&lt;h2 id="set-suitable-variable-on-configyml"&gt;Set suitable variable on &lt;code&gt;config.yml&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Open &lt;code&gt;config.yml&lt;/code&gt; and put snippet provided below on your file. You know how to find it right?&lt;/p&gt;</description></item><item><title>One To Many - Many To One (JPA and Hibernate)</title><link>https://journal.robbi.my/posts/210607120000/</link><pubDate>Mon, 07 Jun 2021 00:00:00 +0000</pubDate><guid>https://journal.robbi.my/posts/210607120000/</guid><description>&lt;nav id="TableOfContents"&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#intro"&gt;Intro&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#database-design"&gt;Database design&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#unidirectional-implementation"&gt;Unidirectional implementation&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#model"&gt;Model&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#table---customer"&gt;Table - Customer&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#table---cart"&gt;Table - Cart&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#details-and-explaination"&gt;Details and explaination&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#bidirectional-implementation"&gt;Bidirectional implementation&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#model-1"&gt;Model&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#table---customer-1"&gt;Table - Customer&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#table---order"&gt;Table - Order&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#details-and-explaination-1"&gt;Details and explaination&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#side-note"&gt;Side note&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#conclusion"&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/nav&gt;

&lt;h2 id="intro"&gt;Intro&lt;/h2&gt;
&lt;p&gt;Nowadays, programming evolve and growth rapidly from time to time but most of problem and issue that we want to solve have same design concept in many ways.&lt;/p&gt;
&lt;p&gt;Today, I want to wrote something about relational database system. The topic today are about &lt;code&gt;one-to-many&lt;/code&gt; / &lt;code&gt;many-to-one&lt;/code&gt; association relationship. It about a links of multiple tables based on a FK (Foreign Key) column which that the child table record references back to the PK (Primary Key) of the parent table row data. I also will touch &lt;code&gt;unidirectional&lt;/code&gt; and &lt;code&gt;bidirectional&lt;/code&gt; propagation.&lt;/p&gt;</description></item><item><title>How to write issues / bug report?</title><link>https://journal.robbi.my/posts/210606100700/</link><pubDate>Sun, 06 Jun 2021 22:07:00 +0800</pubDate><guid>https://journal.robbi.my/posts/210606100700/</guid><description>&lt;p&gt;To be honest, there are many articles written before on this very subject but I gonna write it based on what I learned and experienced working with european, asian company and my involvement with opensource and proprietary software. This 5 criteria helps you getting a clear report and getting fast response.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Stay cool&lt;/strong&gt; - Don’t expect all of your issue to be accepted and paid for (bug bounty?). You should report it ASAP if you found problems and collect all log, screenshot or any evidance to prove what you want to tell. You might missed something and the expertise such as developer may ask you more stuff and guide you how to get it, some won&amp;rsquo;t but please do stop youself from reporting.&lt;/p&gt;</description></item><item><title>KURSUS PRE SKIPPER BASIC (PENGAKAP LAUT)</title><link>https://journal.robbi.my/posts/210501085900/</link><pubDate>Sat, 01 May 2021 20:59:00 +0000</pubDate><guid>https://journal.robbi.my/posts/210501085900/</guid><description>&lt;nav id="TableOfContents"&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#pengenalan"&gt;Pengenalan&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#apa-itu-kursus-pra-skipper-basic"&gt;Apa itu kursus pra-skipper basic?&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#pendaftaran"&gt;Pendaftaran&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#jadual-perjalanan-aktiviti"&gt;Jadual perjalanan aktiviti&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#sesi-pengenalan-dan-ceramah"&gt;Sesi pengenalan dan ceramah&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#pembelajaran-kendiri-dan-kuiz"&gt;pembelajaran kendiri dan kuiz&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#sidang-terbuka-dan-majlis-penutup"&gt;sidang terbuka dan majlis penutup&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#kesimpulan"&gt;Kesimpulan&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/nav&gt;

&lt;p&gt;&lt;img src="https://journal.robbi.my/posts/210501085900/4g3vbB.jpg" alt="vgy.me"
 class="mx-auto block cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;
&lt;h2 id="pengenalan"&gt;Pengenalan&lt;/h2&gt;
&lt;p&gt;Assalamualaikum wbt dan salam pengakap, dahulu saya pernah post satu artikel posting &lt;a href="https://journal.robbi.my/blog/2021/01/04/manikayu-pengenalan-online-ppm-johor/"&gt;kursus manikayu pengenalan&lt;/a&gt; dan kali ini saya akan kongsikan pengalaman mengikuti kursus anjuran Persekutuan Pengakap Malaysia (PPM) iaitu &lt;strong&gt;Kursus Pre-Skipper Basic Online&lt;/strong&gt; (Pengakap Laut) yang di anjurkan secara atas talian pada 24 April 2021 hingga 1 May 2021.&lt;/p&gt;</description></item><item><title>Kod Q radio amatur</title><link>https://journal.robbi.my/posts/210111054100/</link><pubDate>Mon, 11 Jan 2021 05:41:00 +0000</pubDate><guid>https://journal.robbi.my/posts/210111054100/</guid><description>&lt;p&gt;Secara umumnya, Q kod adalah bertujuan untuk meringkaskan percakapan atau suatu perbualan antara pengendali amatur.&lt;/p&gt;
&lt;p&gt;Berikut adalah Q Kod yang terdapat dalam komunikasi Radio Amatur:-&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Kod&lt;/th&gt;
 &lt;th&gt;Maksud&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;QRA&lt;/td&gt;
 &lt;td&gt;Nama stesen kendalian / Handling Network&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QRK&lt;/td&gt;
 &lt;td&gt;Apakah jelas tahap pancaran(sebutan saya)/ legibility of my signals (R1 to R5)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QRL&lt;/td&gt;
 &lt;td&gt;Frekuensi sibuk atau sedang diguna / Are you busy?&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QRM&lt;/td&gt;
 &lt;td&gt;Ada gangguan frekuensi dari stesen lain / Are you being interfered with?&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QRO&lt;/td&gt;
 &lt;td&gt;Meminta tingkatkan kuasa pancaran? / High power&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QRP&lt;/td&gt;
 &lt;td&gt;Meminta rendahkan kuasa pancaran / Low power&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QRT&lt;/td&gt;
 &lt;td&gt;Berhenti memancar @ keluar dari frekuensi / stop transmission&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QRU&lt;/td&gt;
 &lt;td&gt;Tiada sebarang mesej yang ingin disampaikan @ sekian sahaja dari saya / I have nothing for you&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QRV&lt;/td&gt;
 &lt;td&gt;Adakah anda sudah bersedia / Are you ready&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QRX&lt;/td&gt;
 &lt;td&gt;Berhenti seketika / Will call you again at&amp;hellip;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QRZ&lt;/td&gt;
 &lt;td&gt;Siapa yang memanggil? / By whom am i being called?&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QSA&lt;/td&gt;
 &lt;td&gt;Apakah kekuatan signal saya / What is the strength of my signal (S1-S5)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QSB&lt;/td&gt;
 &lt;td&gt;Adakah pancaran saya menurun / Does the strength of my signal vary?&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QSD&lt;/td&gt;
 &lt;td&gt;Pemancaran tidak dapat difahami / Bad signal&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QSL&lt;/td&gt;
 &lt;td&gt;Pemancaran jelas dan difahami / Acknowledgement receipt&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QSN&lt;/td&gt;
 &lt;td&gt;Pemancaran dapat di dengar / I can heard clearly&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QSO&lt;/td&gt;
 &lt;td&gt;Sedang berkomunikasi di radio / Communicate with&amp;hellip;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QSP&lt;/td&gt;
 &lt;td&gt;Memaklumkan menyampaikan mesej kepada pihak ke-3 / Will you relay to&amp;hellip;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QST&lt;/td&gt;
 &lt;td&gt;Membuat pengumuman dalam frekuensi / Announcement to all amateurs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QSY&lt;/td&gt;
 &lt;td&gt;Bertukar ke frekuensi lain / Shall i change to&amp;hellip;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QTH&lt;/td&gt;
 &lt;td&gt;Apakah lokasi anda / What is your location&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QTR&lt;/td&gt;
 &lt;td&gt;Sekarang jam berapa? / What is the exact time?&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Callsign yang tidak dibenarkan di Malaysia</title><link>https://journal.robbi.my/posts/210108092500/</link><pubDate>Fri, 08 Jan 2021 09:25:00 +0000</pubDate><guid>https://journal.robbi.my/posts/210108092500/</guid><description>&lt;p&gt;Tengah-tengah cari info tambahan untuk persediakan ujian radio amatur (RAE), terjumpa satu dokomen iaitu &amp;ldquo;&lt;strong&gt;Guideline on the Allocation of Call Sign to the Amateur Radio Service&lt;/strong&gt;&amp;rdquo; bertarikh 26 Mac 2015.&lt;/p&gt;
&lt;p&gt;Di sini ada diberi tahu:&lt;/p&gt;


 &lt;blockquote&gt;
 &lt;p&gt;20: The combination of certain letters in a call sign may gene rate
unacceptable words such as 9M2SEX or words that sound indecent such as
9M2AQR or cause confusion with the Q code series, reserved by the ITU for
the other services are restricted. The restricted call signs are listed in
&amp;lsquo;Attachment I&amp;rsquo; and will not be assigned.&lt;/p&gt;</description></item><item><title>MANIKAYU PERINGKAT PENGENALAN PPM NEGERI JOHOR</title><link>https://journal.robbi.my/posts/210104025900/</link><pubDate>Mon, 04 Jan 2021 02:59:00 +0000</pubDate><guid>https://journal.robbi.my/posts/210104025900/</guid><description>&lt;p&gt;Assalamualaikum wbt, rasa dah lama tak update pasal berpengakap ni kat dalam blog. Jadi saya fikir nak update sedikit lah cerita berkaitan dengan pengakap.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://journal.robbi.my/posts/210104025900/64HnnO.png" alt=""
 class="mx-auto block cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;Pada bulan lepas saya telah menyertai kursus manikayu pengenalan, yang menariknya aktiviti ini dijalankan secara virtual iaitu secara atas talian / online.&lt;/p&gt;
&lt;p&gt;Saya mendapat maklumat kursus ini daripada sahabat pengakap saya yang tinggal di Batu Pahat, Johor. Dia adalah kenalan Kelana Komunikasi Negeri Johor (M.10187) juga dikenali sebagai JOSRAC atau KELKOM, dia memberitahu saya ada kursus manikayu pengenalan dan meminta saya menyertainya. To be honest, saya juga ternanti-nanti kursus manikayu pengenalan ni sebab dah 2 kali saya missed sebab ada tak ngam masa.&lt;/p&gt;</description></item><item><title>Fedora - dnf history with fedora-repos-archive</title><link>https://journal.robbi.my/posts/210101055200/</link><pubDate>Fri, 01 Jan 2021 05:52:00 +0000</pubDate><guid>https://journal.robbi.my/posts/210101055200/</guid><description>&lt;p&gt;Fedora use &lt;code&gt;dnf&lt;/code&gt; as package manager and &lt;code&gt;dnf&lt;/code&gt;have option to see transaction history and undo/rollback the transaction.&lt;/p&gt;
&lt;p&gt;For example I updated &lt;code&gt;icecat&lt;/code&gt; web browser via &lt;code&gt;dnf update icecat&lt;/code&gt; to newer version that just released and then after installed the newer package, I can check and see my last transaction history :&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ dnf &lt;span style="color:#8be9fd;font-style:italic"&gt;history&lt;/span&gt; info last
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Transaction ID : &lt;span style="color:#bd93f9"&gt;15&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Begin &lt;span style="color:#8be9fd;font-style:italic"&gt;time&lt;/span&gt; : Thu &lt;span style="color:#bd93f9"&gt;31&lt;/span&gt; Dec &lt;span style="color:#bd93f9"&gt;2020&lt;/span&gt; 09:31:29 AM +08
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Begin rpmdb : 1448:392d27370be7608526fcef0475d4bee78ebffc22
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;End &lt;span style="color:#8be9fd;font-style:italic"&gt;time&lt;/span&gt; : Thu &lt;span style="color:#bd93f9"&gt;31&lt;/span&gt; Dec &lt;span style="color:#bd93f9"&gt;2020&lt;/span&gt; 09:31:47 AM +08 &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;&lt;span style="color:#bd93f9"&gt;18&lt;/span&gt; seconds&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;End rpmdb : 1448:46959b33ef3c9604fe74ec6a98b5d13771f73f3b
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;User : robbi &amp;lt;robbi&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Return-Code : Success
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Releasever : &lt;span style="color:#bd93f9"&gt;33&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Command Line : update icecat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Comment :
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Packages Altered:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Upgrade icecat-78.6.0-2.rh1.fc33.x86_64 @updates
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Upgraded icecat-78.5.0-2.rh2.fc33.x86_64 @@System&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;As we can see, I just updated my &lt;code&gt;icecat&lt;/code&gt; web browser from &lt;em&gt;78.5.0-2.rh2.fc33&lt;/em&gt; to &lt;em&gt;78.6.0-2.rh1.fc33&lt;/em&gt; via &lt;code&gt;dnf&lt;/code&gt; at 31 Dec 2020 09:31:29 AM.&lt;/p&gt;</description></item><item><title>Fedora - koji kernel regression testing</title><link>https://journal.robbi.my/posts/201231084500/</link><pubDate>Thu, 31 Dec 2020 08:45:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201231084500/</guid><description>&lt;p&gt;I will show how to get latest kernel from Koji for testing purpose. For your infomation, Koji build packages take times to appear on &lt;code&gt;updates-testing&lt;/code&gt; repository.&lt;/p&gt;
&lt;p&gt;The faster way to get latest kernel the is manually download from Koji. As example here, on this blog post I will show how I will load kernel &lt;code&gt;kernel-5.10.4-200&lt;/code&gt; to my Fedora 33 Workstation.&lt;/p&gt;
&lt;p&gt;Firstly check the latest success build kernel &lt;a href="https://koji.fedoraproject.org/koji/packageinfo?packageID=8"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For example, I will use this build&lt;/p&gt;</description></item><item><title>Setup SSH login without password (windows)</title><link>https://journal.robbi.my/posts/201210071100/</link><pubDate>Thu, 10 Dec 2020 19:11:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201210071100/</guid><description>&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Currently on Windows with MingGW64 terminal&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MINGW64_NT-10.0-18363 AYAM-ITEK-KAMBING 3.1.6-340.x86_64 2020-07-09 14:33 UTC x86_64 Msys
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# we must make sure the permissions to files and folders are correct&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ chmod &lt;span style="color:#bd93f9"&gt;600&lt;/span&gt; ~/.ssh/authorized_keys 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ chmod &lt;span style="color:#bd93f9"&gt;700&lt;/span&gt; ~/.ssh/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# copy the public key contents from LOCAL MACHINE to REMOTE MACHINE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ ssh-copy-id -i ~/.ssh/id_rsa.pub robbi@172.217.24.174 -p2222
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/usr/bin/ssh-copy-id: INFO: Source of key&lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;s&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; to be installed: &lt;span style="color:#f1fa8c"&gt;&amp;#34;~/.ssh/id_rsa.pub&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key&lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;s&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;, to filter out any that are already installed
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/usr/bin/ssh-copy-id: INFO: &lt;span style="color:#bd93f9"&gt;1&lt;/span&gt; key&lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;s&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; remain to be installed -- &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; you are prompted now it is to install the new keys
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Number of key&lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;s&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; added: &lt;span style="color:#bd93f9"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Now try logging into the machine, with: &lt;span style="color:#f1fa8c"&gt;&amp;#34;ssh -p &amp;#39;2222&amp;#39; &amp;#39;robbi@172.217.24.174&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;and check to make sure that only the key&lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;s&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; you wanted were added.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# try to ssh into remote machine&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ ssh robbi@172.217.24.174 -p &lt;span style="color:#bd93f9"&gt;2222&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Last login: Fri Dec &lt;span style="color:#bd93f9"&gt;11&lt;/span&gt; 03:02:27 &lt;span style="color:#bd93f9"&gt;2020&lt;/span&gt; from 10.0.2.2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;[&lt;/span&gt;robbi@r0x ~&lt;span style="color:#ff79c6"&gt;]&lt;/span&gt;$ uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Linux r0x 5.9.11-200.fc33.x86_64 &lt;span style="color:#6272a4"&gt;#1 SMP Tue Nov 24 18:18:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;[&lt;/span&gt;robbi@r0x ~&lt;span style="color:#ff79c6"&gt;]&lt;/span&gt;$ cat /etc/fedora-release
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Fedora release &lt;span style="color:#bd93f9"&gt;33&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;Thirty Three&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>How to disable ICMP ping replies (linux)</title><link>https://journal.robbi.my/posts/201208014200/</link><pubDate>Tue, 08 Dec 2020 01:42:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201208014200/</guid><description>&lt;p&gt;Few weeks ago during server setup phase for one of my project, I notice there is no &lt;code&gt;ICMP&lt;/code&gt; or &lt;code&gt;ping&lt;/code&gt; replies from server and some port are not able to access.&lt;/p&gt;
&lt;p&gt;I told the network engineer to check and seem they blocking the ports and disabling ICMP replies from their firewall configuration.&lt;/p&gt;
&lt;p&gt;From that accident I do some google-fu if I can do same thing for personal computer / server. We can setting the &lt;code&gt;kernel variable&lt;/code&gt; or use &lt;code&gt;iptable&lt;/code&gt; to disable &lt;code&gt;ICMP / ping&lt;/code&gt; replies if requested.&lt;/p&gt;</description></item><item><title>Use this - RSS Guard [Windows / Linux/ Mac]</title><link>https://journal.robbi.my/posts/201203120000/</link><pubDate>Thu, 03 Dec 2020 00:00:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201203120000/</guid><description>&lt;p&gt;Do you like reading blog or website for information, review, tweak and update? Then how you do it? Let me guess, you use web browser, type the url or click the bookmark and enjoy the articles?&lt;/p&gt;
&lt;p&gt;I also like to read like you do but I don&amp;rsquo;t like randomly visit the web url, save a lot of bookmark and open so many tabs on my browser, as alternative I use aggregator to collect and notify me if the web url have new article published on they website.&lt;/p&gt;</description></item><item><title>Sending JSON data file using CURL to API endpoint</title><link>https://journal.robbi.my/posts/201130102300/</link><pubDate>Mon, 30 Nov 2020 10:23:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201130102300/</guid><description>&lt;p&gt;I developed warehouse system and use restful as communication method between our software and client software. We let end point of our system to talk each other with API designed.&lt;/p&gt;
&lt;p&gt;For simple and small test using Postman or SOAP-UI is enough for me but to when to test this system with massive data via API is quite headache, plus the mock features on Postman limited and not &amp;ldquo;mocking&amp;rdquo; enough as I want.&lt;/p&gt;</description></item><item><title>Scoutlink vhost unaffiliated cloak</title><link>https://journal.robbi.my/posts/201128024000/</link><pubDate>Sat, 28 Nov 2020 02:40:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201128024000/</guid><description>&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;text&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/msg hostserv request what.the.heck
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt;hostserv&amp;lt; request what.the.heck
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-HostServ- Invalid command. Use /msg HostServ help for a command listing
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/msg hostserv offerlist
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt;hostserv&amp;lt; offerlist
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-HostServ- vhost:user.scoutlink.net, creator:wojo (Feb 06 12:55:58 2011 +0000)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-HostServ- End of list.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/msg hostserv take user.scoutlink.net
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt;hostserv&amp;lt; take user.scoutlink.net
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-HostServ- You have taken vhost user.scoutlink.net.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* users.scoutlink.net sets mode -x on rnm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/msg hostserv group
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt;hostserv&amp;lt; group
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-HostServ- All vhosts in the group rnm have been set to user.scoutlink.net
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/whois rnm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* [rnm] (~rnm@user.scoutlink.net): rnm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* [rnm] is connecting from ~rnm@xyz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* [rnm] #malay #english
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* [rnm] clovehitch.scoutlink.net :Rack42, Azure - North Europe
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* [rnm] is using modes +
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* [rnm] is logged in as rnm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* [rnm] End of WHOIS list.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Freenode vhost unaffiliated cloak</title><link>https://journal.robbi.my/posts/201128120000/</link><pubDate>Sat, 28 Nov 2020 00:00:00 +0800</pubDate><guid>https://journal.robbi.my/posts/201128120000/</guid><description>&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;text&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:32 AM * Now talking on #freenode
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:32 AM * Topic for #freenode is: Welcome to #freenode | Don&amp;#39;t copy/paste spam | No politics. | Feel free to message staff at any time. You can find us using /stats p (shows immediately-available staff) or /who freenode/staff/* (shows all staff)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:32 AM * Topic for #freenode set by deadk (Sun Nov 1 08:52:30 2020)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:32 AM -ChanServ- [#freenode] Please read the topic.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:32 AM * Channel #freenode url: https://freenode.net/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:35 AM &amp;lt;rnm&amp;gt; hi, may I have an unaffiliated cloak?
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:35 AM &amp;lt;jess&amp;gt; rnm: gateway cloaks override unaffiliated cloaks, so if i give you an unaffiliated cloak, it won&amp;#39;t show over your tor cloak
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:36 AM &amp;lt;rnm&amp;gt; i not always using tor
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:36 AM &amp;lt;SoyLunafan&amp;gt; hello everyone
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:36 AM &amp;lt;jess&amp;gt; rnm: i&amp;#39;ve assigned a cloak to your account then
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:36 AM &amp;lt;fgh&amp;gt; Unless you had a script thingy to make it look like you&amp;#39;re always chatting
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:36 AM &amp;lt;rnm&amp;gt; thanks jess :)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10:37 AM &amp;lt;jess&amp;gt; np&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Posix - Speed up "find" + "exec" command (recursive)</title><link>https://journal.robbi.my/posts/201108111900/</link><pubDate>Sun, 08 Nov 2020 11:19:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201108111900/</guid><description>&lt;p&gt;I learn some trick today on how to speed up &lt;code&gt;find&lt;/code&gt;, &lt;code&gt;exec&lt;/code&gt; command. Let check this out:&lt;/p&gt;
&lt;div class="code-block my-6"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;
 &lt;svg class="inline size-[1em] me-1 align-text-bottom" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"&gt;&lt;path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/&gt;&lt;/svg&gt;
 gist · RobbiNespu
 &lt;/span&gt;
 &lt;a href="https://gist.github.com/RobbiNespu/aa81b691956d4283912e65762a69e094" target="_blank" rel="noopener" class="code-copy"&gt;View on GitHub ↗&lt;/a&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# let see how many files we have
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ find . -type f | wc -l
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;36367
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# lets check every file status
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ time find . -type f -exec stat {} \; &amp;gt; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;real 0m40.107s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user 0m14.381s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sys 0m26.410s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# lets check every file status
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ time find . -type f -exec stat {} + &amp;gt; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;real 0m1.281s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user 0m0.626s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sys 0m0.656s&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;p&gt;Wow that’s quite a huge difference! Impressive! All we did was swap the &lt;code&gt;\;&lt;/code&gt; for a &lt;code&gt;+&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Perbezaan pengaturcaraan Java dan C#</title><link>https://journal.robbi.my/posts/201014022900/</link><pubDate>Wed, 14 Oct 2020 14:29:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201014022900/</guid><description>&lt;nav id="TableOfContents"&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#pengenalan"&gt;Pengenalan&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#jvm-dan-net"&gt;JVM dan .Net&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#kata-kunci-dan-konvensi"&gt;kata kunci dan konvensi&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#java-package"&gt;Java package&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#c-namespace"&gt;C# namespace&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#sintaks"&gt;Sintaks&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#java-menghalang-subclassing-menggunakan-final"&gt;Java: Menghalang subclassing menggunakan &lt;code&gt;final&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#c-menghalang-subclassing-menggunakan-sealed"&gt;C#: Menghalang subclassing menggunakan &lt;code&gt;sealed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#rujukan-reference-dan-nilai-value"&gt;Rujukan (reference) dan nilai (value)&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#metadata"&gt;Metadata&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#java-annotations"&gt;Java: Annotations&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#c-attributes"&gt;C#: Attributes&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#getters-and-setters"&gt;Getters and setters&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#pointer"&gt;Pointer&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#bersambung"&gt;&amp;hellip;bersambung&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/nav&gt;

&lt;h2 id="pengenalan"&gt;Pengenalan&lt;/h2&gt;
&lt;p&gt;Kat Malaysia ni, ada tiga keturunan bahasa pengaturcaran yang duduk dalam kategori majoriti iaitu Java, PHP dan C#. Mungkin ada yang tak setuju, well kenyataan tadi cumalah pendapat dan pengalaman peribadi.&lt;/p&gt;</description></item><item><title>Fedora - KDE development journey (Qt5X11Extras)</title><link>https://journal.robbi.my/posts/201010011000/</link><pubDate>Sat, 10 Oct 2020 13:10:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201010011000/</guid><description>&lt;p&gt;I tried to build &lt;code&gt;kwindowsystem&lt;/code&gt; but seem I am missing some package dependencies:&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rnm@b0x &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;~/kde/src/kdesrc-build&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ kdesrc-build kwindowsystem
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Updating sysadmin-repo-metadata &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;to branch master&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Stashing &lt;span style="color:#8be9fd;font-style:italic"&gt;local&lt;/span&gt; changes &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; any...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Building extra-cmake-modules from frameworks &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;1/2&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Updating extra-cmake-modules &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;to branch master&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Stashing &lt;span style="color:#8be9fd;font-style:italic"&gt;local&lt;/span&gt; changes &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; any...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; No changes to extra-cmake-modules source, proceeding to build.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Compiling... succeeded &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;after &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt; seconds&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Installing.. succeeded &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;after &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt; seconds&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Building kwindowsystem from frameworks &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;2/2&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; No &lt;span style="color:#8be9fd;font-style:italic"&gt;source&lt;/span&gt; update, but the last configure failed
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Updating kwindowsystem &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;to branch master&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Stashing &lt;span style="color:#8be9fd;font-style:italic"&gt;local&lt;/span&gt; changes &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; any...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Source update &lt;span style="color:#8be9fd;font-style:italic"&gt;complete&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; kwindowsystem: no files affected
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Preparing build system &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; kwindowsystem.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Removing files in build directory &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; kwindowsystem
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Old build system cleaned, starting new build system.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Running cmake targeting Unix Makefiles...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Unable to configure kwindowsystem with CMake!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Unable to configure kwindowsystem with KDE
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt; PACKAGES SUCCESSFULLY BUILT &amp;gt;&amp;gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;extra-cmake-modules
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Removing &lt;span style="color:#bd93f9"&gt;1&lt;/span&gt; out of &lt;span style="color:#bd93f9"&gt;3&lt;/span&gt; old log directories...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt; PACKAGES FAILED TO BUILD &amp;gt;&amp;gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kwindowsystem - ~/kde/src/log/2020-10-10-01/kwindowsystem/cmake.log
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Important notification &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; kwindowsystem:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; kwindowsystem has failed to build &lt;span style="color:#bd93f9"&gt;5&lt;/span&gt; times.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; You can check https://build.kde.org/search/?q&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;kwindowsystem to see &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; this is expected.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;:-&lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Your logs are saved in file:///home/rnm/kde/src/log/2020-10-10-01
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rnm@b0x &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;~/kde/src/kdesrc-build&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ cat ~/kde/src/log/2020-10-10-01/kwindowsystem/cmake.log
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# kdesrc-build running: &amp;#39;cmake&amp;#39; &amp;#39;/home/rnm/kde/src/kwindowsystem&amp;#39; &amp;#39;-G&amp;#39; &amp;#39;Unix Makefiles&amp;#39; &amp;#39;-DCMAKE_BUILD_TYPE=RelWithDebInfo&amp;#39; &amp;#39;-DBUILD_TESTING=TRUE&amp;#39; &amp;#39;-DCMAKE_CXX_FLAGS:STRING=-pipe&amp;#39; &amp;#39;-DCMAKE_INSTALL_PREFIX=/home/rnm/kde/usr&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# from directory: /home/rnm/kde/build/kwindowsystem&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The C compiler identification is GNU 10.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The CXX compiler identification is GNU 10.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compiler ABI info
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compiler ABI info - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Check &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; working C compiler: /usr/bin/cc - skipped
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compile features
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compile features - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compiler ABI info
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compiler ABI info - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Check &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; working CXX compiler: /usr/bin/c++ - skipped
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compile features
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compile features - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Installing in /home/rnm/kde/usr. Run /home/rnm/kde/build/kwindowsystem/prefix.sh to &lt;span style="color:#8be9fd;font-style:italic"&gt;set&lt;/span&gt; the environment &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; KWindowSystem.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; __GLIBC__
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; __GLIBC__ - found
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test _OFFT_IS_64BIT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test _OFFT_IS_64BIT - Success
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test HAVE_DATE_TIME
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test HAVE_DATE_TIME - Success
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Found X11: /usr/include 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; XOpenDisplay in /usr/lib64/libX11.so
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; XOpenDisplay in /usr/lib64/libX11.so - found
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; gethostbyname
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; gethostbyname - found
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; connect
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; connect - found
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; remove
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; remove - found
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; shmat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; shmat - found
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; IceConnectionNumber in ICE
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; IceConnectionNumber in ICE - found
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Found PkgConfig: /usr/bin/pkg-config &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;found version &lt;span style="color:#f1fa8c"&gt;&amp;#34;1.7.3&amp;#34;&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Found XCB_XCB: /usr/lib64/libxcb.so &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;found version &lt;span style="color:#f1fa8c"&gt;&amp;#34;1.13.1&amp;#34;&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Found XCB_KEYSYMS: /usr/lib64/libxcb-keysyms.so &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;found version &lt;span style="color:#f1fa8c"&gt;&amp;#34;0.4.0&amp;#34;&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Found XCB_RES: /usr/lib64/libxcb-res.so &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;found version &lt;span style="color:#f1fa8c"&gt;&amp;#34;1.13.1&amp;#34;&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Found XCB: /usr/lib64/libxcb.so;/usr/lib64/libxcb-keysyms.so;/usr/lib64/libxcb-res.so &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;found version &lt;span style="color:#f1fa8c"&gt;&amp;#34;1.13.1&amp;#34;&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; found components: XCB KEYSYMS RES 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CMake Error at /usr/lib64/cmake/Qt5/Qt5Config.cmake:28 &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;find_package&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Could not find a package configuration file provided by &lt;span style="color:#f1fa8c"&gt;&amp;#34;Qt5X11Extras&amp;#34;&lt;/span&gt; with
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; any of the following names:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Qt5X11ExtrasConfig.cmake
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; qt5x11extras-config.cmake
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Add the installation prefix of &lt;span style="color:#f1fa8c"&gt;&amp;#34;Qt5X11Extras&amp;#34;&lt;/span&gt; to CMAKE_PREFIX_PATH or &lt;span style="color:#8be9fd;font-style:italic"&gt;set&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#34;Qt5X11Extras_DIR&amp;#34;&lt;/span&gt; to a directory containing one of the above files. If
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#34;Qt5X11Extras&amp;#34;&lt;/span&gt; provides a separate development package or SDK, be sure it
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; has been installed.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Call Stack &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;most recent call first&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; CMakeLists.txt:69 &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;find_package&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Configuring incomplete, errors occurred!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;See also &lt;span style="color:#f1fa8c"&gt;&amp;#34;/home/rnm/kde/build/kwindowsystem/CMakeFiles/CMakeOutput.log&amp;#34;&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;After awhile, I found the solution, I actually just need to install &lt;code&gt;qt5-qtx11extras-devel&lt;/code&gt; package from Fedora to allow &lt;code&gt;cmake&lt;/code&gt; found the dependencies needed and everything is working fine now.&lt;/p&gt;</description></item><item><title>Fedora - KDE development journey (Qt5UiPlugin)</title><link>https://journal.robbi.my/posts/201009095834/</link><pubDate>Fri, 09 Oct 2020 21:58:34 +0800</pubDate><guid>https://journal.robbi.my/posts/201009095834/</guid><description>&lt;p&gt;I getting compiler error when trying to build &lt;code&gt;kwidgetsaddons&lt;/code&gt;. The error log said:&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# kdesrc-build running: &amp;#39;cmake&amp;#39; &amp;#39;/home/rnm/kde/src/kwidgetsaddons&amp;#39; &amp;#39;-G&amp;#39; &amp;#39;Unix Makefiles&amp;#39; &amp;#39;-DCMAKE_BUILD_TYPE=RelWithDebInfo&amp;#39; &amp;#39;-DBUILD_TESTING=TRUE&amp;#39; &amp;#39;-DCMAKE_CXX_FLAGS:STRING=-pipe&amp;#39; &amp;#39;-DCMAKE_INSTALL_PREFIX=/home/rnm/kde/usr&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# from directory: /home/rnm/kde/build/kwidgetsaddons&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The C compiler identification is GNU 10.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The CXX compiler identification is GNU 10.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compiler ABI info
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compiler ABI info - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Check &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; working C compiler: /usr/bin/cc - skipped
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compile features
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compile features - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compiler ABI info
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compiler ABI info - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Check &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; working CXX compiler: /usr/bin/c++ - skipped
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compile features
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compile features - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Installing in /home/rnm/kde/usr. Run /home/rnm/kde/build/kwidgetsaddons/prefix.sh to &lt;span style="color:#8be9fd;font-style:italic"&gt;set&lt;/span&gt; the environment &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; KWidgetsAddons.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; __GLIBC__
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; __GLIBC__ - found
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test _OFFT_IS_64BIT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test _OFFT_IS_64BIT - Success
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test HAVE_DATE_TIME
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test HAVE_DATE_TIME - Success
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- At least one python version must be available to use PythonModuleGeneration.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The following features have been enabled:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; * DESIGNERPLUGIN, Build plugin &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; Qt Designer
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The following REQUIRED packages have been found:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; * ECM &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;required version &amp;gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; 5.75.0&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;, Extra CMake Modules., &amp;lt;https://commits.kde.org/extra-cmake-modules&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; * Qt5Gui &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;required version &amp;gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; 5.15.1&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; * Qt5Widgets
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; * Qt5Test
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; * Qt5 &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;required version &amp;gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; 5.12.0&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The following features have been disabled:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; * QCH, API documentation in QCH format &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; e.g. Qt Assistant, Qt Creator &amp;amp; KDevelop&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The following OPTIONAL packages have not been found:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; * PythonModuleGeneration
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The following REQUIRED packages have not been found:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; * Qt5UiPlugin
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Required to build Qt Designer plugins
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CMake Error at /usr/share/cmake/Modules/FeatureSummary.cmake:457 &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;message&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; feature_summary&lt;span style="color:#ff79c6"&gt;()&lt;/span&gt; Error: REQUIRED package&lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;s&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; are missing, aborting CMake
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; run.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Call Stack &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;most recent call first&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; CMakeLists.txt:89 &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;feature_summary&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Configuring incomplete, errors occurred!
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;See also &lt;span style="color:#f1fa8c"&gt;&amp;#34;/home/rnm/kde/build/kwidgetsaddons/CMakeFiles/CMakeOutput.log&amp;#34;&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;It said we need &lt;code&gt;qt5-qttools-devel&lt;/code&gt; package and their dependencies to be installed.&lt;/p&gt;</description></item><item><title>Fedora rawhide + everything : bare-bones minimal KDE</title><link>https://journal.robbi.my/posts/201005011200/</link><pubDate>Mon, 05 Oct 2020 01:12:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201005011200/</guid><description>&lt;p&gt;The goal of this articles is how to get a bare-bones KDE desktop from Fedora rawhide everything installer. I&amp;rsquo;d welcome any suggestions and comments to improve it.&lt;/p&gt;
&lt;p&gt;Let me remind before we proceed, Fedora rawhide is &lt;code&gt;pre-release / testing / master / current development / rolling&lt;/code&gt; version of Fedora. Please read &lt;a href="https://fedoraproject.org/wiki/Releases/Rawhide"&gt;here&lt;/a&gt; for more details. If you are novice and not advance user, please don&amp;rsquo;t follow this tutorial, it not stable and &amp;ldquo;new unreport wild bugs&amp;rdquo; may appears and you will have problem to troubleshoot.&lt;/p&gt;</description></item><item><title>Fedora - KDE development journey (Qt5Qml / qmake)</title><link>https://journal.robbi.my/posts/201005051200/</link><pubDate>Mon, 05 Oct 2020 05:12:00 +0800</pubDate><guid>https://journal.robbi.my/posts/201005051200/</guid><description>&lt;h2 id="qt5qml-qt5-qtdeclarative-devel"&gt;Qt5Qml qt5-qtdeclarative-devel&lt;/h2&gt;
&lt;p&gt;I getting compiler error when trying to build &lt;code&gt;ki18n&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The error log said:&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ cat ~/kde/src/log/2020-10-05-02/ki18n/cmake.log 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# kdesrc-build running: &amp;#39;cmake&amp;#39; &amp;#39;/home/rnm/kde/src/ki18n&amp;#39; &amp;#39;-G&amp;#39; &amp;#39;Unix Makefiles&amp;#39; &amp;#39;-DCMAKE_BUILD_TYPE=RelWithDebInfo&amp;#39; &amp;#39;-DBUILD_TESTING=TRUE&amp;#39; &amp;#39;-DCMAKE_CXX_FLAGS:STRING=-pipe&amp;#39; &amp;#39;-DCMAKE_INSTALL_PREFIX=/home/rnm/kde/usr&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# from directory: /home/rnm/kde/build/ki18n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The C compiler identification is GNU 10.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- The CXX compiler identification is GNU 10.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compiler ABI info
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compiler ABI info - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Check &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; working C compiler: /usr/bin/cc - skipped
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compile features
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting C compile features - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compiler ABI info
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compiler ABI info - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Check &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; working CXX compiler: /usr/bin/c++ - skipped
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compile features
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Detecting CXX compile features - &lt;span style="color:#ff79c6"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Installing in /home/rnm/kde/usr. Run /home/rnm/kde/build/ki18n/prefix.sh to &lt;span style="color:#8be9fd;font-style:italic"&gt;set&lt;/span&gt; the environment &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; KI18n.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; __GLIBC__
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Looking &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; __GLIBC__ - found
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test _OFFT_IS_64BIT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test _OFFT_IS_64BIT - Success
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test HAVE_DATE_TIME
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Performing Test HAVE_DATE_TIME - Success
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CMake Error at CMakeLists.txt:42 &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;find_package&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Could not find a package configuration file provided by &lt;span style="color:#f1fa8c"&gt;&amp;#34;Qt5Qml&amp;#34;&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;requested
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; version 5.12.0&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt; with any of the following names:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Qt5QmlConfig.cmake
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; qt5qml-config.cmake
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Add the installation prefix of &lt;span style="color:#f1fa8c"&gt;&amp;#34;Qt5Qml&amp;#34;&lt;/span&gt; to CMAKE_PREFIX_PATH or &lt;span style="color:#8be9fd;font-style:italic"&gt;set&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#34;Qt5Qml_DIR&amp;#34;&lt;/span&gt; to a directory containing one of the above files. If &lt;span style="color:#f1fa8c"&gt;&amp;#34;Qt5Qml&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; provides a separate development package or SDK, be sure it has been
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; installed.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-- Configuring incomplete, errors occurred!&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Where the heck is &lt;strong&gt;&amp;ldquo;Qt5Qml&amp;rdquo;&lt;/strong&gt; ? I try my luck and I am right, the package from repository that I need to be install are &lt;code&gt;qt5-qtdeclarative-devel&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Upgrade Suse Linux Enterprise Server 11 SP1 to SP4</title><link>https://journal.robbi.my/posts/200927032600/</link><pubDate>Sun, 27 Sep 2020 03:26:00 +0000</pubDate><guid>https://journal.robbi.my/posts/200927032600/</guid><description>&lt;p&gt;As I mentioned &lt;a href="https://journal.robbi.my/blog/2020/09/25/sles-11-set-dns/"&gt;previously&lt;/a&gt;, SLES11 is already absolute / not supported anymore. Even most official tutorial are wipe out form suse website.&lt;/p&gt;
&lt;p&gt;I will write how I updating my SLES11 to SP4. I don&amp;rsquo;t have SP1 but it should be work the same as SP2 upgrade to SP3 and SP3 to SP4.&lt;/p&gt;
&lt;p&gt;So this is my machine&lt;/p&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-header font-mono"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;div class="code-window-controls"&gt;
 &lt;button class="code-copy" onclick="copyCode(this)" title="Copy to clipboard"&gt;📋 Copy&lt;/button&gt;
 &lt;span class="ctrl-min"&gt;&lt;/span&gt;
 &lt;span class="ctrl-max"&gt;&lt;/span&gt;
 &lt;span class="ctrl-close"&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="code-content"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;VM-b0x:convey69:/convey69&amp;gt; uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Linux VM-b0x 3.0.42-0.7-default &lt;span style="color:#6272a4"&gt;#1 SMP Tue Oct 9 11:58:45 UTC 2012 (a8dc443) x86_64 x86_64 x86_64 GNU/Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;VM-b0x:convey69:/convey69&amp;gt; cat /etc/SuSE-release
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;SUSE Linux Enterprise Server &lt;span style="color:#bd93f9"&gt;11&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;(&lt;/span&gt;x86_64&lt;span style="color:#ff79c6"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;VERSION&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;11&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;PATCHLEVEL&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;why update? Because it better to get recent patch, fix OS vulnerabilities and update kernel (anything as latest we could get! So please do not ask me why need update)&lt;/p&gt;</description></item><item><title>SLES 11 - set DNS manually</title><link>https://journal.robbi.my/posts/200925073700/</link><pubDate>Fri, 25 Sep 2020 07:37:00 +0000</pubDate><guid>https://journal.robbi.my/posts/200925073700/</guid><description>&lt;p&gt;Hell yeah, I know SLES11 is absolute / not supported anymore. The latest version are SLES11 SP4, but I still using it on my test
Refreshing service &amp;rsquo;nu_novell_com&amp;rsquo;.server. Hmm.. sometimes I forgot how to configure DNS on Suse Linux Enteprise Server (SLES) 11 then I believe puts public notes on my weblog will be great for everyone reference!&lt;/p&gt;
&lt;p&gt;back to the topic, setup dns is easier to just overwrite generated file &lt;code&gt;/etc/resolv.conf&lt;/code&gt; directly&lt;/p&gt;</description></item><item><title>Patching cvs files using patch manually and how to revert it</title><link>https://journal.robbi.my/posts/200922013400/</link><pubDate>Tue, 22 Sep 2020 01:34:00 +0800</pubDate><guid>https://journal.robbi.my/posts/200922013400/</guid><description>&lt;p&gt;Assalamualaikum and hello everyone!&lt;/p&gt;
&lt;p&gt;Today, I gonna put my note how to patch file using &amp;ldquo;patch&amp;rdquo; (linux utility tool). Have you using it? Well, please read &lt;a href="https://linux.die.net/man/1/patch"&gt;https://linux.die.net/man/1/patch&lt;/a&gt; if you are looking for standard manual from man pages.&lt;/p&gt;
&lt;p&gt;I know it already 2020 and yes, someone like me are still using CVS.&lt;/p&gt;
&lt;p&gt;CVS (Concurrent Version Control) is very old source code control but it still use nowadays for certain project, even BSD ports still using CVS. To be honest, I don’t like CVS but because it they only SCM (source control management) tool for certain project.&lt;/p&gt;</description></item><item><title>Use this - GrepWin [Windows]</title><link>https://journal.robbi.my/posts/200730040157/</link><pubDate>Thu, 30 Jul 2020 16:01:57 +0800</pubDate><guid>https://journal.robbi.my/posts/200730040157/</guid><description>&lt;p&gt;If you are linux enthusiast users then you know how to &amp;ldquo;grep&amp;rdquo; and how useful this tools.&lt;/p&gt;
&lt;p&gt;Sadly, there is no built - in tool on Windows that can beat &amp;ldquo;grep&amp;rdquo;. So I looking for third party software and found this tool called as &amp;ldquo;&lt;strong&gt;GrepWin&lt;/strong&gt;&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;It licensed under &amp;ldquo;GPL-3.0 License&amp;rdquo;. Oh, please take note it only can be use if you are using Windows 7 SP1 and above, It won&amp;rsquo;t work on Windows XP or Vista!&lt;/p&gt;</description></item><item><title>mambang.org.my - Oshirix operating system (linux)</title><link>https://journal.robbi.my/posts/200623112500/</link><pubDate>Tue, 23 Jun 2020 11:25:00 +0800</pubDate><guid>https://journal.robbi.my/posts/200623112500/</guid><description>&lt;p&gt;Bismillahirrahmanirrahim,&lt;/p&gt;

&lt;nav id="TableOfContents"&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#pengenalan---aku-dan-mambang"&gt;Pengenalan - aku dan mambang&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#portal-mambang-dan-asal-usul"&gt;Portal Mambang dan asal-usul&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#apa-itu-oshirix-"&gt;Apa itu OshiriX ?&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#ciptaan-komuniti-mambang"&gt;Ciptaan komuniti Mambang&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#kesimpulan"&gt;Kesimpulan&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/nav&gt;

&lt;p&gt;Assalamualaikum wbt dan salam sejahtera kepada semua pembaca..&lt;/p&gt;
&lt;p&gt;Ok kali ni aku nak cover-up sebuah portal dan produk yang dah hilang dari radar since 2014 (kalau tak silap) hingga kini. Penulisan ini adalah berdasarkan penglibatan aku secara tak langsung dan pengalaman bersama komuniti tersebut.&lt;/p&gt;
&lt;p&gt;Komuniti &amp;ldquo;Mambang.org&amp;rdquo; atau &amp;ldquo;Mambang.org.my&amp;rdquo; atau lebih mudah disebut &amp;ldquo;Mambang&amp;rdquo; adalah sebuah komuniti opensource tempatan yang sangat berahsia binti misteri tapi mempunyai banyak khazanah dan produk yang bagus.&lt;/p&gt;</description></item><item><title>Throwback: Web based programming workshop, FSKTM, UTHM 2014</title><link>https://journal.robbi.my/indieweb/200310120000/</link><pubDate>Tue, 10 Mar 2020 00:00:00 +0000</pubDate><guid>https://journal.robbi.my/indieweb/200310120000/</guid><description>&lt;p&gt;&lt;img src="https://journal.robbi.my/indieweb/200310120000/slider_webteach.png" alt="PHP workshop UTHM" title="Web based programming workshop 14-15 Nov 2014, FSKTM, UTHM"
 class="mx-auto block cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;I dig out some old blogspot (my previous personal blog) and I saw one old post about Web based programming workshop which I involve as training instructor. This workshop is proudly organized by ITC (Information Technology Club), FSKTM, HEPA and UTHM.&lt;/p&gt;
&lt;p&gt;I cover lot of basic and advance topic which is never covered by anyone else during past web based workshop. I expose web framework (using CodeIgniter that time), MVC, HMVC concept to them. I very happy when my knowledges been pass down to the participant and hopefully they will use it for good.&lt;/p&gt;</description></item><item><title>Pendaftaran Keahlian Kelana Laut D Daerah Pontian Johor</title><link>https://journal.robbi.my/posts/200124054300/</link><pubDate>Fri, 24 Jan 2020 17:43:00 +0800</pubDate><guid>https://journal.robbi.my/posts/200124054300/</guid><description>&lt;p&gt;&lt;img src="https://journal.robbi.my/posts/200124054300/sNHNcwvq_o.png" alt="" title="Pendaftaran Keahlian Kelana Laut D Daerah Pontian Johor"
 class="cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;</description></item><item><title>Working motivation</title><link>https://journal.robbi.my/indieweb/191203042244/</link><pubDate>Tue, 03 Dec 2019 16:22:44 +0800</pubDate><guid>https://journal.robbi.my/indieweb/191203042244/</guid><description>&lt;p&gt;Let&amp;rsquo;s talk about work, so what is &lt;em&gt;&lt;strong&gt;WORK&lt;/strong&gt;&lt;/em&gt; really mean for we all? &amp;#x1f60e;&lt;/p&gt;
&lt;p&gt;Every person on earth have work to do. I not talking just about jobs, don&amp;rsquo;t be confuse. No matter who you are either as office boy or CEO or student or mother or anything else, work has a really important role in anyone’s life. Do you agree with me?&lt;/p&gt;
&lt;h2 id="there-is-some-things-that-really-help-us-do-our-work-nicely"&gt;There is some things that really help us do our work nicely.&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Be early or arrive on time. Don’t be late without giving a heads up to the other party.&lt;/li&gt;
&lt;li&gt;Think logically and what sequences will happen to you and others before making any decision.&lt;/li&gt;
&lt;li&gt;Keep the communication lines open and keep it confidential. Be Honest with everyone.&lt;/li&gt;
&lt;li&gt;If you are facing a difficulty just admit it, don’t let your ego come in between.&lt;/li&gt;
&lt;li&gt;There are always things that could be difficult, persistent hard work is the only way to crack them.&lt;/li&gt;
&lt;li&gt;Don’t fall victim of easy goals, work with full passion on whatever you have decided.&lt;/li&gt;
&lt;li&gt;Don’t think much about other things, just concentrate on your work.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="most-important-things"&gt;Most important things:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;No work is too small, everything teaches you something new.&lt;/li&gt;
&lt;li&gt;Life is too short to waste on useless arguments.&lt;/li&gt;
&lt;li&gt;Keep your mouth shut when you don’t have something useful to contribute.&lt;/li&gt;
&lt;li&gt;Read books, expend your mind and improve your skills.&lt;/li&gt;
&lt;li&gt;Challenge your limits. Don&amp;rsquo;t limit your challenge.&lt;/li&gt;
&lt;li&gt;Read well, write well.&lt;/li&gt;
&lt;li&gt;Exercise, eat healty food and rest.&lt;/li&gt;
&lt;li&gt;Action speak louder then words!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Are you satisfied with the life you are living right now, or do you think that you deserve more?&lt;/p&gt;</description></item><item><title>Setup python 3.6 enviroment with virtualenv</title><link>https://journal.robbi.my/posts/190723090000/</link><pubDate>Tue, 23 Jul 2019 09:00:00 +0800</pubDate><guid>https://journal.robbi.my/posts/190723090000/</guid><description>&lt;p&gt;My wife ask me to convert few of PDF files to Excell spreadsheet. I did same thing last year by creating some small scripting program in python to do the conversion, but I don&amp;rsquo;t know where I put my code right now. Maybe lost during formating my laptop last year..haha &amp;#x1f61c;&lt;/p&gt;
&lt;p&gt;I am 懒 right now (guess what I wrote in hànzì) and I don&amp;rsquo;t remember how I did last time. Hahaha.. With my Google-fu skill, I found out DfTables offer free API for converting document to another format. Nice! &amp;#x1f62c;&lt;/p&gt;</description></item><item><title>About</title><link>https://journal.robbi.my/about/</link><pubDate>Thu, 28 Feb 2019 00:00:00 +0000</pubDate><guid>https://journal.robbi.my/about/</guid><description>&lt;p&gt;Hi everyone and welcome to my website!&lt;/p&gt;
&lt;p&gt;My name is &lt;strong&gt;&lt;a href="https://journal.robbi.my/posts/my-name/"&gt;Robbi Nespu&lt;/a&gt;&lt;/strong&gt; (&lt;code&gt;he/him/his&lt;/code&gt;), but I usually go by the nickname &amp;ldquo;&lt;strong&gt;Rob&lt;/strong&gt;&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;I’m a 90s kid, born and raised in Malaysia 🇲🇾 , I can speak Bahasa Melayu (natively) and English (to be honest, I also learned Japanese and Mandarin language but rarely use it).&lt;/p&gt;
&lt;p&gt;My personality type is &lt;a href="https://www.16personalities.com/isfp-personality"&gt;Adventurer
ISFP-A&lt;/a&gt;, that why I become full stack software engineer, open source enthusiast and radio amateur hobbyist who likes homebrew and exploring.&lt;/p&gt;</description></item></channel></rss>