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

<channel>
	<title>(note (code cslai))</title>
	<atom:link href="https://cslai.coolsilon.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://cslai.coolsilon.com</link>
	<description>Notes on codes, projects and everything</description>
	<lastBuildDate>Sun, 13 Oct 2024 16:56:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
<site xmlns="com-wordpress:feed-additions:1">3215173</site>	<item>
		<title>Building a simple ASGI Websocket Application</title>
		<link>https://cslai.coolsilon.com/2024/10/14/building-a-simple-asgi-websocket-application/</link>
					<comments>https://cslai.coolsilon.com/2024/10/14/building-a-simple-asgi-websocket-application/#respond</comments>
		
		<dc:creator><![CDATA[Jeffrey04]]></dc:creator>
		<pubDate>Sun, 13 Oct 2024 16:51:16 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">https://cslai.coolsilon.com/?p=895</guid>

					<description><![CDATA[Getting comfortable to asyncio takes a bit of practice, so I revisited a practice project I did when I was working for my previous company. Suppose I want to build a very simple websocket application, without use of any web application library/framework. In order to keep it simple, I also opt to just build the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Getting comfortable to asyncio takes a bit of practice, so I revisited a practice project I did when I was working for my previous company. Suppose I want to build a very simple websocket application, without use of any web application library/framework. In order to keep it simple, I also opt to just build the frontend with minimal setup (just plain ES6 without webpack/vite).</p>



 <a href="https://cslai.coolsilon.com/2024/10/14/building-a-simple-asgi-websocket-application/#more-895" class="more-link"><span aria-label="Continue reading Building a simple ASGI Websocket Application">(more&hellip;)</span></a>]]></content:encoded>
					
					<wfw:commentRss>https://cslai.coolsilon.com/2024/10/14/building-a-simple-asgi-websocket-application/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">895</post-id>	</item>
		<item>
		<title>Self-hosted photo album</title>
		<link>https://cslai.coolsilon.com/2024/10/11/self-hosted-photo-album/</link>
					<comments>https://cslai.coolsilon.com/2024/10/11/self-hosted-photo-album/#respond</comments>
		
		<dc:creator><![CDATA[Jeffrey04]]></dc:creator>
		<pubDate>Fri, 11 Oct 2024 11:26:48 +0000</pubDate>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">https://cslai.coolsilon.com/?p=887</guid>

					<description><![CDATA[My cloud storage is nearly exploding, and I am not in a good position to start subscribing for more storage (Yes, I am still #opentowork). Considering I just moved my domain settings to Cloudflare and started using Cloudflare tunnel, I figure I probably should just back up some of my photos, and host it on [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>My cloud storage is nearly exploding, and I am not in a good position to start subscribing for more storage (Yes, I am still #opentowork). Considering I just moved my domain settings to Cloudflare and started using Cloudflare tunnel, I figure I probably should just back up some of my photos, and host it on my workstation.</p>



 <a href="https://cslai.coolsilon.com/2024/10/11/self-hosted-photo-album/#more-887" class="more-link"><span aria-label="Continue reading Self-hosted photo album">(more&hellip;)</span></a>]]></content:encoded>
					
					<wfw:commentRss>https://cslai.coolsilon.com/2024/10/11/self-hosted-photo-album/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">887</post-id>	</item>
		<item>
		<title>Adding complexity to the bot: threads and processes</title>
		<link>https://cslai.coolsilon.com/2024/09/18/adding-complexity-to-the-bot-threads-and-processes/</link>
					<comments>https://cslai.coolsilon.com/2024/09/18/adding-complexity-to-the-bot-threads-and-processes/#respond</comments>
		
		<dc:creator><![CDATA[Jeffrey04]]></dc:creator>
		<pubDate>Wed, 18 Sep 2024 08:55:49 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://cslai.coolsilon.com/?p=883</guid>

					<description><![CDATA[Being new to asyncio, after publishing the previous post on running multiple applications in one event loop, I also cross posted it to the discussion board for feedback. So apparently instead of cramming everything to the same event loop, it would be better if each application run on a separate thread. That makes sense, considering [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Being new to asyncio, after publishing the <a href="https://cslai.coolsilon.com/2024/06/05/learning-asyncio-by-redoing-my-messaging-bot/" data-type="post" data-id="870">previous post</a> on running multiple applications in one event loop, I also cross <a href="https://discuss.python.org/t/running-multiple-asyncio-coroutines-together/55026/5">posted it to the discussion board for feedback</a>. So apparently instead of cramming everything to the same event loop, it would be better if each application run on a separate thread. That makes sense, considering all the code that was written for that.</p>



 <a href="https://cslai.coolsilon.com/2024/09/18/adding-complexity-to-the-bot-threads-and-processes/#more-883" class="more-link"><span aria-label="Continue reading Adding complexity to the bot: threads and processes">(more&hellip;)</span></a>]]></content:encoded>
					
					<wfw:commentRss>https://cslai.coolsilon.com/2024/09/18/adding-complexity-to-the-bot-threads-and-processes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">883</post-id>	</item>
		<item>
		<title>Learning asyncio by redoing my messaging bot</title>
		<link>https://cslai.coolsilon.com/2024/06/05/learning-asyncio-by-redoing-my-messaging-bot/</link>
					<comments>https://cslai.coolsilon.com/2024/06/05/learning-asyncio-by-redoing-my-messaging-bot/#comments</comments>
		
		<dc:creator><![CDATA[Jeffrey04]]></dc:creator>
		<pubDate>Wed, 05 Jun 2024 14:03:17 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://cslai.coolsilon.com/?p=870</guid>

					<description><![CDATA[I used to develop a bot, partly for work, that fetches current latest petrol retail price in Malaysia. The bot was really an experiment, but at the time it worked well. Then a few years later, out of boredom, I revisited the project after finding the telegram bot library is moving towards asyncio. It was [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>I used to develop <a href="https://github.com/Jeffrey04/mypetrolbot">a bot</a>, partly for work, that fetches current latest petrol retail price in Malaysia. The bot was really an experiment, but at the time it worked well. Then a few years later, out of boredom, I revisited the project after finding the telegram bot library is <a href="https://github.com/python-telegram-bot/python-telegram-bot/discussions/2351">moving towards asyncio</a>. It was great (at least a lot of people rave about it), but also at the same time intimidating, I learned about coroutines and used <a href="https://www.gevent.org/">gevent</a> in the past, but not <a href="https://docs.python.org/3/library/asyncio.html">asyncio</a> itself.</p>



 <a href="https://cslai.coolsilon.com/2024/06/05/learning-asyncio-by-redoing-my-messaging-bot/#more-870" class="more-link"><span aria-label="Continue reading Learning asyncio by redoing my messaging bot">(more&hellip;)</span></a>]]></content:encoded>
					
					<wfw:commentRss>https://cslai.coolsilon.com/2024/06/05/learning-asyncio-by-redoing-my-messaging-bot/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">870</post-id>	</item>
		<item>
		<title>Statistical Analysis for Social Audit Project</title>
		<link>https://cslai.coolsilon.com/2021/01/04/statistical-analysis-for-social-audit-project/</link>
					<comments>https://cslai.coolsilon.com/2021/01/04/statistical-analysis-for-social-audit-project/#respond</comments>
		
		<dc:creator><![CDATA[Jeffrey04]]></dc:creator>
		<pubDate>Mon, 04 Jan 2021 08:31:06 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Statistics]]></category>
		<guid isPermaLink="false">https://cslai.coolsilon.com/?p=856</guid>

					<description><![CDATA[This is the formal draft of my statistical analysis report for the social audit project previously mentioned here. As the project is public by nature, I am cross-posting here for own reference. Methodology The result of the survey which started on 10th of November 2020, and then collected on 23rd of November for analyzing. 110 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>This is the formal draft of my statistical analysis report for the social audit project previously <a href="https://cslai.coolsilon.com/2020/12/14/performing-statistical-analysis-with-python/" data-type="post" data-id="681">mentioned here</a>. As the project is public by nature, I am cross-posting here for own reference.</p>



 <a href="https://cslai.coolsilon.com/2021/01/04/statistical-analysis-for-social-audit-project/#more-856" class="more-link"><span aria-label="Continue reading Statistical Analysis for Social Audit Project">(more&hellip;)</span></a>]]></content:encoded>
					
					<wfw:commentRss>https://cslai.coolsilon.com/2021/01/04/statistical-analysis-for-social-audit-project/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">856</post-id>	</item>
		<item>
		<title>Refreshing the ReactJS Internet Censorship Dashboard (and Dockerizing Poetry Projects)</title>
		<link>https://cslai.coolsilon.com/2020/12/21/refreshing-the-reactjs-internet-censorship-dashboard-and-dockerizing-poetry-projects/</link>
					<comments>https://cslai.coolsilon.com/2020/12/21/refreshing-the-reactjs-internet-censorship-dashboard-and-dockerizing-poetry-projects/#respond</comments>
		
		<dc:creator><![CDATA[Jeffrey04]]></dc:creator>
		<pubDate>Mon, 21 Dec 2020 10:17:20 +0000</pubDate>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">https://cslai.coolsilon.com/?p=851</guid>

					<description><![CDATA[The Internet Censorship Dashboard is a project that aggregates data fetched from the OONI API, to provide an overview of the current state of Internet Censorship experienced by users mainly in Southeast Asia. The current form was built a couple of years ago, and recently got funded to get it updated to work better with [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>The <a href="https://censorship.sinarproject.org/">Internet Censorship Dashboard</a> is a project that aggregates data fetched from the <a href="https://api.ooni.io/">OONI API</a>, to provide an overview of the <a href="https://sinarproject.org/digital-rights/human-rights-internet-censorship-dashboards" data-type="URL" data-id="https://sinarproject.org/digital-rights/human-rights-internet-censorship-dashboards">current state of Internet Censorship</a> experienced by users mainly in Southeast Asia. The current form was built a couple of years ago, and recently got funded to get it updated to work better with new APIs.</p>



 <a href="https://cslai.coolsilon.com/2020/12/21/refreshing-the-reactjs-internet-censorship-dashboard-and-dockerizing-poetry-projects/#more-851" class="more-link"><span aria-label="Continue reading Refreshing the ReactJS Internet Censorship Dashboard (and Dockerizing Poetry Projects)">(more&hellip;)</span></a>]]></content:encoded>
					
					<wfw:commentRss>https://cslai.coolsilon.com/2020/12/21/refreshing-the-reactjs-internet-censorship-dashboard-and-dockerizing-poetry-projects/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">851</post-id>	</item>
		<item>
		<title>Revisiting semantic web (plus wheel building with Poetry)</title>
		<link>https://cslai.coolsilon.com/2020/12/18/revisiting-semantic-web-plus-wheel-building-with-poetry/</link>
					<comments>https://cslai.coolsilon.com/2020/12/18/revisiting-semantic-web-plus-wheel-building-with-poetry/#respond</comments>
		
		<dc:creator><![CDATA[Jeffrey04]]></dc:creator>
		<pubDate>Fri, 18 Dec 2020 10:31:00 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Resource Description Framework]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<guid isPermaLink="false">https://cslai.coolsilon.com/?p=824</guid>

					<description><![CDATA[Back then, when I was still working on my postgraduate degree research, I used RDF, which was the preferred format in the world of Semantic Web to represent data. I eventually dropped the degree, and stopped following the development of the related technology and standards. Until I volunteered to update the import script for popit [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Back then, when I was still working on my postgraduate degree research, I used RDF, which was the preferred format in the world of Semantic Web to represent data. I eventually dropped the degree, and stopped following the development of the related technology and standards. Until I volunteered to update the <a href="https://github.com/Sinar/popit_relationship" data-type="URL" data-id="https://github.com/Sinar/popit_relationship">import script for popit</a> when I was looking for the next job/project.</p>



 <a href="https://cslai.coolsilon.com/2020/12/18/revisiting-semantic-web-plus-wheel-building-with-poetry/#more-824" class="more-link"><span aria-label="Continue reading Revisiting semantic web (plus wheel building with Poetry)">(more&hellip;)</span></a>]]></content:encoded>
					
					<wfw:commentRss>https://cslai.coolsilon.com/2020/12/18/revisiting-semantic-web-plus-wheel-building-with-poetry/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">824</post-id>	</item>
		<item>
		<title>Working Environment Setup,  for 2020</title>
		<link>https://cslai.coolsilon.com/2020/12/17/working-environment-setup-for-2020/</link>
					<comments>https://cslai.coolsilon.com/2020/12/17/working-environment-setup-for-2020/#respond</comments>
		
		<dc:creator><![CDATA[Jeffrey04]]></dc:creator>
		<pubDate>Thu, 17 Dec 2020 10:43:00 +0000</pubDate>
				<category><![CDATA[Golang]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Rust]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://cslai.coolsilon.com/?p=822</guid>

					<description><![CDATA[In recent years, I start to make my development environment decouple from the tools delivered by the package manager used by the operating system. The tools (compiler, interpreters, libraries etc) are usually best left unmodified so other system packages that rely on them keeps working as intended. Also another reason for the setup is I [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>In recent years, I start to make my development environment decouple from the tools delivered by the package manager used by the operating system. The tools (compiler, interpreters, libraries etc) are usually best left unmodified so other system packages that rely on them keeps working as intended. Also another reason for the setup is I wanted to follow the latest release as much as possible, which cannot be done unless I enroll myself to a rolling release distro.</p>



 <a href="https://cslai.coolsilon.com/2020/12/17/working-environment-setup-for-2020/#more-822" class="more-link"><span aria-label="Continue reading Working Environment Setup,  for 2020">(more&hellip;)</span></a>]]></content:encoded>
					
					<wfw:commentRss>https://cslai.coolsilon.com/2020/12/17/working-environment-setup-for-2020/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">822</post-id>	</item>
		<item>
		<title>4 Fundamental Things in Programming (pre-101)</title>
		<link>https://cslai.coolsilon.com/2020/12/16/4-fundamental-things-in-programming-pre-101/</link>
					<comments>https://cslai.coolsilon.com/2020/12/16/4-fundamental-things-in-programming-pre-101/#respond</comments>
		
		<dc:creator><![CDATA[Jeffrey04]]></dc:creator>
		<pubDate>Wed, 16 Dec 2020 14:09:16 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Rust]]></category>
		<guid isPermaLink="false">https://cslai.coolsilon.com/?p=819</guid>

					<description><![CDATA[Just recently I volunteered to do a pre-101 kinda workshop for people wanting to learn programming. I had done this a few times in the past, but in different settings and goals in mind. The whole structure predates the sessions but I can&#8217;t remember when I first created them. TL;dr the video of the workshop [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Just recently I volunteered to do a pre-101 kinda workshop for people wanting to learn programming. I had done this a few times in the past, but in different settings and goals in mind. The whole structure predates the sessions but I can&#8217;t remember when I first created them.</p>



 <a href="https://cslai.coolsilon.com/2020/12/16/4-fundamental-things-in-programming-pre-101/#more-819" class="more-link"><span aria-label="Continue reading 4 Fundamental Things in Programming (pre-101)">(more&hellip;)</span></a>]]></content:encoded>
					
					<wfw:commentRss>https://cslai.coolsilon.com/2020/12/16/4-fundamental-things-in-programming-pre-101/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">819</post-id>	</item>
		<item>
		<title>Picking Up Category Theory (and eventually Haskell)</title>
		<link>https://cslai.coolsilon.com/2020/12/15/picking-up-category-theory-and-eventually-haskell/</link>
					<comments>https://cslai.coolsilon.com/2020/12/15/picking-up-category-theory-and-eventually-haskell/#comments</comments>
		
		<dc:creator><![CDATA[Jeffrey04]]></dc:creator>
		<pubDate>Tue, 15 Dec 2020 15:59:21 +0000</pubDate>
				<category><![CDATA[Category Theory]]></category>
		<category><![CDATA[Haskell]]></category>
		<guid isPermaLink="false">https://cslai.coolsilon.com/?p=817</guid>

					<description><![CDATA[I don&#8217;t quite remember when did I first heard about Category Theory, but the term stuck in my head for quite a while. Eventually I attempted to start looking for tutorials on the topic, but it is hard to find one that I actually understand. Most of them are either leaning too much to the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>I don&#8217;t quite remember when did I first heard about Category Theory, but the term stuck in my head for quite a while. Eventually I attempted to start looking for tutorials on the topic, but it is hard to find one that I actually understand. Most of them are either leaning too much to the Mathematics side, or <a href="https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/" data-type="URL" data-id="https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/">too much to the Programming side</a>.</p>



 <a href="https://cslai.coolsilon.com/2020/12/15/picking-up-category-theory-and-eventually-haskell/#more-817" class="more-link"><span aria-label="Continue reading Picking Up Category Theory (and eventually Haskell)">(more&hellip;)</span></a>]]></content:encoded>
					
					<wfw:commentRss>https://cslai.coolsilon.com/2020/12/15/picking-up-category-theory-and-eventually-haskell/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">817</post-id>	</item>
	</channel>
</rss>
