<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Little Kenneth]]></title><description><![CDATA[I'm not short, I am vertically-challenged. Weird, not nerd. Rants. Thoughts. Whatever.]]></description><link>https://littlekenneth.xyz/</link><image><url>https://littlekenneth.xyz/favicon.png</url><title>Little Kenneth</title><link>https://littlekenneth.xyz/</link></image><generator>Ghost 5.70</generator><lastBuildDate>Thu, 09 Oct 2025 21:05:20 GMT</lastBuildDate><atom:link href="https://littlekenneth.xyz/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Privacy and Me]]></title><description><![CDATA[Privacy is like an underwear, you don't want to just show it to anyone. They either have to get permission, or earn your trust.]]></description><link>https://littlekenneth.xyz/privacy-and-me/</link><guid isPermaLink="false">62f1eb901b870f82ab0f290e</guid><category><![CDATA[Privacy]]></category><category><![CDATA[Firefox]]></category><category><![CDATA[Addons]]></category><dc:creator><![CDATA[Kenneth Sungcaya]]></dc:creator><pubDate>Sat, 29 May 2021 14:11:51 GMT</pubDate><media:content url="https://littlekenneth.xyz/content/images/2021/05/Privacy-and-Me.jpg" medium="image"/><content:encoded><![CDATA[<blockquote>Privacy is like an underwear, you don&apos;t want to just show it to anyone. They either have to get permission, or earn your trust.</blockquote><img src="https://littlekenneth.xyz/content/images/2021/05/Privacy-and-Me.jpg" alt="Privacy and Me"><p>I just made that ^ up. So in order to protect my underwear, errmm, privacy, I have these online habits below. Yes, this is very opinionated and I don&apos;t care, go home.</p><h3 id="add-ons">Add-ons</h3><p>Cookies and trackers are often generated when we click an ad. While not all trackers/cookies are bad, some website inject those to get our browsing data and use it for their products or worse, sell it, without our consent. So it&apos;s really important to be mindful of what we browse on the internet.</p><h5 id="facebook-container"><a href="https://addons.mozilla.org/en-US/firefox/addon/facebook-container/?ref=littlekenneth.xyz">Facebook Container</a></h5><p>Hate seeing Facebook ads about the product you browsed recently? This extension will prevent that and isolate your Facebook session while browsing other websites.</p><h5 id="ublock-origin"><a href="https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/?ref=littlekenneth.xyz">uBlock Origin</a></h5><p>This is a <em>content blocker</em>, not an <em>ad blocker. </em>It &quot;blocks&quot; ads too! But it is not an ad blocker okay? I have been using uBlock Origin for many years because I find it more resource friendly and it serves its purpose for me. There are other alternatives out there but I won&apos;t link it because I am biased, by the way it is <a href="https://github.com/gorhill/uBlock?ref=littlekenneth.xyz">open source</a>. heh.</p><h5 id="universal-bypass"><a href="https://addons.mozilla.org/en-US/firefox/addon/universal-bypass/?ref=littlekenneth.xyz">Universal Bypass</a></h5><p>You know those URL that when you click, it will redirect you to the land of God knows where to click because there are multiple &quot;continue&quot; or &quot;next&quot; button, moreover you have to wait for 5-10 seconds! You have now arrived at the garden of malwares! If you misclick, it goes to another dodgy website that will open a popup that claims to be better than your $100 anti-virus and says your computer has a virus. That was a long introduction, phew! Universal Bypass will try to skip those URL and give you a clean page what will redirect to the real page that you&apos;re trying to access.</p><h5 id="firefox-multi-account-containers"><a href="https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/?ref=littlekenneth.xyz">Firefox Multi-Account Containers</a></h5><p>I am not actually using this since I don&apos;t keep too many tabs and sessions but If you&apos;re someone who has to open multiple tabs in multiple windows, you might want to organize them with <a href="https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/?ref=littlekenneth.xyz">Firefox Multi-Account Containers</a>. Of course, you have to use Firefox (I am biased).</p><p>The extension let&apos;s you create sessions that are color-coded and store it in a so-called &quot;container&quot;. So for example, you have a &quot;work&quot; container and a &quot;personal-browsing&quot; or &quot;whatever&quot; container; you logged in to an email account to &quot;work&quot; container, the other containers won&apos;t know that you are logged in to an email account because they&apos;re different sessions. It&apos;s like opening different accounts to multiple browsers, but here, you&apos;re only using Firefox (because it&apos;s the best browser). Actually, just try! It&apos;s hard to explain, please. Or go to this <a href="https://www.youtube.com/watch?v=DygQBll6ZQA&amp;ref=littlekenneth.xyz">link</a>, where our fellow Mozillians discuss it in-depth.</p><h3 id="emails">Emails</h3><p>Our email accounts are like the main gate to our privacy online, so don&apos;t ever give the key to anyone. Phishing mails are really common but it can be avoided easily. How do I do it? I ignore most of the messages! HAHA jk.</p><ol><li>Two-factor authentication baby! Yes, enable it!</li><li>Always check the &#xA0;<em>from, mailed-by, security </em>block from the email details.</li><li>Check the URL before clicking a link in the email. You can see it if you hover the cursor over the link, usually it will appear at the bottom of your browser. If the text is too small for you, right click the link and use &quot;<em>Copy Link&quot; </em>option and paste it somewhere. Just make sure it&apos;s not a gibberish <em>asd123.com</em> &#xA0;or something.</li><li>I don&apos;t think it&apos;s bad to have multiple email accounts. I use alternative emails to sites that I can ignore email notifications. For example, social media accounts, since notifications can come via push notification.</li><li>I have trust issues so I generally ignore messages, unless it is important or from a close friend. When I see links sent to me without any followup message it is automatically ignored. This also applies in social media messages.</li></ol><p>Labels and tags are also quite useful for email. It filters the important messages and the ones you can ignore. When reading emails, I do it in the following order; <em>Important -&gt; Starred -&gt; Updates</em>. Sometimes, I glance over through the social network requests and if I&apos;m really bored, spams.</p><h3 id="browsing">Browsing</h3><ul><li>By using Firefox, my privacy already has one layer of protection through its <a href="https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop?ref=littlekenneth.xyz">Enhanced Tracking Protection</a>.</li><li>As much as possible, I try not connect to a public wi-fi, unless it&apos;s real emergency, like I&apos;m lost at SM Megamall or Mall of Asia and I don&apos;t have mobile data (It actually happened, except I had mobile data hehe).</li><li>Always make sure to browse sites securely (HTTPS).</li><li>If &#xA0;I am on a website that asks to disable my ad blocker (content blocker or whatever), then it &quot;could&quot; be a sign that I don&apos;t want to be in that site, else, I am very careful of what to click or fill-up.</li><li>Whenever I search something and the result gives me dodgy urls, I open it in a private window so no cache or cookies gets saved.</li><li>For online banking, I mostly use their mobile apps, if I have to access their website, I make sure to check their SSL certificate which you can see if you click the lock beside the address bar. Online banking sites will have their own SSL certificate name.</li></ul><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2021/05/----------0003-05-25---8.39.47.png" width="850" height="436" loading="lazy" alt="Privacy and Me" srcset="https://littlekenneth.xyz/content/images/size/w600/2021/05/----------0003-05-25---8.39.47.png 600w, https://littlekenneth.xyz/content/images/2021/05/----------0003-05-25---8.39.47.png 850w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2021/05/----------0003-05-25---8.40.30.png" width="844" height="610" loading="lazy" alt="Privacy and Me" srcset="https://littlekenneth.xyz/content/images/size/w600/2021/05/----------0003-05-25---8.40.30.png 600w, https://littlekenneth.xyz/content/images/2021/05/----------0003-05-25---8.40.30.png 844w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption>Not sponsored by Unionbank but their online banking is one of the best!</figcaption></figure><h4 id="social-networking-service-sns-and-apps">Social Networking Service (SNS) and Apps</h4><ul><li>Social media settings also have privacy section, please play with it, yes it&apos;s a toy. I mean I am responsible to what I post online so I should know who can view it, and comment on it, and play on it (huh?).</li><li>When I sign in or sign up using my social media account to another site, I check the data they access from my SNS (social media is so long jeez).</li><li>Same thing with android apps. Not sure about iOS apps, but whenever I install an android app, I also check the permissions it requires. You can also re-examine the permissions of apps already installed.</li></ul><p>Some of the things mentioned here might be common knowledge, but not for everyone.</p><p>Stop thinking that privacy is only for the famous, evil can make bad out of anything. Any bad person can exploit anyone&apos;s privacy for their gain regardless of popularity. They can use your data to deceive the people around you.</p><p>So to add an extra layer to your privacy protection, I encourage you to share what you know to the people around you, especially elders. Asking them to ignore messages from an overseas worker using a local number or writing comments with their full name and address (including yours) to a facebook raffle of someone without a checkmark next to their name might go a long way. Hehe.</p><p> </p><p><em>P.S.</em></p><blockquote>Protect your underwear.</blockquote>]]></content:encoded></item><item><title><![CDATA[Daily Japanese Review for the Lazy]]></title><description><![CDATA[<p>Studying a language requires a huge amount of immersion and exposure. However, if you&apos;re not living in the country of origin of the language, it&apos;s quite a challenge; much more if you have less free time because of work and other stuff.</p><p>That is the case</p>]]></description><link>https://littlekenneth.xyz/daily-japanese-review-using-spaced-repetition-system-srs-and-anki-for-the-lazy/</link><guid isPermaLink="false">62f1eb901b870f82ab0f290b</guid><dc:creator><![CDATA[Kenneth Sungcaya]]></dc:creator><pubDate>Tue, 03 Nov 2020 10:10:21 GMT</pubDate><content:encoded><![CDATA[<p>Studying a language requires a huge amount of immersion and exposure. However, if you&apos;re not living in the country of origin of the language, it&apos;s quite a challenge; much more if you have less free time because of work and other stuff.</p><p>That is the case for me (not). Even so, there&apos;s always a way if you really want to do something.</p><h3 id="the-setup">The Setup</h3><p><a href="https://littlekenneth.xyz/what-is-anki">I use Anki</a> as my primary tool. I used to read some books as well for the basic grammar structure (Genki I and Genki II). &#xA0;My current Anki setup is somewhat derived from below article with my own tweaks to make sure I don&apos;t get flooded with cards daily.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://masterhowtolearn.wordpress.com/2018/10/30/what-i-discovered-from-tweaking-the-anki-setting/?ref=littlekenneth.xyz"><div class="kg-bookmark-content"><div class="kg-bookmark-title">My BIGGEST Discovery From Tweaking the Anki Setting</div><div class="kg-bookmark-description">Updated version This is the default Anki&#x2019;s setting:</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://masterhowtolearn.files.wordpress.com/2019/02/cropped-blog-logo-copy-3.png?w=192" alt><span class="kg-bookmark-author">Master How To Learn</span><span class="kg-bookmark-publisher">MasterHowToLearn</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://masterhowtolearn.files.wordpress.com/2018/10/anki-setting1.png" alt></div></a></figure><p>I have <strong>two options group, </strong>one for my sentence bank (Nihongo Sentence Bank) and one for pre-made decks (Nihongo Sentence).</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/09/2020-09-15-10_52_52-KS---Anki.png" width="614" height="692" loading="lazy" alt srcset="https://littlekenneth.xyz/content/images/size/w600/2020/09/2020-09-15-10_52_52-KS---Anki.png 600w, https://littlekenneth.xyz/content/images/2020/09/2020-09-15-10_52_52-KS---Anki.png 614w"></div><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/09/2020-09-15-10_53_14-KS---Anki.png" width="618" height="695" loading="lazy" alt srcset="https://littlekenneth.xyz/content/images/size/w600/2020/09/2020-09-15-10_53_14-KS---Anki.png 600w, https://littlekenneth.xyz/content/images/2020/09/2020-09-15-10_53_14-KS---Anki.png 618w"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/09/2020-09-15-10_53_35-KS---Anki.png" width="618" height="695" loading="lazy" alt srcset="https://littlekenneth.xyz/content/images/size/w600/2020/09/2020-09-15-10_53_35-KS---Anki.png 600w, https://littlekenneth.xyz/content/images/2020/09/2020-09-15-10_53_35-KS---Anki.png 618w"></div><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/09/2020-09-15-10_55_36-KS---Anki.png" width="619" height="695" loading="lazy" alt srcset="https://littlekenneth.xyz/content/images/size/w600/2020/09/2020-09-15-10_55_36-KS---Anki.png 600w, https://littlekenneth.xyz/content/images/2020/09/2020-09-15-10_55_36-KS---Anki.png 619w"></div></div></div></figure><p>I am using a <strong>retirement addon</strong> for the pre-made decks which suspends and tags a card that is past the set <strong>retiring interval</strong> (365 days). When a card has been retired, it can mean that it has been retained in my memory long enough (or maybe not but whatever). </p><h3 id="review-anytime-and-create-small-goals">Review Anytime and Create Small Goals</h3><p>Except for the &quot;Dictionary of Japanese Grammar Revised&quot; deck (I don&apos;t even know why I still keep this but maybe, someday, I&apos;d need to review it as well), these are the decks that I have been reviewing. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://littlekenneth.xyz/content/images/2020/09/2020-09-15-10_50_41-Settings.png" class="kg-image" alt loading="lazy" width="1081" height="765" srcset="https://littlekenneth.xyz/content/images/size/w600/2020/09/2020-09-15-10_50_41-Settings.png 600w, https://littlekenneth.xyz/content/images/size/w1000/2020/09/2020-09-15-10_50_41-Settings.png 1000w, https://littlekenneth.xyz/content/images/2020/09/2020-09-15-10_50_41-Settings.png 1081w" sizes="(min-width: 720px) 720px"><figcaption>Current decks.</figcaption></figure><p>I usually start with the biggest number of <strong>due -</strong> from the screenshot, it is the <strong>&quot;&#x65E5;&#x672C;&#x8A9E;&#x6587;&quot;</strong> deck which is the sentence bank. Then, the <strong>&quot;Nayr&apos;s Core 5k&quot;, &quot;Japanese Core 2000&quot;</strong>, and the kanji deck - <strong>&quot;&#x5E38;&#x7528;&#x6F22;&#x5B57;&quot;</strong> &#xA0;which are pre-made decks. And then Lastly, I end my anki review with learning <strong>new </strong>cards from the <strong>&quot;&#x65E5;&#x672C;&#x8A9E;&#x6587;&quot; </strong>deck.</p><p>Of course I&apos;m not the whole thing in one-sitting. I do it anywhere, anytime. I do it when I just woke up or while having breakfast. I do it on the bus, on the train, while waiting in a queue, or waiting for someone (who will never comeback &#x1F622;), or during breaks. Basically within the day, I find time and set small goals. It can be 10 cards per set then I&apos;d do something else, or maybe set a duration of like, 5 minutes review then move on to something else. Time well-spent &#x1F609;.</p><h3 id="enjoy-the-process">Enjoy the Process</h3><p>The most important thing is, I enjoy the process. I spend around an accumulated 2 hours per day studying the language which, I know, is not enough to become fluent. But I can read and able to understand normal conversations now. Plus, I am able to do other stuff too, so I don&apos;t mind the slow progress.</p><p>It started as a routine and then it became a habit. I have been doing this everyday ever since I started, without skipping a day. There are times that I skip learning new<strong> </strong>cards if there&apos;s a lot to do (this seldom happens. heh.), but I always make sure to finish reviewing the cards that are due.</p><h3 id="anki-addons">Anki Addons</h3><ol><li><a href="https://ankiweb.net/shared/info/900801631?ref=littlekenneth.xyz">Morphman</a> - For arranging my sentence bank based on my stats</li><li><a href="https://ankiweb.net/shared/info/13462835?ref=littlekenneth.xyz">MeCab UniDic Japanese Dictionary</a> - used in conjuction with Morphman</li><li><a href="https://ankiweb.net/shared/info/3918629684?ref=littlekenneth.xyz">Japanese Support </a>- for furigana support</li><li><a href="https://ankiweb.net/shared/info/1666520655?ref=littlekenneth.xyz">Migaku Retirement</a></li><li><a href="https://massimmersionapproach.com/table-of-contents/anki/low-key-anki/low-key-anki-summary-and-installation/?ref=littlekenneth.xyz">Low-Key Anki</a> - Pass/Fail, ResetEZ, and No Penalties or Boosting</li></ol>]]></content:encoded></item><item><title><![CDATA[What is Anki? (Not a tutorial)]]></title><description><![CDATA[Anki is a multi-platform flashcard app that integrates Spaced Repetition System (SRS) natively. It has a wide variety of options that can be tailored based on one's capacity and patience to keep reviewing. There's also a lot of shared decks that can used immediately.]]></description><link>https://littlekenneth.xyz/what-is-anki/</link><guid isPermaLink="false">62f1eb901b870f82ab0f290c</guid><category><![CDATA[Anki]]></category><category><![CDATA[SRS]]></category><category><![CDATA[Learning]]></category><dc:creator><![CDATA[Kenneth Sungcaya]]></dc:creator><pubDate>Tue, 03 Nov 2020 10:06:52 GMT</pubDate><media:content url="https://littlekenneth.xyz/content/images/2020/11/----------0002-09-19---9_Fotor.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://littlekenneth.xyz/content/images/2020/11/----------0002-09-19---9_Fotor.jpg" alt="What is Anki? (Not a tutorial)"><p>Memorization has been a pain in the butt since the dawn of my school life. However, learning a new language requires tons of vocabulary memorization and there is no shortcut for it. It is even more challenging if you are lazy with a short-term memory.</p><p>When I started my journey to learning Japanese, I had to look up for something that will enable my mind to retain the information for a longer time. Then I found about Spaced Repetition System (SRS) which is basically a technique that helps you retain information in your brain using certain intervals. <a href="https://collegeinfogeek.com/spaced-repetition-memory-technique/?ref=littlekenneth.xyz">This article</a> has more explanation about SRS.</p><p><a href="https://ankiweb.net/?ref=littlekenneth.xyz">Anki</a> is a multi-platform flashcard app that integrates SRS natively. It has a wide variety of options that can be tailored based on one&apos;s capacity and patience to keep reviewing. There&apos;s also a lot of <a href="https://ankiweb.net/shared/decks/?ref=littlekenneth.xyz">pre-made decks</a> that can be used immediately.</p><p>Remember those math flashcards that has some problem on the front and the answer on the back? This is how it looks like in the app.</p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/09/2020-09-14-15_43_36-Dota-2-1.png" width="1218" height="887" loading="lazy" alt="What is Anki? (Not a tutorial)" srcset="https://littlekenneth.xyz/content/images/size/w600/2020/09/2020-09-14-15_43_36-Dota-2-1.png 600w, https://littlekenneth.xyz/content/images/size/w1000/2020/09/2020-09-14-15_43_36-Dota-2-1.png 1000w, https://littlekenneth.xyz/content/images/2020/09/2020-09-14-15_43_36-Dota-2-1.png 1218w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/09/2020-09-14-15_44_04-Dota-2-2.png" width="1218" height="887" loading="lazy" alt="What is Anki? (Not a tutorial)" srcset="https://littlekenneth.xyz/content/images/size/w600/2020/09/2020-09-14-15_44_04-Dota-2-2.png 600w, https://littlekenneth.xyz/content/images/size/w1000/2020/09/2020-09-14-15_44_04-Dota-2-2.png 1000w, https://littlekenneth.xyz/content/images/2020/09/2020-09-14-15_44_04-Dota-2-2.png 1218w" sizes="(min-width: 720px) 720px"></div></div></div><figcaption>Sorry about the Japanese text, I forgot to turn off the add on. heh.</figcaption></figure><p>Creating the cards on your own is quite easy. If you know a bit of HTML and CSS you can also try modifying the card template.</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/09/2020-09-14-15_42_13-Dota-2.png" width="1218" height="887" loading="lazy" alt="What is Anki? (Not a tutorial)" srcset="https://littlekenneth.xyz/content/images/size/w600/2020/09/2020-09-14-15_42_13-Dota-2.png 600w, https://littlekenneth.xyz/content/images/size/w1000/2020/09/2020-09-14-15_42_13-Dota-2.png 1000w, https://littlekenneth.xyz/content/images/2020/09/2020-09-14-15_42_13-Dota-2.png 1218w" sizes="(min-width: 720px) 720px"></div><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/09/2020-09-14-15_42_52-Temp---Anki.png" width="578" height="508" loading="lazy" alt="What is Anki? (Not a tutorial)"></div></div></div></figure><p>However, customizing the options require some bit of understanding. <a href="https://masterhowtolearn.wordpress.com/2018/10/30/what-i-discovered-from-tweaking-the-anki-setting/?ref=littlekenneth.xyz">This article</a> might be of some help (well, it helped me at least).</p><figure class="kg-card kg-image-card"><img src="https://littlekenneth.xyz/content/images/2020/09/2020-09-14-15_45_29-Temp---Anki.png" class="kg-image" alt="What is Anki? (Not a tutorial)" loading="lazy" width="542" height="712"></figure><p>I have also provided some screenshots of my setup in the <a href="https://littlekenneth.xyz/daily-japanese-review-using-spaced-repetition-system-srs-and-anki-for-the-lazy">Japanese for the Lazy </a>article. </p><p>While I mainly use Anki for studying Japanese, it can be used on other categories as well. In fact, I&apos;ve seen people studying medicine utilize the app. If I had only discovered this gem when I was in school, it would have been so much easy. Heh.</p>]]></content:encoded></item><item><title><![CDATA[I Created a Messenger Bot that is not Dumb and not Smart]]></title><description><![CDATA[Since public schools are about to open here in our place, I decided to create something that might help students with limited internet access and are relying on free data.]]></description><link>https://littlekenneth.xyz/i-created-a-messenger-bot-that-is-not-dumb/</link><guid isPermaLink="false">62f1eb901b870f82ab0f290d</guid><category><![CDATA[Chatbot]]></category><category><![CDATA[Messenger]]></category><dc:creator><![CDATA[Kenneth Sungcaya]]></dc:creator><pubDate>Sun, 04 Oct 2020 09:21:32 GMT</pubDate><content:encoded><![CDATA[<p>Lately, I&apos;m looking for something that will make me busy aside from playing games. Heh. I have been wanting to create a bot for a long time but I really don&apos;t know what kind of bot I want to make (definitely not something like <a href="https://www.simsimi.com/?ref=littlekenneth.xyz">simsimi</a>. Too advanced for me). Since public schools are about to open here in our place, I decided to create something that might help students with limited internet access and are relying on free data.</p><blockquote>We are on viber! Here&apos;s the <a href="viber://pa/info?uri=littlekenneth">link</a>.</blockquote><h3 id="please">Please</h3><p>The commands start with the word &quot;please&quot;, &#xA0;why? I just feel like it, heh. The intention is &#xA0;to have a term that will identify that the user entered a command and maybe in the future, have a distinction for other terms.</p><p>In any case, it is required and if you&apos;re feeling lazy, the chatbot also accepts &quot;pls&quot;. Let&apos;s practice asking politely &apos;kay? Because bots have feelings too!</p><h3 id="commands">Commands</h3><p>Currently there are three commands available for the chatbot.</p><ul><li><code>please search ${article name}</code></li><li><code>please define ${word}</code></li><li><code>please calculate ${expression}</code></li><li><code>please translate ${text}</code></li></ul><h3 id="search">Search</h3><p>The search command is the shortcut of <code>please search:wikipedia ${article name}</code> command. The <strong>:wikipedia</strong> is in preparation for other sources that might be added in the future. By default, the command uses wikipedia&apos;s <a href="https://www.mediawiki.org/wiki/API:Opensearch?ref=littlekenneth.xyz">opensearch API</a> to search for wikipedia article by title. The chatbot will respond with the article sections with one caveat; the sections are cut when there are multiple items under the section. I&apos;m planning to improve the experience in the future, hopefully. heh.</p><h3 id="define">Define</h3><p>This command uses <a href="https://owlbot.info/?ref=littlekenneth.xyz">owlbot&apos;s API</a> &#xA0;to search for the definition of the word by default. Oxford Dictionary&apos;s API would&apos;ve been good but meh, their free tier only has 1000 request limit per month.</p><p>Will add urban dictionary source soon. &#x1F60F;</p><h3 id="calculate">Calculate</h3><p>I find this command the most interesting because it can evaluate so many mathematical expressions. I used <a href="https://mathjs.org/?ref=littlekenneth.xyz">mathjs</a> for the functionality with some tweaks. It supports basic math expressions, unit conversions, and some algebra functions.</p><p>Shortcut: <code>please calc ${expression}</code></p><h3 id="translate">Translate</h3><p>Translate uses <a href="https://translate.google.com/?ref=littlekenneth.xyz">google translate</a> in the background. It auto detects the source language and translates the text to english by default. If you want to be more specific, the command can accept the target and source language by following this pattern: <code>please translate:{target}:{source} Text</code>.</p><p>So if for example, you want to translate <em>Hello<strong> </strong></em>to <em>Japanese<strong> </strong></em>you&apos;d want to enter the following command, <code>please translate:ja Hello</code> or with the <em>source</em>, <code>please translate:ja:en Hello</code>.</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/10/----------0002-10-08---11.44.26.png" width="646" height="346" loading="lazy" alt srcset="https://littlekenneth.xyz/content/images/size/w600/2020/10/----------0002-10-08---11.44.26.png 600w, https://littlekenneth.xyz/content/images/2020/10/----------0002-10-08---11.44.26.png 646w"></div><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/10/----------0002-10-08---11.35.02-1.png" width="650" height="474" loading="lazy" alt srcset="https://littlekenneth.xyz/content/images/size/w600/2020/10/----------0002-10-08---11.35.02-1.png 600w, https://littlekenneth.xyz/content/images/2020/10/----------0002-10-08---11.35.02-1.png 650w"></div><div class="kg-gallery-image"><img src="https://littlekenneth.xyz/content/images/2020/10/----------0002-10-08---11.28.28-1.png" width="640" height="424" loading="lazy" alt srcset="https://littlekenneth.xyz/content/images/size/w600/2020/10/----------0002-10-08---11.28.28-1.png 600w, https://littlekenneth.xyz/content/images/2020/10/----------0002-10-08---11.28.28-1.png 640w"></div></div></div></figure><p>Below is the long list of the codes for the available languages.</p><ul><li><code>auto</code> - Automatic</li><li><code>af</code> - Afrikaans</li><li><code>sq</code> - Albanian</li><li><code>am</code> - Amharic</li><li><code>ar</code> - Arabic</li><li><code>hy</code> - Armenian</li><li><code>az</code> - Azerbaijani</li><li><code>eu</code> - Basque</li><li><code>be</code> - Belarusian</li><li><code>bn</code> - Bengali</li><li><code>bs</code> - Bosnian</li><li><code>bg</code> - Bulgarian</li><li><code>ca</code> - Catalan</li><li><code>ceb</code> - Cebuano</li><li><code>ny</code> - Chichewa</li><li><code>zh-CN</code> - Chinese (Simplified)</li><li><code>zh-TW</code> - Chinese (Traditional)</li><li><code>co</code> - Corsican</li><li><code>hr</code> - Croatian</li><li><code>cs</code> - Czech</li><li><code>da</code> - Danish</li><li><code>nl</code> - Dutch</li><li><code>en</code> - English</li><li><code>eo</code> - Esperanto</li><li><code>et</code> - Estonian</li><li><code>tl</code> - Filipino</li><li><code>fi</code> - Finnish</li><li><code>fr</code> - French</li><li><code>fy</code> - Frisian</li><li><code>gl</code> - Galician</li><li><code>ka</code> - Georgian</li><li><code>de</code> - German</li><li><code>el</code> - Greek</li><li><code>gu</code> - Gujarati</li><li><code>ht</code> - Haitian Creole</li><li><code>ha</code> - Hausa</li><li><code>haw</code> - Hawaiian</li><li><code>he</code> - Hebrew</li><li><code>iw</code> - Hebrew</li><li><code>hi</code> - Hindi</li><li><code>hmn</code> - Hmong</li><li><code>hu</code> - Hungarian</li><li><code>is</code> - Icelandic</li><li><code>ig</code> - Igbo</li><li><code>id</code> - Indonesian</li><li><code>ga</code> - Irish</li><li><code>it</code> - Italian</li><li><code>ja</code> - Japanese</li><li><code>jw</code> - Javanese</li><li><code>kn</code> - Kannada</li><li><code>kk</code> - Kazakh</li><li><code>km</code> - Khmer</li><li><code>ko</code> - Korean</li><li><code>ku</code> - Kurdish (Kurmanji)</li><li><code>ky</code> - Kyrgyz</li><li><code>lo</code> - Lao</li><li><code>la</code> - Latin</li><li><code>lv</code> - Latvian</li><li><code>lt</code> - Lithuanian</li><li><code>lb</code> - Luxembourgish</li><li><code>mk</code> - Macedonian</li><li><code>mg</code> - Malagasy</li><li><code>ms</code> - Malay</li><li><code>ml</code> - Malayalam</li><li><code>mt</code> - Maltese</li><li><code>mi</code> - Maori</li><li><code>mr</code> - Marathi</li><li><code>mn</code> - Mongolian</li><li><code>my</code> - Myanmar (Burmese)</li><li><code>ne</code> - Nepali</li><li><code>no</code> - Norwegian</li><li><code>ps</code> - Pashto</li><li><code>fa</code> - Persian</li><li><code>pl</code> - Polish</li><li><code>pt</code> - Portuguese</li><li><code>pa</code> - Punjabi</li><li><code>ro</code> - Romanian</li><li><code>ru</code> - Russian</li><li><code>sm</code> - Samoan</li><li><code>gd</code> - Scots Gaelic</li><li><code>sr</code> - Serbian</li><li><code>st</code> - Sesotho</li><li><code>sn</code> - Shona</li><li><code>sd</code> - Sindhi</li><li><code>si</code> - Sinhala</li><li><code>sk</code> - Slovak</li><li><code>sl</code> - Slovenian</li><li><code>so</code> - Somali</li><li><code>es</code> - Spanish</li><li><code>su</code> - Sundanese</li><li><code>sw</code> - Swahili</li><li><code>sv</code> - Swedish</li><li><code>tg</code> - Tajik</li><li><code>ta</code> - Tamil</li><li><code>te</code> - Telugu</li><li><code>th</code> - Thai</li><li><code>tr</code> - Turkish</li><li><code>uk</code> - Ukrainian</li><li><code>ur</code> - Urdu</li><li><code>uz</code> - Uzbek</li><li><code>vi</code> - Vietnamese</li><li><code>cy</code> - Welsh</li><li><code>xh</code> - Xhosa</li><li><code>yi</code> - Yiddish</li><li><code>yo</code> - Yoruba</li><li><code>zu</code> - Zul</li></ul><h3 id="chatbot-in-action-">Chatbot in Action!</h3><p>Embedding a facebook video is not working apparently. Maybe I&apos;m doing it wrong but anyways here&apos;s the link to the video: <a href="https://www.facebook.com/littlekenneth.xyz/videos/400681064659116/">https://www.facebook.com/littlekenneth.xyz/videos/400681064659116/</a>.</p>]]></content:encoded></item><item><title><![CDATA[Hello Ghost, errmm Hello World!]]></title><description><![CDATA[Wordpress has been a popular CMS for a long time but I didn't really want to make a custom theme in PHP so I decided to look for a NodeJS alternative.]]></description><link>https://littlekenneth.xyz/hello-ghost-errmm-hello-world/</link><guid isPermaLink="false">62f1eb901b870f82ab0f2907</guid><category><![CDATA[Hello World]]></category><category><![CDATA[Ghost CMS]]></category><dc:creator><![CDATA[Kenneth Sungcaya]]></dc:creator><pubDate>Tue, 08 Sep 2020 13:21:02 GMT</pubDate><media:content url="https://littlekenneth.xyz/content/images/2020/09/hello-world.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://littlekenneth.xyz/content/images/2020/09/hello-world.jpg" alt="Hello Ghost, errmm Hello World!"><p>Welcome to the World Wide Web! heh. Recently, I find myself talking with my inner-self (no I&apos;m not going mental) and recalling things I want but couldn&apos;t. Must be signs of aging. That said, I decided to make my own website so I can write things I want to remember; publicly lul. And maybe it&apos;s time to have one since I&apos;ve been a developer for 7 years and I can&apos;t even include something on my r&#xE9;sum&#xE9; (I had a <a href="https://littlekenneth.wordpress.com/?ref=littlekenneth.xyz">wordpress</a> site tho HAHA).</p><p>Don&apos;t know why I had to explain myself there. Anyways, Wordpress has been a popular content management system (CMS) for a long time but I didn&apos;t really want to make a custom theme in PHP so I decided to look for a NodeJS alternative. I ended up using Ghost which is very minimal and I find it really simple to setup. It also uses handlebars which has a nice syntax hehe.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://ghost.org/?ref=littlekenneth.xyz"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Ghost: Turn your audience into a business</div><div class="kg-bookmark-description">The world&#x2019;s most popular modern publishing platform for creating a new media platform. Used by Apple, SkyNews, Buffer, OpenAI, and thousands more.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://ghost.org/icons/icon-512x512.png?v=e58c97d95fb227a34fe36491b7d4a4c9" alt="Hello Ghost, errmm Hello World!"><span class="kg-bookmark-author">Ghost</span><span class="kg-bookmark-publisher">Albert Henk van Urkalberthenk.com</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://ghost.org/images/meta/Ghost.png" alt="Hello Ghost, errmm Hello World!"></div></a></figure><p>Then for the past 3 weeks, I allotted 1-2 hours every night to making the custom theme. It was a nightmare because I am not a frontend guy and I suck at design. However, since Ghost CMS is open source, there&apos;s a lot of free themes available to be used as inspiration. I probably looked into around <strong><em>10 source codes</em></strong> (yes let&apos;s make that <strong>bold</strong> and <em>italicized</em>) because I&apos;m a &quot;best practice&quot; freak and I want to make my project structure as maintainable as possible.</p><p>Currently, this site runs in an <em>EC2</em> instance (free of course - #TeamFreebies here). I did use <em>Amazon Simple Email Service</em> for the mail stuffs and <a href="https://letsencrypt.org/?ref=littlekenneth.xyz">Let&apos;s Encrypt</a> for the SSL certificate. I&apos;m planning to move it to an <em>ECS</em> stack as an experiment but not now as I&apos;m probably the only one visiting this site at the moment, heh.</p><p>It was a fun experience, setting up something from scratch. It served as a refresher as well for my CSS and HTML skill, and some bits of frontend javascript. </p>]]></content:encoded></item></channel></rss>