<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5194156709816662598</id><updated>2026-04-06T16:33:45.589+08:00</updated><category term="HR"/><category term="c#"/><category term="softinn"/><category term="Google Analytics"/><category term="ClickOnce"/><category term="Gardening"/><category term="GitHub"/><category term="HubSpot"/><category term="Javascript"/><category term="NSwagStudio"/><category term="OpenAPI"/><category term="Penang"/><category term="Sales"/><category term="Swagger"/><category term="WIT"/><category term="Xamarin"/><category term="book"/><category term="covid"/><category term="editorConfig"/><category term="foreignTT"/><category term="hotel kiosk"/><category term="malaysia"/><category term="plant"/><category term="work"/><title type='text'>JeeShen&#39;s Random Thoughts</title><subtitle type='html'>I&#39;m the founder of Softinn. This blog is my personal space. I use it as an open diary.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default?start-index=26&amp;max-results=25'/><author><name>JeeShen Lee</name><uri>http://www.blogger.com/profile/16482072531663088733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='-1' height='-1' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-AiYrQU5QsBh1mtZATpzGNrGWO2OPqDkfOhfczi9Y1E2FHNI0Wld7QRladx2EfUTW3DwK63Mf_IYHyOf6LqK0JZYbPIQxSAidexPN6lgakVIQSLtupZKnd84DqXtv7O5whYgbpdXxWfejPQHqkJlw4krqTbJ8Qfz9lY6hUvxVoY7127Y/s1600/2020-Sept-Square.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>63</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-6016594077060700598</id><published>2026-02-06T13:59:00.002+08:00</published><updated>2026-02-06T13:59:16.102+08:00</updated><title type='text'>Malaysia Universities Grading System Failed in the AI Era</title><content type='html'>&lt;p&gt;I am the CEO at Softinn. One of my jobs is hiring. Over the past few years, I have noticed discrepancies between CGPA results and students&#39; capabilities.&lt;/p&gt;&lt;p&gt;What I observed:&lt;/p&gt;&lt;p&gt;1. On average, the CGPA of the graduates went up while the capability of the students went down.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What I suspect:&lt;/p&gt;&lt;p&gt;1. The universities move towards an assignment-based grading system. Instead of exam-based, Malaysia MOE goes for assignment-based grading to reduce the overemphasis on academic results. The execution of this wasn&#39;t well-coordinated. We ended up moving away from academic results to &quot;no result&quot;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The future is bleak for the graduates, especially in the AI era. We created an environment that produces talent that is not ready. It&#39;s not fully the graduates&#39; fault. We failed as a system. I hate to see government agencies holding event after event, workshop after workshop, dialogue after dialogue instead of actually getting things done. Most of these events ended up being a photo-taking session; it&#39;s a pure waste of our money at the expense of our future. I feel sorry for the graduates who are now struggling to secure a job.&amp;nbsp;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/6016594077060700598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2026/02/malaysia-universities-grading-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/6016594077060700598'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/6016594077060700598'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2026/02/malaysia-universities-grading-system.html' title='Malaysia Universities Grading System Failed in the AI Era'/><author><name>JeeShen Lee</name><uri>http://www.blogger.com/profile/16482072531663088733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='-1' height='-1' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-AiYrQU5QsBh1mtZATpzGNrGWO2OPqDkfOhfczi9Y1E2FHNI0Wld7QRladx2EfUTW3DwK63Mf_IYHyOf6LqK0JZYbPIQxSAidexPN6lgakVIQSLtupZKnd84DqXtv7O5whYgbpdXxWfejPQHqkJlw4krqTbJ8Qfz9lY6hUvxVoY7127Y/s1600/2020-Sept-Square.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-6320210480966886991</id><published>2026-01-15T07:16:00.010+08:00</published><updated>2026-03-29T15:03:11.112+08:00</updated><title type='text'>My 2026 AI Adventure</title><content type='html'>I am learning about AI - getting myself familiar with LLMs, agents, skills, MCP, etc.&lt;br /&gt;&lt;br /&gt;Subscribed to Claude Pro. I have tried using it to write codes and it does it professionally.&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It makes me wonder - If I am a hotel owner. How can AI help me?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Hotel Owner and AI&lt;/h2&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;If there is one thing that a hotel needs to know about AI. What would it be?&lt;/li&gt;&lt;li&gt;If there is a tool I need as a hotel owner. What is it?&lt;/li&gt;&lt;li&gt;How do I hire in the AI era? Manager first or ground staff?&lt;/li&gt;&lt;li&gt;Will AI change the distribution landscape? How soon?&lt;/li&gt;&lt;li&gt;AI will take over many entry-level white-collar jobs. Many of these university graduates will be retrained and join the blue-collar workforce. The hotel labour costs and supply depend on the jobs available in the blue-collar market. When demand in the blue-collar market increases, pay expectations will rise (higher labour costs for hotels to hire operational team members). If demand in the blue-collar market is lower, pay expectations will go down (lower labour costs for the hotel, or the hotel gets better talent for the same cost). I believe that eventually, the hotel will see fluctuations between the two states as the market swings and adapts over the next two years.&lt;/li&gt;&lt;li&gt;The Malaysian government&#39;s initiative in focusing on&amp;nbsp;TVET education is a smart move. But&amp;nbsp;I believe it&#39;s hard to change the social status of blue-collar roles in the general perception. While promoting good TVET courses, I think the more important and urgent issue is changing the public perception of this career.&lt;/li&gt;&lt;li&gt;I believe the adoption of AI will be mainly driven by guest-facing applications. This will be the main theme in the first phase.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;My Log&lt;/h2&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Jan-17&lt;/b&gt;: I have been busy asking questions on Claude and ChatGPT. Most of my questions focus on learning and understanding the new technology. I use it to research and plan, too. I am so excited that I wake up at 6am, and my mind is all awake and focused on learning. Learning has never been so easy. It works very well with my learning style.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Jan-24&lt;/b&gt;: I tried Claude Code, and I noticed it does a better job in web programming than in desktop programming. That is probably more web programming inputs that go into the training of the LLM. It is scary, at the same time exciting, to enter the AI era. I feel more of the scary part now, as there are a lot of uncertainties about how the&amp;nbsp;SaaS business will be affected. I believe it will stay, but I am not sure about the people working in it - AI era requires a new set of skills. Those who can&#39;t adapt will be replaced. It&#39;s going to be challenging for IT graduates now. It&#39;s hard to get an internship now because AI agents do what was previously assigned to interns. Given the trend of fewer new hires in the product department, I believe an expert shortage will boomerang in another two years as&amp;nbsp;veterans move up the ladder and some retire. This will make experienced programmers expensive and hard to hire within two years. It is better for a company like mine to hire, train and keep the good ones.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Jan-26:&lt;/b&gt; I have installed Ralph plugin (the official Anthropic plugin), and I thought that&#39;s it. Then, I realise there is a better implementation of Ralph - Ralph for Claude Code. Looks like there are just so many things happening in the AI space. One way to be very good is to follow the latest news (on X) and then test them as I go. Luckily, I have bought a 1TB HDD for my laptop, and it&#39;s useful now. I expect to go through many install/test/uninstall cycles as new tools&amp;nbsp;come up every day. Speaking of which, I have installed Antigravity today. Planning to use it alongside VS Code and VS 2026.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Mar-29: &lt;/b&gt;AI is a must now. Everyone in the company has to adopt AI in their work. Whoever refuses to learn and adapt will risk their career. I believe we all have to learn to be the &quot;dragon trainer&quot; like the movie &quot;Train My Dragon&quot;. &quot;Dragon&quot; being the AI agent while we&#39;re the trainer.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;... This is an ongoing blog post. It is a note that I will update as I make progress.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/6320210480966886991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2026/01/my-2026-ai-adventure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/6320210480966886991'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/6320210480966886991'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2026/01/my-2026-ai-adventure.html' title='My 2026 AI Adventure'/><author><name>JeeShen Lee</name><uri>http://www.blogger.com/profile/16482072531663088733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='-1' height='-1' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-AiYrQU5QsBh1mtZATpzGNrGWO2OPqDkfOhfczi9Y1E2FHNI0Wld7QRladx2EfUTW3DwK63Mf_IYHyOf6LqK0JZYbPIQxSAidexPN6lgakVIQSLtupZKnd84DqXtv7O5whYgbpdXxWfejPQHqkJlw4krqTbJ8Qfz9lY6hUvxVoY7127Y/s1600/2020-Sept-Square.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-3090349312666230511</id><published>2026-01-10T15:45:00.002+08:00</published><updated>2026-01-10T15:45:12.670+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="softinn"/><title type='text'>2026 for Softinn</title><content type='html'>Softinn concluded 2025 with a bang. We broke our sales record and remained profitable.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I took a week to think about a plan for 2026. The theme for 2026 is &quot;Invest and Grow&quot;. The keyword is &quot;invest&quot;. I have not been investing in the business in the past three years because we have been saving up and recovering from the pandemic. It took us three years to reserve our cash and find growth from within. It&#39;s tough to grow organically, but we made it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I decided to change the mode from organic growth to &quot;invest and grow&quot;. It means new hiring, new tooling, and marketing spending. We&#39;re gonna give our competitors a run. We&#39;re gonna go out there and do great things.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We held the kickoff last week of 2025 and are now ready to execute. I am excited to see where this will lead us - I hope for the best.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Along with this blog post, I include the updated career page and our job portal. It&#39;s one of the plans for Jan, and we got it done within the first week of 2026.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj22LmjqvUA33_4U_AfhIuCCWKscq6HV0LtVPAvoORevryYopAvdfgDBTsbwVfuxMZ6w7NOjZhC73iJyFca2bf9isDx5Uc46v6V7-FHfYIFwWJWApU7dNlCmqaMo6ADIHpyc2blOUnEd12qjAhFMP5sWm8AE5GD5X9WdXBdZQJrCnrbNEdenEeNYp8yzY4/s7920/FireShot%20Capture%20094%20-%20Career%20Main%20Page%20-%20%5Bpage.mysoftinn.com%5D.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;7920&quot; data-original-width=&quot;3072&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj22LmjqvUA33_4U_AfhIuCCWKscq6HV0LtVPAvoORevryYopAvdfgDBTsbwVfuxMZ6w7NOjZhC73iJyFca2bf9isDx5Uc46v6V7-FHfYIFwWJWApU7dNlCmqaMo6ADIHpyc2blOUnEd12qjAhFMP5sWm8AE5GD5X9WdXBdZQJrCnrbNEdenEeNYp8yzY4/s16000/FireShot%20Capture%20094%20-%20Career%20Main%20Page%20-%20%5Bpage.mysoftinn.com%5D.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh389IQB4NV68r6eVinqiCS-Qgzk57aicYWa5Sy8cKtHeEUbIa-Bn75lzadsVdnnaVuColHZtPVCJXOGHTMjVTDvBr8Sgr0PGsbcT7Oh6fajwwujqPlcdVIGtBh5IhNQ9xqSgmc9OLNjuQ47a7NYOewpl73tfTflW0LE6W-xaIIuy-yKxOARShyubxxd0E/s9631/FireShot%20Capture%20097%20-%20Hotel%20Tech%20Company%20Softinn%20Achieves%20MD%20Status_%20A%20Milestone%20Toward%20I_%20-%20%5Bpage.mysoftinn.com%5D.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;9631&quot; data-original-width=&quot;3072&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh389IQB4NV68r6eVinqiCS-Qgzk57aicYWa5Sy8cKtHeEUbIa-Bn75lzadsVdnnaVuColHZtPVCJXOGHTMjVTDvBr8Sgr0PGsbcT7Oh6fajwwujqPlcdVIGtBh5IhNQ9xqSgmc9OLNjuQ47a7NYOewpl73tfTflW0LE6W-xaIIuy-yKxOARShyubxxd0E/s16000/FireShot%20Capture%20097%20-%20Hotel%20Tech%20Company%20Softinn%20Achieves%20MD%20Status_%20A%20Milestone%20Toward%20I_%20-%20%5Bpage.mysoftinn.com%5D.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8GCS44-TaOYpGOd7saNpwyVV4gSPDVaHFQA0BCFW-wFLvofF6eMANQggcwT7ugBeiJPgdcKjbJRBDAG-vqtYDM8d8riiYM4R1WnkybKMbEWkKZIeVP9QXIE868cjhZdzo8ZuyB9P14dtTsbrySx9nH6WGxcMFz0GLm6iak1p5kymIZvpvYHr7hxUu89M/s5634/FireShot%20Capture%20096%20-%20Softinn%20Blog%20-%20%5Bpage.mysoftinn.com%5D.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;5634&quot; data-original-width=&quot;3072&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8GCS44-TaOYpGOd7saNpwyVV4gSPDVaHFQA0BCFW-wFLvofF6eMANQggcwT7ugBeiJPgdcKjbJRBDAG-vqtYDM8d8riiYM4R1WnkybKMbEWkKZIeVP9QXIE868cjhZdzo8ZuyB9P14dtTsbrySx9nH6WGxcMFz0GLm6iak1p5kymIZvpvYHr7hxUu89M/s16000/FireShot%20Capture%20096%20-%20Softinn%20Blog%20-%20%5Bpage.mysoftinn.com%5D.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitVmpBMqQVr7XyojsI6C65ZSREqGomc1jdpJzwGQttLPyN3aLAvQQ3wgwLt1nm3AivatGX9yZxX-LdgnGZwOpILGemhlQFEspHIeG5gISFAYqUVBk8c_14s5575Xdv1wbHIq0yMMxcN9T9G33rjaOfU3UzPiqOR0lBiQka-Cx2eZ0me6Z_7E3NU06JMPg/s7158/FireShot%20Capture%20095%20-%20Open%20Positions%20-%20Careers%20at%20Softinn%20-%20%5Bpage.mysoftinn.com%5D.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;7158&quot; data-original-width=&quot;3072&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitVmpBMqQVr7XyojsI6C65ZSREqGomc1jdpJzwGQttLPyN3aLAvQQ3wgwLt1nm3AivatGX9yZxX-LdgnGZwOpILGemhlQFEspHIeG5gISFAYqUVBk8c_14s5575Xdv1wbHIq0yMMxcN9T9G33rjaOfU3UzPiqOR0lBiQka-Cx2eZ0me6Z_7E3NU06JMPg/s16000/FireShot%20Capture%20095%20-%20Open%20Positions%20-%20Careers%20at%20Softinn%20-%20%5Bpage.mysoftinn.com%5D.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Happy new year!&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/3090349312666230511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2026/01/2026-for-softinn.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/3090349312666230511'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/3090349312666230511'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2026/01/2026-for-softinn.html' title='2026 for Softinn'/><author><name>JeeShen Lee</name><uri>http://www.blogger.com/profile/16482072531663088733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='-1' height='-1' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-AiYrQU5QsBh1mtZATpzGNrGWO2OPqDkfOhfczi9Y1E2FHNI0Wld7QRladx2EfUTW3DwK63Mf_IYHyOf6LqK0JZYbPIQxSAidexPN6lgakVIQSLtupZKnd84DqXtv7O5whYgbpdXxWfejPQHqkJlw4krqTbJ8Qfz9lY6hUvxVoY7127Y/s1600/2020-Sept-Square.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj22LmjqvUA33_4U_AfhIuCCWKscq6HV0LtVPAvoORevryYopAvdfgDBTsbwVfuxMZ6w7NOjZhC73iJyFca2bf9isDx5Uc46v6V7-FHfYIFwWJWApU7dNlCmqaMo6ADIHpyc2blOUnEd12qjAhFMP5sWm8AE5GD5X9WdXBdZQJrCnrbNEdenEeNYp8yzY4/s72-c/FireShot%20Capture%20094%20-%20Career%20Main%20Page%20-%20%5Bpage.mysoftinn.com%5D.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-2455674868221376273</id><published>2025-12-28T16:18:00.000+08:00</published><updated>2025-12-28T16:18:00.683+08:00</updated><title type='text'>Issue Wifi Access to Hotel Guest from Hotel PMS</title><content type='html'>I have implemented the integration between Softinn PMS and the TP-Link Omada system. With this, the hotel frontdesk issue the guest Wifi access from the PMS without the need to switch between systems.&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On top of that, the username and password are generated based on the preset template, so it&#39;s unique for each guest.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The screenshot below is my reservation and its WiFi access created on TP-Link Omada.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1T6IWkrRBXdg1FJWIQDaGuwfbLpXtikgb4dZmkXSI67HBQuIBc1_iUtBHRPdm6AdTOjv48haa-Rsus29NK67it4Nz1TIYF19_jeKvzgqRQqOCS8aducqLHNv_mFY60B1qDHq0Pr_bniQUOODg3E8kJkDMmrnpF5cq62Il6Parw72wUoMuNOow_ZcBAQg/s3072/guest-wifi-tplink-omada-hotel-pms-softinn.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1920&quot; data-original-width=&quot;3072&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1T6IWkrRBXdg1FJWIQDaGuwfbLpXtikgb4dZmkXSI67HBQuIBc1_iUtBHRPdm6AdTOjv48haa-Rsus29NK67it4Nz1TIYF19_jeKvzgqRQqOCS8aducqLHNv_mFY60B1qDHq0Pr_bniQUOODg3E8kJkDMmrnpF5cq62Il6Parw72wUoMuNOow_ZcBAQg/s16000/guest-wifi-tplink-omada-hotel-pms-softinn.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/2455674868221376273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2025/12/issue-wifi-access-to-hotel-guest-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/2455674868221376273'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/2455674868221376273'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2025/12/issue-wifi-access-to-hotel-guest-from.html' title='Issue Wifi Access to Hotel Guest from Hotel PMS'/><author><name>JeeShen Lee</name><uri>http://www.blogger.com/profile/16482072531663088733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='-1' height='-1' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-AiYrQU5QsBh1mtZATpzGNrGWO2OPqDkfOhfczi9Y1E2FHNI0Wld7QRladx2EfUTW3DwK63Mf_IYHyOf6LqK0JZYbPIQxSAidexPN6lgakVIQSLtupZKnd84DqXtv7O5whYgbpdXxWfejPQHqkJlw4krqTbJ8Qfz9lY6hUvxVoY7127Y/s1600/2020-Sept-Square.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1T6IWkrRBXdg1FJWIQDaGuwfbLpXtikgb4dZmkXSI67HBQuIBc1_iUtBHRPdm6AdTOjv48haa-Rsus29NK67it4Nz1TIYF19_jeKvzgqRQqOCS8aducqLHNv_mFY60B1qDHq0Pr_bniQUOODg3E8kJkDMmrnpF5cq62Il6Parw72wUoMuNOow_ZcBAQg/s72-c/guest-wifi-tplink-omada-hotel-pms-softinn.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-783929631804061193</id><published>2025-09-14T07:46:00.000+08:00</published><updated>2025-09-14T07:46:34.431+08:00</updated><title type='text'>Visual Studio 2026 Preview is Here</title><content type='html'>The next version of Visual Studio is now available (under Preview).&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://visualstudio.microsoft.com/insiders/&quot; target=&quot;_blank&quot;&gt;Visual Studio 2026&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The current version was launched four years ago (in 2022). Many things have changed in terms of technology (e.g., AI, frontend technologies, cloud server management); this update is much needed.&amp;nbsp;Happy to see that it&#39;s coming. &lt;br /&gt;&lt;br /&gt;I am grateful for the current version. But VS Code has all the latest tools and attention. As much as I love VS Code, I hate switching between Visual Studio and VS Code just to enjoy some of the benefits it brings.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is the launch party of Visual Studio 2026. I couldn&#39;t be happier to see Mads Kristensen as the principal product manager of VS. This guy is a legend.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;400&quot; src=&quot;https://www.youtube.com/embed/RUd_RO1OT1A&quot; width=&quot;483&quot; youtube-src-id=&quot;RUd_RO1OT1A&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/783929631804061193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2025/09/visual-studio-2026-preview-is-here.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/783929631804061193'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/783929631804061193'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2025/09/visual-studio-2026-preview-is-here.html' title='Visual Studio 2026 Preview is Here'/><author><name>JeeShen Lee</name><uri>http://www.blogger.com/profile/16482072531663088733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='-1' height='-1' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-AiYrQU5QsBh1mtZATpzGNrGWO2OPqDkfOhfczi9Y1E2FHNI0Wld7QRladx2EfUTW3DwK63Mf_IYHyOf6LqK0JZYbPIQxSAidexPN6lgakVIQSLtupZKnd84DqXtv7O5whYgbpdXxWfejPQHqkJlw4krqTbJ8Qfz9lY6hUvxVoY7127Y/s1600/2020-Sept-Square.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/RUd_RO1OT1A/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-6580086932769746142</id><published>2025-08-08T12:09:00.007+08:00</published><updated>2025-09-04T09:44:43.997+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="softinn"/><title type='text'>Softinn Version 5: A Major Revamp after Four Years</title><content type='html'>&lt;p&gt;I’ve been holding my horses for the past few months, but it’s time to pull a rabbit out of the hat. More on the&amp;nbsp;&lt;a href=&quot;https://blog.mysoftinn.com/2025/07/30/were-upgrading-for-you-introducing-softinn-version-5/&quot; target=&quot;_blank&quot;&gt;official blog&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;481&quot; data-original-width=&quot;920&quot; height=&quot;334&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0654EI_9x6n633IElDOZIfRL7Ne3I9OK33l41oUOHFQmk_kqEwJxYDNKrD_i9T7R_W8kOOLPHxy7RoKi0ueGoVyKPzrSRKomf2GTZHDGxuMQs5erp1kWFPylpMBcewM5UT7uUs4fHbmZHk5IH6ViaZDPza6lBNs6hf9X2KhhmaQMuUV6HPvIkPmBqDAk/w640-h334/Blog%20Header%20-%20Softinn%20Product%20Updates%20(1).jpg&quot; width=&quot;640&quot; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/sr3lQbmZIY4&quot; width=&quot;560&quot; youtube-src-id=&quot;sr3lQbmZIY4&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0654EI_9x6n633IElDOZIfRL7Ne3I9OK33l41oUOHFQmk_kqEwJxYDNKrD_i9T7R_W8kOOLPHxy7RoKi0ueGoVyKPzrSRKomf2GTZHDGxuMQs5erp1kWFPylpMBcewM5UT7uUs4fHbmZHk5IH6ViaZDPza6lBNs6hf9X2KhhmaQMuUV6HPvIkPmBqDAk/s920/Blog%20Header%20-%20Softinn%20Product%20Updates%20(1).jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbPZwXbsbDm2C9niOS-BsrDm_rOVdlPOIvLQrnMzNXGc_9ZbYgtzEZ334zO445EbXTXx5lBjUHE4QiWBCRxkd3YpHF1p155FklkFqcDu_9fATuQMGQVEmlMOd8Ay1bwBI03GmEoogdwY1Qb-3rt7TNvX4oHOCagPBxt9t6JyS4i1mRbzNsFdc_kgBK0gk/s920/Softinn-Account-Portal.webp&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;518&quot; data-original-width=&quot;920&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbPZwXbsbDm2C9niOS-BsrDm_rOVdlPOIvLQrnMzNXGc_9ZbYgtzEZ334zO445EbXTXx5lBjUHE4QiWBCRxkd3YpHF1p155FklkFqcDu_9fATuQMGQVEmlMOd8Ay1bwBI03GmEoogdwY1Qb-3rt7TNvX4oHOCagPBxt9t6JyS4i1mRbzNsFdc_kgBK0gk/w640-h360/Softinn-Account-Portal.webp&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFzfAf8tDxhGY5n4IMtPEPb8Yb_eHVi9kCx7RRmjlemWEUoNlUl0YZxx1K9xR6S-dlfmq1oCi5RXp7wa477ksb2SHvffJaoU8gdWs77cnb9E708wopI_Jh4mxOOyWOfB1InLgVwbLit_LmgDk-kKKZjRPglttB07SdnM9UYRF70G_ar0B-4x_69izNzL0/s1001/FireShot%20Capture%20041%20-%20Dashboard%20-%20Softinn%20CMS%20-%20%5Bcms.mysoftinn.com%5D.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1001&quot; data-original-width=&quot;563&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFzfAf8tDxhGY5n4IMtPEPb8Yb_eHVi9kCx7RRmjlemWEUoNlUl0YZxx1K9xR6S-dlfmq1oCi5RXp7wa477ksb2SHvffJaoU8gdWs77cnb9E708wopI_Jh4mxOOyWOfB1InLgVwbLit_LmgDk-kKKZjRPglttB07SdnM9UYRF70G_ar0B-4x_69izNzL0/w360-h640/FireShot%20Capture%20041%20-%20Dashboard%20-%20Softinn%20CMS%20-%20%5Bcms.mysoftinn.com%5D.png&quot; width=&quot;360&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4D3-d91QTecClBgEbsLhKXnrRPQudvz_MariSXx5gyrv4WVl3dvL8o3Rkvk-h6kJ_MmloFlZG85mULbp2VHlq58W6Xj93a6YRcn7zuLhJVzTAz7bWHDFy0Yf2f2bu3zlA8VjFunIs83CeUQzWr517fuKSHbPlaO6fJVwsi-7GfZJyDMYDppbplkEtmfc/s3072/FireShot%20Capture%20044%20-%20Photo%20Gallery%20-%20Softinn%20CMS%20-%20%5Bcms.mysoftinn.com%5D.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1667&quot; data-original-width=&quot;3072&quot; height=&quot;348&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4D3-d91QTecClBgEbsLhKXnrRPQudvz_MariSXx5gyrv4WVl3dvL8o3Rkvk-h6kJ_MmloFlZG85mULbp2VHlq58W6Xj93a6YRcn7zuLhJVzTAz7bWHDFy0Yf2f2bu3zlA8VjFunIs83CeUQzWr517fuKSHbPlaO6fJVwsi-7GfZJyDMYDppbplkEtmfc/w640-h348/FireShot%20Capture%20044%20-%20Photo%20Gallery%20-%20Softinn%20CMS%20-%20%5Bcms.mysoftinn.com%5D.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXO2WPcW1FtwET5pweyCDSZHPzx_qZo1Gu0QvvXoglXOSEVRW9sqXA0YOveC6LfNUt5l_E7KYEbv7uAlVoeVh-uecHF82XN-9rX8WYb4j_UB4SPkax2SRwuBvSZCmSR1DUuE6dXnO2KqKVdq8INDjOZj38MD7zLx8cWc8ZAsqI5TQbiXkYCJ7fHXIcED4/s1292/FireShot%20Capture%20048%20-%20Home%20-%20Softinn%20BE_%20-%20%5Bsoftinn-be-v5-gmaug9epakhmf0f6.eastasia-01.azurewebsites.net%5D.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1292&quot; data-original-width=&quot;1200&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXO2WPcW1FtwET5pweyCDSZHPzx_qZo1Gu0QvvXoglXOSEVRW9sqXA0YOveC6LfNUt5l_E7KYEbv7uAlVoeVh-uecHF82XN-9rX8WYb4j_UB4SPkax2SRwuBvSZCmSR1DUuE6dXnO2KqKVdq8INDjOZj38MD7zLx8cWc8ZAsqI5TQbiXkYCJ7fHXIcED4/w594-h640/FireShot%20Capture%20048%20-%20Home%20-%20Softinn%20BE_%20-%20%5Bsoftinn-be-v5-gmaug9epakhmf0f6.eastasia-01.azurewebsites.net%5D.png&quot; width=&quot;594&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/6580086932769746142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2025/08/softinn-version-5-major-revamp-after.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/6580086932769746142'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/6580086932769746142'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2025/08/softinn-version-5-major-revamp-after.html' title='Softinn Version 5: A Major Revamp after Four Years'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0654EI_9x6n633IElDOZIfRL7Ne3I9OK33l41oUOHFQmk_kqEwJxYDNKrD_i9T7R_W8kOOLPHxy7RoKi0ueGoVyKPzrSRKomf2GTZHDGxuMQs5erp1kWFPylpMBcewM5UT7uUs4fHbmZHk5IH6ViaZDPza6lBNs6hf9X2KhhmaQMuUV6HPvIkPmBqDAk/s72-w640-h334-c/Blog%20Header%20-%20Softinn%20Product%20Updates%20(1).jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-5471357014079192599</id><published>2025-03-30T07:35:00.005+08:00</published><updated>2025-03-30T07:35:40.303+08:00</updated><title type='text'>How to Manage the Communication between Azure Functions using Domain Design</title><content type='html'>&lt;p&gt;&amp;nbsp;Check out this sharing by David Boyne.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; src=&quot;https://www.youtube.com/embed/HpFWRpyyvrk?si=7FlBQPcFrxoDv7_q&quot; title=&quot;YouTube video player&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My learnings:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Host a domain design discussion that brings together team members (not limited to the product team) to collaboratively design a product or feature.&lt;/li&gt;&lt;li&gt;There are four components in the design discussion: stakeholders, actions, events, and concerns.&lt;/li&gt;&lt;li&gt;It&#39;s a good idea to use Figma to host such a discussion.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/5471357014079192599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2025/03/how-to-manage-communication-between.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/5471357014079192599'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/5471357014079192599'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2025/03/how-to-manage-communication-between.html' title='How to Manage the Communication between Azure Functions using Domain Design'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/HpFWRpyyvrk/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-513436077627809614</id><published>2025-03-28T10:57:00.002+08:00</published><updated>2025-03-28T10:57:12.508+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HR"/><title type='text'>When I Do Poorly in Hiring</title><content type='html'>&lt;p&gt;When I make a poor hiring decision, I do a disservice to both the company and the candidate.&lt;br /&gt;&lt;br /&gt;Learn how to asses cultural-fit. I must&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/513436077627809614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2025/03/when-i-do-poorly-in-hiring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/513436077627809614'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/513436077627809614'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2025/03/when-i-do-poorly-in-hiring.html' title='When I Do Poorly in Hiring'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-8888830889588785493</id><published>2025-02-23T14:58:00.007+08:00</published><updated>2025-02-23T15:01:01.431+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="editorConfig"/><title type='text'>Guide to Enforcing .editorconfig Rules in Visual Studio</title><content type='html'>&lt;h2 id=&quot;-1-understanding-key-editorconfig-rules-&quot;&gt;&lt;strong&gt;1. Understanding Key .editorconfig Rules&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&quot;-line-endings-&quot;&gt;&lt;strong&gt;Line Endings: &lt;/strong&gt;``&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;end_of_line = crlf&lt;/code&gt; → Uses Windows-style line endings (&lt;code&gt;\r\n&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;end_of_line = lf&lt;/code&gt; → Uses Unix-style line endings (&lt;code&gt;\n&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;-file-header-template-&quot;&gt;&lt;strong&gt;File Header Template: &lt;/strong&gt;``&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;This removes any enforced file headers in new files.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;-operator-placement-&quot;&gt;&lt;strong&gt;Operator Placement: &lt;/strong&gt;``&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;end_of_line&lt;/code&gt; → Operators appear &lt;strong&gt;at the end&lt;/strong&gt; of the previous line.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;beginning_of_line&lt;/code&gt; → Operators appear &lt;strong&gt;at the start&lt;/strong&gt; of the new line.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;-field-qualification-&quot;&gt;&lt;strong&gt;Field Qualification: &lt;/strong&gt;``&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;true&lt;/code&gt; → Requires &lt;code&gt;this.&lt;/code&gt; for fields.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;false&lt;/code&gt; → No &lt;code&gt;this.&lt;/code&gt; needed for fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;-method-qualification-&quot;&gt;&lt;strong&gt;Method Qualification: &lt;/strong&gt;``&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;true&lt;/code&gt; → Requires &lt;code&gt;this.&lt;/code&gt; for methods.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;false&lt;/code&gt; → No &lt;code&gt;this.&lt;/code&gt; needed for methods.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;-collection-initializers-&quot;&gt;&lt;strong&gt;Collection Initializers: &lt;/strong&gt;``&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Prefers using collection initializers where possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;-null-propagation-&quot;&gt;&lt;strong&gt;Null Propagation: &lt;/strong&gt;``&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Prefers using &lt;code&gt;?.&lt;/code&gt; instead of explicit null checks.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;-accessibility-modifiers-&quot;&gt;&lt;strong&gt;Accessibility Modifiers: &lt;/strong&gt;``&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Requires accessibility modifiers for members where applicable.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;-parentheses-in-arithmetic-expressions-&quot;&gt;&lt;strong&gt;Parentheses in Arithmetic Expressions: &lt;/strong&gt;``&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Defines whether arithmetic expressions should include explicit parentheses for clarity.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;-experimental-settings-&quot;&gt;&lt;strong&gt;Experimental Settings (&lt;/strong&gt;``&lt;strong&gt;)&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Example: &lt;code&gt;dotnet_style_allow_multiple_blank_lines_experimental&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;_experimental&lt;/code&gt; means the feature is not yet finalized and may change.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;-enforcing-naming-conventions-&quot;&gt;&lt;strong&gt;Enforcing Naming Conventions&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 id=&quot;-example-pascalcase-for-constants-&quot;&gt;&lt;strong&gt;Example: PascalCase for Constants&lt;/strong&gt;&lt;/h4&gt;
&lt;pre&gt;&lt;code class=&quot;lang-ini&quot;&gt;&lt;span class=&quot;hljs-comment&quot;&gt;# Enforce PascalCase for constants&lt;/span&gt;
dotnet_naming_rule.constant_fields_should_be_pascal_case.&lt;span class=&quot;hljs-attr&quot;&gt;severity&lt;/span&gt; = warning
dotnet_naming_rule.constant_fields_should_be_pascal_case.&lt;span class=&quot;hljs-attr&quot;&gt;symbols&lt;/span&gt; = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.&lt;span class=&quot;hljs-attr&quot;&gt;style&lt;/span&gt; = pascal_case_style

dotnet_naming_symbols.constant_fields.&lt;span class=&quot;hljs-attr&quot;&gt;applicable_kinds&lt;/span&gt; = field
dotnet_naming_symbols.constant_fields.&lt;span class=&quot;hljs-attr&quot;&gt;applicable_accessibilities&lt;/span&gt; = *
dotnet_naming_symbols.constant_fields.&lt;span class=&quot;hljs-attr&quot;&gt;required_modifiers&lt;/span&gt; = const
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;-2-fixing-line-endings-in-your-solution-&quot;&gt;&lt;strong&gt;2. Fixing Line Endings in Your Solution&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&quot;-a-fix-line-endings-in-visual-studio-&quot;&gt;&lt;strong&gt;A. Fix Line Endings in Visual Studio&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 id=&quot;-option-1-use-advanced-save-options-&quot;&gt;&lt;strong&gt;Option 1: Use &quot;Advanced Save Options&quot;&lt;/strong&gt;&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Open a file → &lt;strong&gt;File&lt;/strong&gt; → &lt;strong&gt;Save As&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save with Encoding&lt;/strong&gt; → &lt;strong&gt;Advanced&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;LF (Unix)&lt;/strong&gt; under Line Endings.&lt;/li&gt;
&lt;li&gt;Save the file.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&quot;-option-2-find-replace-&quot;&gt;&lt;strong&gt;Option 2: Find &amp;amp; Replace&lt;/strong&gt;&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Find and Replace&lt;/strong&gt; (&lt;code&gt;Ctrl + H&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Find: &lt;code&gt;\r\n&lt;/code&gt;, Replace: &lt;code&gt;\n&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Regular Expressions&lt;/strong&gt; (&lt;code&gt;Alt + E&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Replace All&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;-b-fix-line-endings-in-resharper-&quot;&gt;&lt;strong&gt;B. Fix Line Endings in ReSharper&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;ReSharper&lt;/strong&gt; → &lt;strong&gt;Edit&lt;/strong&gt; → &lt;strong&gt;Adjust Line Breaks&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;LF (Unix)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Apply to the entire solution.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;-c-fix-line-endings-in-vs-code-&quot;&gt;&lt;strong&gt;C. Fix Line Endings in VS Code&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Command Palette&lt;/strong&gt; (&lt;code&gt;Ctrl + Shift + P&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Search for &lt;strong&gt;Change End of Line Sequence&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;LF (Unix)&lt;/strong&gt; and save the file.&lt;/li&gt;
&lt;li&gt;Install &lt;strong&gt;&quot;Line Endings Unifier&quot;&lt;/strong&gt; for bulk fixes.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;-d-fix-line-endings-using-git-&quot;&gt;&lt;strong&gt;D. Fix Line Endings Using Git&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Add to &lt;code&gt;.gitattributes&lt;/code&gt;:&lt;pre&gt;&lt;code&gt;* &lt;span class=&quot;hljs-built_in&quot;&gt;text&lt;/span&gt; eol=lf
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;Run:&lt;pre&gt;&lt;code class=&quot;lang-sh&quot;&gt;git rm &lt;span class=&quot;hljs-comment&quot;&gt;--cached -r .&lt;/span&gt;
git &lt;span class=&quot;hljs-keyword&quot;&gt;reset&lt;/span&gt; &lt;span class=&quot;hljs-comment&quot;&gt;--hard&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;-3-scanning-the-solution-for-violations-&quot;&gt;&lt;strong&gt;3. Scanning the Solution for Violations&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&quot;-a-scan-for-violations-in-visual-studio-&quot;&gt;&lt;strong&gt;A. Scan for Violations in Visual Studio&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Analyze&lt;/strong&gt; → &lt;strong&gt;Run Code Analysis on Solution&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Check the &lt;strong&gt;Error List&lt;/strong&gt; (&lt;code&gt;Ctrl + \&lt;/code&gt;, &lt;code&gt;E&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Filter &lt;strong&gt;Warnings&lt;/strong&gt; to find &lt;code&gt;.editorconfig&lt;/code&gt; violations.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;-b-scan-using-resharper-&quot;&gt;&lt;strong&gt;B. Scan Using ReSharper&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;ReSharper&lt;/strong&gt; → &lt;strong&gt;Inspect&lt;/strong&gt; → &lt;strong&gt;Code Issues in Solution&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Look for &lt;strong&gt;naming and formatting violations&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;-c-scan-in-vs-code-&quot;&gt;&lt;strong&gt;C. Scan in VS Code&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open the &lt;strong&gt;Problems Panel&lt;/strong&gt; (&lt;code&gt;Ctrl + Shift + M&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Run:&lt;pre&gt;&lt;code class=&quot;lang-sh&quot;&gt;dotnet &lt;span class=&quot;hljs-built_in&quot;&gt;format&lt;/span&gt; --&lt;span class=&quot;hljs-built_in&quot;&gt;verify&lt;/span&gt;-no-changes
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;-d-scan-using-command-line-&quot;&gt;&lt;strong&gt;D. Scan Using &lt;/strong&gt;``&lt;strong&gt; (Command Line)&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Run:&lt;pre&gt;&lt;code class=&quot;lang-sh&quot;&gt;dotnet &lt;span class=&quot;hljs-built_in&quot;&gt;format&lt;/span&gt; &lt;span class=&quot;hljs-comment&quot;&gt;--severity warn&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;This scans but does &lt;strong&gt;not&lt;/strong&gt; auto-fix issues.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;To &lt;strong&gt;auto-fix&lt;/strong&gt;, run:&lt;pre&gt;&lt;code class=&quot;lang-sh&quot;&gt;dotnet &lt;span class=&quot;hljs-built_in&quot;&gt;format&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;-4-recommended-order-for-editorconfig-rules-&quot;&gt;&lt;strong&gt;4. Recommended Order for .editorconfig Rules&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;For readability, define rules in this order:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Naming Styles (&lt;/strong&gt;``&lt;strong&gt;)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Applicable Symbols (&lt;/strong&gt;``&lt;strong&gt;)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Naming Rules (&lt;/strong&gt;``&lt;strong&gt;)&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;-example-pascalcase-for-constants-&quot;&gt;&lt;strong&gt;Example (PascalCase for Constants)&lt;/strong&gt;&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;lang-ini&quot;&gt;&lt;span class=&quot;hljs-comment&quot;&gt;# 1️⃣ Define the style&lt;/span&gt;
dotnet_naming_style.upper_case_underscore_style.&lt;span class=&quot;hljs-attr&quot;&gt;capitalization&lt;/span&gt; = all_upper
dotnet_naming_style.upper_case_underscore_style.&lt;span class=&quot;hljs-attr&quot;&gt;word_separator&lt;/span&gt; = _

&lt;span class=&quot;hljs-comment&quot;&gt;# 2️⃣ Define the applicable symbols&lt;/span&gt;
dotnet_naming_symbols.constant_fields.&lt;span class=&quot;hljs-attr&quot;&gt;applicable_kinds&lt;/span&gt; = field
dotnet_naming_symbols.constant_fields.&lt;span class=&quot;hljs-attr&quot;&gt;required_modifiers&lt;/span&gt; = const

&lt;span class=&quot;hljs-comment&quot;&gt;# 3️⃣ Define the naming rule&lt;/span&gt;
dotnet_naming_rule.constants_upper_case.&lt;span class=&quot;hljs-attr&quot;&gt;severity&lt;/span&gt; = warning
dotnet_naming_rule.constants_upper_case.&lt;span class=&quot;hljs-attr&quot;&gt;symbols&lt;/span&gt; = constant_fields
dotnet_naming_rule.constants_upper_case.&lt;span class=&quot;hljs-attr&quot;&gt;style&lt;/span&gt; = upper_case_underscore_style
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;-5-summary-best-methods-to-check-violations-&quot;&gt;&lt;strong&gt;5. Summary: Best Methods to Check Violations&lt;/strong&gt;&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Scan for Violations&lt;/th&gt;
&lt;th&gt;Auto-Fix?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Visual Studio (&lt;code&gt;Run Code Analysis&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ReSharper (&lt;code&gt;Code Issues in Solution&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;td&gt;✅ Yes (bulk fixes)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VS Code (&lt;code&gt;dotnet format&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Terminal (&lt;code&gt;dotnet format --verify-no-changes&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/8888830889588785493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2025/02/guide-to-enforcing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/8888830889588785493'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/8888830889588785493'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2025/02/guide-to-enforcing.html' title='Guide to Enforcing .editorconfig Rules in Visual Studio'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-1815244858208589288</id><published>2024-10-06T11:01:00.009+08:00</published><updated>2024-10-07T06:59:19.993+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="work"/><title type='text'>Waking Up Earlier. Three Months Reflection</title><content type='html'>&lt;p&gt;I&amp;nbsp; gave myself a birthday gift - &quot;To Wake Up at 6:15 am Everyday&quot;, on my last birthday (Jun 2024). This post is a short note and self-reflection for practicing it.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;I thought it would be hard to persist before I started it. But it went well.&lt;/li&gt;&lt;li&gt;I felt a huge productivity boost in the first month because I suddenly made an additional one-and-a-half hour available daily. I used to wake up at 7:15 am but spent the time preparing myself to work (7:15 am to 8:00 am). Now, I wake up, brush, wash my face, get a coffee, and immediately jump to work. By 8:00 am, I have a full good one-and-a-half hour of uninterrupted work. The best part of all is on the weekends - I can now spare time to have weekend breakfast&amp;nbsp;(usually after 9 am)&amp;nbsp; with Caren if she wants to eat out and not feel guilty.&lt;/li&gt;&lt;li&gt;I&#39;m a better leader because I spend time planning the work before I enter the office. I&#39;m more well prepared.&lt;/li&gt;&lt;li&gt;I had a lower focus after 2 pm, especially in the first two weeks. Fix it by making those hours a discussion session (e.g. meetings, check-ins with colleagues). I notice that it (lower energy after 2 pm) happens if I go to bed late the night before.&lt;/li&gt;&lt;li&gt;I chose not to go for exercise in the morning (like some successful leaders) because I have time for sports (basketball every Tuesday, Sunday night, and occasionally Saturday evening).&lt;/li&gt;&lt;li&gt;I think this habit will stay for the rest of my life.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Probably the best birthday gift I ever gave to myself.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2l1QNmNcK2YF7C4WHGSCu0n9Pd6yIrm0mznE8-qis4Jad4VjrDI4DlPsD5cnFcNgEf4tQ2t-_Zh8e1uUbiiT-wxTWFb9ILPvs-FwPdA-PBQmyu0gsdEmUA0n0sRsBYOs51WtUpc-idCOaZ5i4P9FgXWAjhNd_Ic4-IlEFNPvjKcISZAz2bcGmK2cejjQ/s1683/IMG_4111.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1683&quot; data-original-width=&quot;1170&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2l1QNmNcK2YF7C4WHGSCu0n9Pd6yIrm0mznE8-qis4Jad4VjrDI4DlPsD5cnFcNgEf4tQ2t-_Zh8e1uUbiiT-wxTWFb9ILPvs-FwPdA-PBQmyu0gsdEmUA0n0sRsBYOs51WtUpc-idCOaZ5i4P9FgXWAjhNd_Ic4-IlEFNPvjKcISZAz2bcGmK2cejjQ/w222-h320/IMG_4111.jpg&quot; width=&quot;222&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;NOTE: I tried to go to bed at 11 pm but I usually ended up sleeping at 11:45 pm after talking to Caren.&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/1815244858208589288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2024/10/waking-up-earlier-three-months.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/1815244858208589288'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/1815244858208589288'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2024/10/waking-up-earlier-three-months.html' title='Waking Up Earlier. Three Months Reflection'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2l1QNmNcK2YF7C4WHGSCu0n9Pd6yIrm0mznE8-qis4Jad4VjrDI4DlPsD5cnFcNgEf4tQ2t-_Zh8e1uUbiiT-wxTWFb9ILPvs-FwPdA-PBQmyu0gsdEmUA0n0sRsBYOs51WtUpc-idCOaZ5i4P9FgXWAjhNd_Ic4-IlEFNPvjKcISZAz2bcGmK2cejjQ/s72-w222-h320-c/IMG_4111.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-3257394476424150111</id><published>2023-08-09T12:11:00.003+08:00</published><updated>2023-08-09T12:12:24.939+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Penang"/><category scheme="http://www.blogger.com/atom/ns#" term="WIT"/><title type='text'>WIT Penang 2023</title><content type='html'>&lt;h2 style=&quot;text-align: left;&quot;&gt;Here are the notes taken for attending WIT Penang 2023.&lt;/h2&gt;&lt;p&gt;Here are the travel indies attending the event:&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dwI77QiFkbndTJjB1vj-SoQSrzL9KJYnsH5PdfuBO8dMFJ5taNVOUi8jRgs2SEdlQHQMM2c-KL-IDXcF6I-VA&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Part One - &quot;Things-to-do&quot; Segment&lt;/h3&gt;&lt;ul style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Most users refer to tours and activities as &quot;Things to do&quot;. Thanks to Google.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;People over 40 search for &quot;things to do&quot; upon arrival and on-trip.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;People younger than 40 search and plan for &quot;things to do&quot; before the trip. Why? Because they want to squeeze in as many attractions/cafes/locations as possible to get lovely photos (for their Instagram, TikTok posts)&lt;/span&gt;&lt;/li&gt;&lt;ul style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Because of the above, there&#39;s a demand for Things-to-do booking engine.&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Who influences their choice? KOL. KOL stands for key-opinion-leader; they&#39;re influencers. KOL has outperformed Google Ads in attracting bookings because customers look for opportunities to take photos and videos (mimicking KOLs).&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Types of tours and activities&lt;/span&gt;&lt;/li&gt;&lt;ul style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Attractions - lego land, zoo tickets, circus, etc. Entrances with a ticket/passes. No assistance.&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Tours - jungle tracking tour, Kinabatangan river cruise tour (e.g. https://borneoadventure.com/). Basically, group activities with assistance (e.g. tour guide, trekking guide, instructors, driver, etc).&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Events - similar to attractions but for a limited time only. (e.g. Taylor Swift&#39;s concert).&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Examples of operators&lt;/span&gt;&lt;/li&gt;&lt;ul style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Attractions&lt;/span&gt;&lt;/li&gt;&lt;ul style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li class=&quot;ql-indent-2&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;https://www.legoland.com.my/&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-2&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;https://sunwaylagoon.com/&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-2&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Circus https://pharecircus.org/&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Tours&lt;/span&gt;&lt;/li&gt;&lt;ul style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li class=&quot;ql-indent-2&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Many tours on this site https://borneoadventure.com/&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-2&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;One day trip to Sekinchan https://www.klook.com/en-MY/activity/10630-sky-mirror-sekinchan-paddy-field-tour-kuala-lumpur&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-2&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;One day historical trip to Melaka https://www.klook.com/en-MY/activity/12010-historical-melaka-with-lunch-kuala-lumpur/&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Examples of Things-to-do Direct Booking Engine&lt;/span&gt;&lt;/li&gt;&lt;ul style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Rezdy https://rezdy.com/&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;GlobalTix https://globaltix.com/&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Examples of Things-to-do OTAs&lt;/span&gt;&lt;/li&gt;&lt;ul style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Klook https://www.klook.com/ms-MY/&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Funnow https://www.myfunnow.com/en&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;GoCity https://gocity.com/en-us&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Channel manager of Things-to-do OTAs is also available. Globaltix providing one. I believe channel manager works more for tours than attractions because tours have limited inventory (because of tour guides, drivers, car seats, etc).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;color: #0e101a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #0e101a;&quot;&gt;Part Two - Others&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ul style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;ChatGPT makes voice control better. In the past, email replaced fax. Now, messages (WhatsApp, slack) replaced email. In the future, voice will replace messages. Imagine having a virtual assistant who listens and works for us. Voice will become the main user interface.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Korean drama &quot;Start-up&quot; gives us an idea of how the Korean corporate world works.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;My dream comes true - ChatGPT doing customer support. https://replyr.ai/&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Using Midjourney to draw https://www.youtube.com/watch?v=A5XYgU9-Xs0&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Sound is part of branding. Many big brands have a dedicated sound for their product. https://www.youtube.com/watch?v=vpduxRd9orM&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Regarding marketing analytics, we can track &quot;click to site&quot; and &quot;revenue clicks&quot; to measure marketing campaigns. &quot;Click to site&quot; tracks brand campaigns; it focuses on the number of user reach. &quot;Revenue click&quot; tracks performance campaigns; it focuses on revenue conversion. Know our marketing campaign&#39;s objective and use the right metric to track it.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Travel long tail keywords. An example is &quot;Souvenir&quot; for the travel site because tourists want to buy a souvenir and want to check where they can purchase it. GoCity (things-to-do OTA) using this keyword to attract web traffic.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;With all the generated videos and images, being authentic is the key to as brand. How to be authentic?&lt;/span&gt;&lt;/li&gt;&lt;ul style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Non-perfect images. Rough edges and be real.&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Showing our faces on social media becomes more important so the customers know the people behind the company.&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;ql-indent-1&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; list-style-type: disc; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;We should still adopt AI-generated content but we must do both. AI helps with productivity and original content helps with authenticity.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;color: #0e101a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH75vnCitWri0mjkJL5RX2-EY6lltQOmzAUH5sk0B4_xT7vLYVlOceAr-jTVGkcc_LcBHptw15ZkbQMlDnsfNI_ZooQDPXLIEYo-caohxxOnnOR4w3qn0T1FfK6z5-fqFjiPilUGYuxBrsanj51XHlrj-3VwUKVeDVIWp_hichZN_Td_BvazMd9qly5Fc/s4032/IMG_2062.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4032&quot; data-original-width=&quot;3024&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH75vnCitWri0mjkJL5RX2-EY6lltQOmzAUH5sk0B4_xT7vLYVlOceAr-jTVGkcc_LcBHptw15ZkbQMlDnsfNI_ZooQDPXLIEYo-caohxxOnnOR4w3qn0T1FfK6z5-fqFjiPilUGYuxBrsanj51XHlrj-3VwUKVeDVIWp_hichZN_Td_BvazMd9qly5Fc/s320/IMG_2062.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;WIT Indie Penang 2023 at Penang Institute&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVBouUTtE7XDKITujrixKk-4zImCLVRqyboibCVyVGc7Nv70gwAkCDvZtcNBa22JeoygfjVRROG99bIXvyqFtzFJsa8NKwyt5-SgLAynoWDUBBtdoKvI1Ihnk8vYRxuKxdKeVdztspkpVx6TkbzEbUz5eSg9OnrqKCj7zS_vFC3kOGcs5eQyXbsPqKDIc/s4032/IMG_2069.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3024&quot; data-original-width=&quot;4032&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVBouUTtE7XDKITujrixKk-4zImCLVRqyboibCVyVGc7Nv70gwAkCDvZtcNBa22JeoygfjVRROG99bIXvyqFtzFJsa8NKwyt5-SgLAynoWDUBBtdoKvI1Ihnk8vYRxuKxdKeVdztspkpVx6TkbzEbUz5eSg9OnrqKCj7zS_vFC3kOGcs5eQyXbsPqKDIc/s320/IMG_2069.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEins5ncE-TEDn0sLnCjrgEZzvINSYSQlb201qEIKZUZj3nmxD2xcMSEW9ViGITp1rTcptt4vJw51s_ge2oHhMKobvKPD57rTdGTdISc0FL859wekSzCVi5UuAzj7E0Lwdcad4AHEKdGOutZHKJcvtNyrDQeRibZFvRT1wmYO8u2eSoPe9WVxrdQUTkaGeI/s4032/IMG_2070.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3024&quot; data-original-width=&quot;4032&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEins5ncE-TEDn0sLnCjrgEZzvINSYSQlb201qEIKZUZj3nmxD2xcMSEW9ViGITp1rTcptt4vJw51s_ge2oHhMKobvKPD57rTdGTdISc0FL859wekSzCVi5UuAzj7E0Lwdcad4AHEKdGOutZHKJcvtNyrDQeRibZFvRT1wmYO8u2eSoPe9WVxrdQUTkaGeI/s320/IMG_2070.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaTLIy33IJ3MQYCSNNKTJ6mXiFNWJ6jMf8o1NLmvjD7eQwT7MUzoJ0PTj_lHvY3zh_YUn30eLB-ClVgfKbASZ-i3l7dsO5HYhoL2UNDul5nhkZ9YWAYKK0SZyfYv8Mmu7oTe_yrLYA6O5lJW4JFLA19IqEzM6vsrTM58BFnA4cPY_oFvK5MH5AOiUF06U/s4032/IMG_2078.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4032&quot; data-original-width=&quot;3024&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaTLIy33IJ3MQYCSNNKTJ6mXiFNWJ6jMf8o1NLmvjD7eQwT7MUzoJ0PTj_lHvY3zh_YUn30eLB-ClVgfKbASZ-i3l7dsO5HYhoL2UNDul5nhkZ9YWAYKK0SZyfYv8Mmu7oTe_yrLYA6O5lJW4JFLA19IqEzM6vsrTM58BFnA4cPY_oFvK5MH5AOiUF06U/s320/IMG_2078.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnswok5w930nXoep5emXXxZ2K9qBzBsuc-f61nULPm18TDLcMBG-MRmYSH2r3gipH6zUm8OQqqQe92CcXSVA9GNpbPmYO_elF7TqkkNnlJwjY4nZhoVaXGAhw2JoPGRiNNGosfr_kkv0a1zSCiwWp8TEOtyxUSpDCNwH0lpWr1q5upvylI84eHU2WK934/s4032/The-Century-Hotel.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3024&quot; data-original-width=&quot;4032&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnswok5w930nXoep5emXXxZ2K9qBzBsuc-f61nULPm18TDLcMBG-MRmYSH2r3gipH6zUm8OQqqQe92CcXSVA9GNpbPmYO_elF7TqkkNnlJwjY4nZhoVaXGAhw2JoPGRiNNGosfr_kkv0a1zSCiwWp8TEOtyxUSpDCNwH0lpWr1q5upvylI84eHU2WK934/s320/The-Century-Hotel.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Bumped into a hotel that will go live with Softinn&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style=&quot;color: #0e101a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/3257394476424150111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2023/08/wit-penang-2023.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/3257394476424150111'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/3257394476424150111'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2023/08/wit-penang-2023.html' title='WIT Penang 2023'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH75vnCitWri0mjkJL5RX2-EY6lltQOmzAUH5sk0B4_xT7vLYVlOceAr-jTVGkcc_LcBHptw15ZkbQMlDnsfNI_ZooQDPXLIEYo-caohxxOnnOR4w3qn0T1FfK6z5-fqFjiPilUGYuxBrsanj51XHlrj-3VwUKVeDVIWp_hichZN_Td_BvazMd9qly5Fc/s72-c/IMG_2062.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-7324735727101051459</id><published>2022-04-13T11:58:00.010+08:00</published><updated>2022-04-20T11:52:08.639+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="covid"/><category scheme="http://www.blogger.com/atom/ns#" term="hotel kiosk"/><category scheme="http://www.blogger.com/atom/ns#" term="softinn"/><title type='text'>Hotel Kiosk Project</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;The first outbreak of the COVID pandemic in Mar 2020 has put Malaysian hotel businesses to a halt. The first Movement Control Order (MCO) was imposed to contain the outbreak. However, while the MCO contained the outbreak, it also hampered all the business activities.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;In the next twelve months after Mar 2020 (the first MCO), I learned all the bad news - hotels shutting down, hoteliers getting laid off, experienced hotel veterans retiring earlier (VSS, volunteering separation scheme), etc. My fellow friends who used to travel before the COVID to attend expos tried to stay connected with tons of online seminars and panel sessions. I remembered watching those video footages on the news showing empty streets and logo of familiar hotel brands with headlines - &quot;Another hotel shutting down&quot;.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;In the office, at Softinn, worried looms. Though I appeared calm from the outside, I believe internally, I&#39;m stressed. Caren (my wife) noticed the &quot;uneasiness&quot; in my sleep while I notice only a lil difference. Stress that goes unnoticed is the one that is deadly.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Softinn can&#39;t do well if our customers (the hotels) are not doing well. The shareholders&#39; meetings seem like soul searching discussions (occasionally debates) that lead to no solution. We have no idea what we need to do with our business - pivot? hibernate? shutting it down?&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;While some of the industry players chose to pivot into the food delivery business, groceries delivery business, online seminar, training business etc, Softinn hunkered down. We&#39;re trying to keep the business afloat (without laying off) while trying to look for the next lifebuoy. We had a few discussions. We don&#39;t know what we were doing.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Based on our discussions (and occasionally debates), we choose the path of either we survive or we die. Instead of looking for another stream of revenue, we choose to develop our solution further for the hotel industry. This is a bid. If the COVID extended, we ran out of business; the business die. If we survive, our solution will help the industry to resume its business and thrive after the pandemic. Shareholders raised their concern about the cost of the RnD and wonder if we have the financial support to do this. We tried asking for a government grant, no success. We have to somehow figure it out ourself. No additional financial support. That&#39;s how we started the Hotel Kiosk Projet, full of uncertainties and yet determined.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Today (13.Apr.2022), I&#39;m glad that we&#39;re still here. I can only say that humans are resilient, and the business can only be as resilient as those who work in it. In this case, the Softinn team did it together. We&#39;re grateful to our customers, partners, and family members who supported us during this trying period.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Our bid seems to be working. The hotel industry is recovering, the inquiries for the hotel kiosk have gone up and the number of hotels with kiosk installations has also grown. On top of that, the transactions over the kiosk are also on an uptrend. Some of our customers (e.g GG Hotel Sunway and Kavy Hotel Cameron Highlands) went all the way to the unmanned hotel concept. They entirely rely on the kiosk to serve the guest.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Here are some of the photos taken during this period.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIfzQe_99RCnlYc_DGTD06TvpR148QhX_8gM87X3rMlsgSieW217jkX_2j2QuSeSI8uEhxZ8wfwe8zBexV9frccc9g4V7wlMiItc7jl7gzPPWZnPt0wB16Clvhv_LTGy4HEFIGZpyHNn3o6ctl-CBIo03683SjblPAD1rynRv6dk8Cd0U9DcRZbc9E/s4000/IMG_20200318_181432.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Set up my office on the dining table&quot; border=&quot;0&quot; data-original-height=&quot;3000&quot; data-original-width=&quot;4000&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIfzQe_99RCnlYc_DGTD06TvpR148QhX_8gM87X3rMlsgSieW217jkX_2j2QuSeSI8uEhxZ8wfwe8zBexV9frccc9g4V7wlMiItc7jl7gzPPWZnPt0wB16Clvhv_LTGy4HEFIGZpyHNn3o6ctl-CBIo03683SjblPAD1rynRv6dk8Cd0U9DcRZbc9E/w400-h300/IMG_20200318_181432.jpg&quot; title=&quot;Set up my office on the dining table&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Set up my home office on the dining table&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRpvwxphDqZ93HIN1scZr3uEgaQYBD_dFBVfhumT9SXW37U8uSAgj758kcA5ZryxlLnh5OQb2pIrSIH-XDGXUL2_IEv1JtoqGyo2HVy3BnCpxwCmNvy5oB21x9CQqKorN90auLTBtq4MFqg6Y0wG5FR5wvuSwrbGIa3JEZxdIpDj9aexHyieinjdMX/s4000/IMG_20200328_104130.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3000&quot; data-original-width=&quot;4000&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRpvwxphDqZ93HIN1scZr3uEgaQYBD_dFBVfhumT9SXW37U8uSAgj758kcA5ZryxlLnh5OQb2pIrSIH-XDGXUL2_IEv1JtoqGyo2HVy3BnCpxwCmNvy5oB21x9CQqKorN90auLTBtq4MFqg6Y0wG5FR5wvuSwrbGIa3JEZxdIpDj9aexHyieinjdMX/w400-h300/IMG_20200328_104130.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Empty office. Everyone works from home.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia-5cOA2NXymeeSfpOoGM8AqJtrbMfisl-upSgzar65WtP60wBclczmew5TnTPkzUCaxizq6Uvzr3wozjmc9JnbB_6c8V5HzNaMGK1Ra0U8lqCvgayUvdSQQLYQ1Q2mS-VIMfsXt8ylsnoYgtik2WepM7zDEfHI2u4TxgwkfLWNji8D9w7_nQpU4_c/s4000/IMG_20200418_134100.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia-5cOA2NXymeeSfpOoGM8AqJtrbMfisl-upSgzar65WtP60wBclczmew5TnTPkzUCaxizq6Uvzr3wozjmc9JnbB_6c8V5HzNaMGK1Ra0U8lqCvgayUvdSQQLYQ1Q2mS-VIMfsXt8ylsnoYgtik2WepM7zDEfHI2u4TxgwkfLWNji8D9w7_nQpU4_c/s320/IMG_20200418_134100.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Caren learnt how to cook. She is nailing it.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiONPJNBDhZdyjH9_biYNhKkT2Ex0iJsRKxXrOeIonciUiPETU7p1syT22ihN6sd0hFZQJd9vVNYvTJMu0CyTzyEvs4t00N2FoOAs8MvEBie4oArmFqUfAwOm1YmA3zfhp5PBVH1Gdl9ev35O1j4SDLActHwr8e41oDsJXODm2D0gRLG2OrV_GoMfM/s4000/IMG_20200606_160335.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4000&quot; data-original-width=&quot;3000&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiONPJNBDhZdyjH9_biYNhKkT2Ex0iJsRKxXrOeIonciUiPETU7p1syT22ihN6sd0hFZQJd9vVNYvTJMu0CyTzyEvs4t00N2FoOAs8MvEBie4oArmFqUfAwOm1YmA3zfhp5PBVH1Gdl9ev35O1j4SDLActHwr8e41oDsJXODm2D0gRLG2OrV_GoMfM/s320/IMG_20200606_160335.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;First attempt to integrate with a hotel door lock. One of the requirements for hotel kiosks.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSUKq8m41YuRSRylV8t_t_qz2K8wgb2VAQ-jlqRm9RBYc7KfzPsc2yJBSixDu_aSFr9i7VgqmX8wNc3ujTUMW7IfQmVRUEkiK7KwvB_k7tbC_mwpzhUZCOHft5d3NT_IZxVS8yUh9e12hC6htgJuore7hVLGmD9NDK5lbnqP6yhYgfJHbjQHvTz8X2/s2340/IMG_20200623_214316.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2340&quot; data-original-width=&quot;1080&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSUKq8m41YuRSRylV8t_t_qz2K8wgb2VAQ-jlqRm9RBYc7KfzPsc2yJBSixDu_aSFr9i7VgqmX8wNc3ujTUMW7IfQmVRUEkiK7KwvB_k7tbC_mwpzhUZCOHft5d3NT_IZxVS8yUh9e12hC6htgJuore7hVLGmD9NDK5lbnqP6yhYgfJHbjQHvTz8X2/s320/IMG_20200623_214316.jpg&quot; width=&quot;148&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Trying to show my mum (remotely) how to set up a TV box to watch YouTube. They were bored to death staying at home.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8qSLE3N-upZNlr0v26lOTk6DA2E30ZG8nduFTa_fPE-1wB-0WPb2HsNq14FYEUN3VE2Q8CpCg7SeheV-6mzzxzW-bRnDf_FqmNKsQb3-poHzFiDhjnJDGsnGGvsd4JIbquU-8wSDvyqu7sjPdmGoJOsfaVFfOcQrqTF8DUlh4kojhKMfubFINkO3a/s4000/IMG_20200716_102718.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3000&quot; data-original-width=&quot;4000&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8qSLE3N-upZNlr0v26lOTk6DA2E30ZG8nduFTa_fPE-1wB-0WPb2HsNq14FYEUN3VE2Q8CpCg7SeheV-6mzzxzW-bRnDf_FqmNKsQb3-poHzFiDhjnJDGsnGGvsd4JIbquU-8wSDvyqu7sjPdmGoJOsfaVFfOcQrqTF8DUlh4kojhKMfubFINkO3a/s320/IMG_20200716_102718.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;The passport scanner and the room key dispenser for the hotel kiosk project.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHHcZ-8UngP5-h9Z85or7KqnoYJcYrIV52LZyqCYePD_pwF4KoeGM0X7BdL35RY-v6mINBVbPbvkltEaJbCsh39RNXU1hwQ2sJPGM0zC16PrZAHUrncB_e4YWpNGRE6wwZXqPBCQVNTw3W9878Ljq9hPOFETyxM2KS3GssUMda_yIAZux5ZDBJTzRj/s4224/IMG_20200809_063938.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3136&quot; data-original-width=&quot;4224&quot; height=&quot;238&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHHcZ-8UngP5-h9Z85or7KqnoYJcYrIV52LZyqCYePD_pwF4KoeGM0X7BdL35RY-v6mINBVbPbvkltEaJbCsh39RNXU1hwQ2sJPGM0zC16PrZAHUrncB_e4YWpNGRE6wwZXqPBCQVNTw3W9878Ljq9hPOFETyxM2KS3GssUMda_yIAZux5ZDBJTzRj/s320/IMG_20200809_063938.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;The first holiday after the MCO order was lifted. Visited Sungai Lembing (Sep 2020).&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyQjtY5SoyMVB_AaHtsO9n-5VVlVKA_hEU6wAUdCuTo_MiPKdb0uBkof03gqa4E-50093sNCsk5o3Anlc4ax2uIWWr4qNMNDXqEt3umtToYnFqKAF2jQUZWN0AlnvynBKwBFKuUoUuTQ_5lOK8MMXBktodFuk4cZ6vbl8gs0joIXPpOL6xZ1NeZD6u/s4000/IMG_20200918_193615.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3000&quot; data-original-width=&quot;4000&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyQjtY5SoyMVB_AaHtsO9n-5VVlVKA_hEU6wAUdCuTo_MiPKdb0uBkof03gqa4E-50093sNCsk5o3Anlc4ax2uIWWr4qNMNDXqEt3umtToYnFqKAF2jQUZWN0AlnvynBKwBFKuUoUuTQ_5lOK8MMXBktodFuk4cZ6vbl8gs0joIXPpOL6xZ1NeZD6u/s320/IMG_20200918_193615.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Started to put things together for the kiosk. Working alone in the office still.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5PRQm2xldZcYpy4CVJR4U9l8530aSZt30OegFzj6NAmJA2eHg7WFGJGHH6wg6mzyZiLzWu-Q0PAnP5-MnUjS15kotJxFNXjQro5zCgRkqEB7GOpC4LfglSjsMenmEV4pUt4MkWtZbDKaRGbVfobYlOirsop80ys_3paEiapYUBo_YKjHTsaLw79Hr/s4608/IMG_20201117_143559.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2592&quot; data-original-width=&quot;4608&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5PRQm2xldZcYpy4CVJR4U9l8530aSZt30OegFzj6NAmJA2eHg7WFGJGHH6wg6mzyZiLzWu-Q0PAnP5-MnUjS15kotJxFNXjQro5zCgRkqEB7GOpC4LfglSjsMenmEV4pUt4MkWtZbDKaRGbVfobYlOirsop80ys_3paEiapYUBo_YKjHTsaLw79Hr/s320/IMG_20201117_143559.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;My table getting messier as we integrate with more hardware.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRr9HtEj3YlroPRKjbvqLnbSjng6MrC_df5__JDXGdyRvH_btryHxO8hlwcD3Fubyuaz_4l0TZxineXZla3a_KB8VsDNLIHVBJBtXdaXsbzzC9T0XyO0R1LqfC-X1SaPo77tYszTpn3MxwMKcHn2v4xj4lf8B5kmwBMIy4XE-ACvNdNmkPg1zqF2dH/s4624/IMG_20201126_182604.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3472&quot; data-original-width=&quot;4624&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRr9HtEj3YlroPRKjbvqLnbSjng6MrC_df5__JDXGdyRvH_btryHxO8hlwcD3Fubyuaz_4l0TZxineXZla3a_KB8VsDNLIHVBJBtXdaXsbzzC9T0XyO0R1LqfC-X1SaPo77tYszTpn3MxwMKcHn2v4xj4lf8B5kmwBMIy4XE-ACvNdNmkPg1zqF2dH/s320/IMG_20201126_182604.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Implemented the user interface of the kiosk.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR8ctZTgVgBD33Jpc9V0pMCA_8r5RRndOQXtUxTY9KBqq7VG5ZM0M5C5UQvpoAiEztIZtwydsMXN3_jCL-q71H4dphr45HC420hFBWt7Cxg_TaqBScExQ8_46mefBb2VEzgDum1cUec94dP-Nmsf6lOql877lv5w3xFBoy4Ln7McUSIlXX-zOnKVZQ/s4608/IMG_20201224_173914.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2592&quot; data-original-width=&quot;4608&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR8ctZTgVgBD33Jpc9V0pMCA_8r5RRndOQXtUxTY9KBqq7VG5ZM0M5C5UQvpoAiEztIZtwydsMXN3_jCL-q71H4dphr45HC420hFBWt7Cxg_TaqBScExQ8_46mefBb2VEzgDum1cUec94dP-Nmsf6lOql877lv5w3xFBoy4Ln7McUSIlXX-zOnKVZQ/s320/IMG_20201224_173914.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Everyone came back to work in the office. We celebrated X&#39;mas.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR95qlRK2HCz2KYiGOtYz3UuvOuvF_tNCKVNaNVbplAab425_4wno-yg6b9qlzW5liMrfG65--L9T7qwwTkCMVWG_Q-rk_MTdgRQEtnk6vbuAZxzODLARKgRo7rAjXvQcXbFuzgGvEPdLSI426d3-9y4Io9FN3wuIzUJdQNPCH30mzGo-o_yolLZrT/s4608/IMG_20210107_092844.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2592&quot; data-original-width=&quot;4608&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR95qlRK2HCz2KYiGOtYz3UuvOuvF_tNCKVNaNVbplAab425_4wno-yg6b9qlzW5liMrfG65--L9T7qwwTkCMVWG_Q-rk_MTdgRQEtnk6vbuAZxzODLARKgRo7rAjXvQcXbFuzgGvEPdLSI426d3-9y4Io9FN3wuIzUJdQNPCH30mzGo-o_yolLZrT/s320/IMG_20210107_092844.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Sketched a use case of the hotel kiosk. Imagining user interactions with the hotel kiosk.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi815YsE9FbxKktMQdt1xpJ0ujmJSZruxTzhlxlfxnsdTjSkywDzM63Zn-qb84vpKYZumxc7J05S2PMGAugzrGn_qI87TS7H5oYB6q0N9OpFVLU8-Z8KPueBFwlgG3fceL6eU8PaNeetR9G5PLNO7F-D5n3VW0boLkfjNuUu_rHH6ER59NZKjCkX8J4/s4623/IMG_20210327_085106.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4623&quot; data-original-width=&quot;3460&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi815YsE9FbxKktMQdt1xpJ0ujmJSZruxTzhlxlfxnsdTjSkywDzM63Zn-qb84vpKYZumxc7J05S2PMGAugzrGn_qI87TS7H5oYB6q0N9OpFVLU8-Z8KPueBFwlgG3fceL6eU8PaNeetR9G5PLNO7F-D5n3VW0boLkfjNuUu_rHH6ER59NZKjCkX8J4/s320/IMG_20210327_085106.jpg&quot; width=&quot;239&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Getting better at hairdressing myself.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGnckBiJPcUVnbgHI-nUGaqoRkr_UF7qVF9ibZvYBQjhsATZYy0QS9HY9-LAmjFcplwkgm5PkhxnaLpOB0kJq0k3WvwQ4Z814WRSIARz0dtgIpOuIZP1Pddoae5J2XbxV9Vogp8ZAjdOtx1ghduzcwuggDGny0-Th_8YV2Wd7On_iweVNxZ2E37yhF/s4624/IMG_20210420_162125.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3472&quot; data-original-width=&quot;4624&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGnckBiJPcUVnbgHI-nUGaqoRkr_UF7qVF9ibZvYBQjhsATZYy0QS9HY9-LAmjFcplwkgm5PkhxnaLpOB0kJq0k3WvwQ4Z814WRSIARz0dtgIpOuIZP1Pddoae5J2XbxV9Vogp8ZAjdOtx1ghduzcwuggDGny0-Th_8YV2Wd7On_iweVNxZ2E37yhF/s320/IMG_20210420_162125.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Putting it together for everyone in the office to experience the hotel kiosk system.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjksV4Sj86vII7c433TeV0YdI-JTC9x2rgmUPMaFmOkamgUqRBLubJGWQHHm4ft8BkzD5GmcY41dsqkDBuYhX9OmJDXS68i6pO6s_ZUuREpSeNck9zdlT7--E7Tig-TV5DD6ymTllRHPYFyYz6qwt9ErD3hyN2M5c8vN-_5sJQ9W3k2xZUfYmqxQbwe/s4624/IMG_20210611_203108.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4624&quot; data-original-width=&quot;3472&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjksV4Sj86vII7c433TeV0YdI-JTC9x2rgmUPMaFmOkamgUqRBLubJGWQHHm4ft8BkzD5GmcY41dsqkDBuYhX9OmJDXS68i6pO6s_ZUuREpSeNck9zdlT7--E7Tig-TV5DD6ymTllRHPYFyYz6qwt9ErD3hyN2M5c8vN-_5sJQ9W3k2xZUfYmqxQbwe/s320/IMG_20210611_203108.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Some of the books I bought and read amid this pandemic.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbDpdFtwIHsqgG9ydBc9stcIIp7bTkq7bJQFzGHhuCwxbMRLsWjQPdNyNEoP3GEcEinAHqrdoKADBprIUwiIo8nIOi97VnNTHzSvXnQ67zmx7vFpH1HWIcCSM0GJDAGzkuYSD6S4IOH40pnxLNlGeeS8Ff3E8CkjzfZotQeFR1hTl22E3UXi902efZ/s4624/IMG_20210726_224336.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3472&quot; data-original-width=&quot;4624&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbDpdFtwIHsqgG9ydBc9stcIIp7bTkq7bJQFzGHhuCwxbMRLsWjQPdNyNEoP3GEcEinAHqrdoKADBprIUwiIo8nIOi97VnNTHzSvXnQ67zmx7vFpH1HWIcCSM0GJDAGzkuYSD6S4IOH40pnxLNlGeeS8Ff3E8CkjzfZotQeFR1hTl22E3UXi902efZ/s320/IMG_20210726_224336.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Work from home again.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFbJORD9usC-VrIPagHRooGpDgWS4URSuFScR5lhncEGeWrAyzs2w2osxjwGHfqEr0tr9jcNPEPekrwr6IySRtY7yzZp6fIoZet2m7-dN2GPMa20qMHjIbO15J-BNW63A1imoH-sNMyC0DfxIi7yo7IRFRDj0nBj0msFrqhj0LJlBnaBCfEcSM4c44/s4624/IMG_20211021_160834.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4624&quot; data-original-width=&quot;3472&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFbJORD9usC-VrIPagHRooGpDgWS4URSuFScR5lhncEGeWrAyzs2w2osxjwGHfqEr0tr9jcNPEPekrwr6IySRtY7yzZp6fIoZet2m7-dN2GPMa20qMHjIbO15J-BNW63A1imoH-sNMyC0DfxIi7yo7IRFRDj0nBj0msFrqhj0LJlBnaBCfEcSM4c44/s320/IMG_20211021_160834.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Put it together. The hotel kiosk.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU_pkyNFIbJvZudtORbj15bnS9osgQwW8YHkAUcRI34oH6MUGGles_lJskC1A8BZ3HCVp84stXKVF5GL2LXymFmxSpV77Lr5556k5TP5rsGJeIiUTMbT4odXhDsZ3CiaFfGqElV6cyoACglU8MlKMSS8KNoL2wCwXu_4Uk4nDwK-84ulKgIIDCzWuG/s4624/IMG_20220309_141842.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;4624&quot; data-original-width=&quot;3472&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU_pkyNFIbJvZudtORbj15bnS9osgQwW8YHkAUcRI34oH6MUGGles_lJskC1A8BZ3HCVp84stXKVF5GL2LXymFmxSpV77Lr5556k5TP5rsGJeIiUTMbT4odXhDsZ3CiaFfGqElV6cyoACglU8MlKMSS8KNoL2wCwXu_4Uk4nDwK-84ulKgIIDCzWuG/s320/IMG_20220309_141842.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;More kiosk orders.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDZT0BXsugKnAr3-yWDS1nPjGa2o_CyudsU-6V6DQFbAzc2lo8m9TlX9WdOOz1spmiwEIWNyhixcQJld2iG-UUR32VxQ7nE9FpgIYyZ3vWI1FnApaeWV60PChZEK9zKD-ha_350w2pMCT8bdBs_V3UP5sl-95-F-owKTsXBFyu3piRvLu192S0A0Y1/s1000/Hotel%20Kiosk%20Malaysia%20(Mangga%20Hotel)%20Softinn.jpeg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;750&quot; data-original-width=&quot;1000&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDZT0BXsugKnAr3-yWDS1nPjGa2o_CyudsU-6V6DQFbAzc2lo8m9TlX9WdOOz1spmiwEIWNyhixcQJld2iG-UUR32VxQ7nE9FpgIYyZ3vWI1FnApaeWV60PChZEK9zKD-ha_350w2pMCT8bdBs_V3UP5sl-95-F-owKTsXBFyu3piRvLu192S0A0Y1/s320/Hotel%20Kiosk%20Malaysia%20(Mangga%20Hotel)%20Softinn.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMnpG9oD9Rvdh0UVIapwapAdT6MCZjy1PtFFQ5uoWoNYmK1NuEgRX6pkknv3AAoTE8c7zmQ4KruWz0jknTij6qn9ZLB6NxahNBcoRPbXidVGjqlqwW-rIoBVccH9eoHicnJB7ZSt0mnLKDZ2x1uGjOTI0FIjI5VfOENXNiNG4Ti483Mu3GSHsjxH7E/s1080/Second%20Hotel%20Kiosk%20Order.%20GM%20Hotel%20and%20Softinn.jpeg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;608&quot; data-original-width=&quot;1080&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMnpG9oD9Rvdh0UVIapwapAdT6MCZjy1PtFFQ5uoWoNYmK1NuEgRX6pkknv3AAoTE8c7zmQ4KruWz0jknTij6qn9ZLB6NxahNBcoRPbXidVGjqlqwW-rIoBVccH9eoHicnJB7ZSt0mnLKDZ2x1uGjOTI0FIjI5VfOENXNiNG4Ti483Mu3GSHsjxH7E/s320/Second%20Hotel%20Kiosk%20Order.%20GM%20Hotel%20and%20Softinn.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiddOiGT5oJciTKnyfPyGfx10rZHAubUQfFbyoUNft9MjBRyTWS0tL8lVqy301l5ftKqrQJMll7C9E08s9EAghY-JrQe3m7ryYLgoGMEIEQqavnAG3dVMLHyL-oAgYhg5Kr4DPppVwl3fSxIH8tf_V3ONT_0idvp53GBH3A2JZ4LhDwg-l4shFC0qNh/s1280/WhatsApp%20Image%202022-04-13%20at%2010.17.14%20AM.jpeg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1280&quot; data-original-width=&quot;960&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiddOiGT5oJciTKnyfPyGfx10rZHAubUQfFbyoUNft9MjBRyTWS0tL8lVqy301l5ftKqrQJMll7C9E08s9EAghY-JrQe3m7ryYLgoGMEIEQqavnAG3dVMLHyL-oAgYhg5Kr4DPppVwl3fSxIH8tf_V3ONT_0idvp53GBH3A2JZ4LhDwg-l4shFC0qNh/s320/WhatsApp%20Image%202022-04-13%20at%2010.17.14%20AM.jpeg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;Thanks for reading. More about the &lt;a href=&quot;https://page.mysoftinn.com/en/hotel-self-service-kiosk-in-malaysia&quot; target=&quot;_blank&quot;&gt;hotel kiosk project&lt;/a&gt; is available here.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/7324735727101051459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2022/04/hotel-kiosk-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/7324735727101051459'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/7324735727101051459'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2022/04/hotel-kiosk-project.html' title='Hotel Kiosk Project'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIfzQe_99RCnlYc_DGTD06TvpR148QhX_8gM87X3rMlsgSieW217jkX_2j2QuSeSI8uEhxZ8wfwe8zBexV9frccc9g4V7wlMiItc7jl7gzPPWZnPt0wB16Clvhv_LTGy4HEFIGZpyHNn3o6ctl-CBIo03683SjblPAD1rynRv6dk8Cd0U9DcRZbc9E/s72-w400-h300-c/IMG_20200318_181432.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-5619046345279463969</id><published>2021-08-17T14:48:00.001+08:00</published><updated>2021-08-18T08:37:31.363+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="foreignTT"/><category scheme="http://www.blogger.com/atom/ns#" term="malaysia"/><title type='text'>Transfer money from Malaysia to Nepal. Malaysia foreign transfer</title><content type='html'>&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;I recently engage a blogger in Nepal to promote my product on his blog. To pay him, I learn about Wise.com. I tried making the payment, and it went smoothly.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://wise.com/invite/u/jeel62&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;945&quot; data-original-width=&quot;1540&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjmdn4Ups4sgXc8EcKG9PEAhfjA-1ahZonqkJWQmLkQj889k2dZP_lmDOKn3BQupnHkfPjO9JcW_0syDFsC9zdNo7wpRCDeIOo3UsJuS9LEc4gzX4fK11bIukn77LwqlBWnAcsDf0FEi4/s16000/Payment.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;Try it if you are looking for ways to make a foreign transfer (Foreign TT) from Malaysia. I will make RM 150 if three users signup using this link, and your first transfer will have zero charges. Signup using this link&amp;nbsp;&lt;/span&gt;&lt;a class=&quot;editor-rtfLink&quot; href=&quot;https://www.blogger.com/blog/post/edit/5194156709816662598/5619046345279463969#&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #4a6ee0; margin-bottom: 0pt; margin-top: 0pt;&quot; target=&quot;_blank&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;https://wise.com/invite/u/jeel62&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;a class=&quot;editor-rtfLink&quot; href=&quot;https://www.blogger.com/blog/post/edit/5194156709816662598/5619046345279463969#&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #4a6ee0; margin-bottom: 0pt; margin-top: 0pt;&quot; target=&quot;_blank&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://wise.com/invite/u/jeel62&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;759&quot; data-original-width=&quot;772&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR1VpehzWCmcE_627WLYlN-uuT3FJN5DK8a3XDff8Aloby4e2-uWhWfVQt6ZLD4X49yvO_bTf5KSsxMdTakUz1Xq_HOK3deqncdbw4itDpr7l36araHPheGgCwEInLDObbIU7J73_ztSo/s16000/Signup-Earn.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/5619046345279463969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2021/08/transfer-money-from-malaysia-to-nepal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/5619046345279463969'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/5619046345279463969'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2021/08/transfer-money-from-malaysia-to-nepal.html' title='Transfer money from Malaysia to Nepal. Malaysia foreign transfer'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjmdn4Ups4sgXc8EcKG9PEAhfjA-1ahZonqkJWQmLkQj889k2dZP_lmDOKn3BQupnHkfPjO9JcW_0syDFsC9zdNo7wpRCDeIOo3UsJuS9LEc4gzX4fK11bIukn77LwqlBWnAcsDf0FEi4/s72-c/Payment.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-3529918185943523236</id><published>2021-06-27T09:21:00.004+08:00</published><updated>2021-06-27T09:22:22.699+08:00</updated><title type='text'>Just a Dream?</title><content type='html'>&lt;p&gt;I had a dream yesterday.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Not sure if I should consider it a bad dream, but it&#39;s definitely a weird one. I dreamt of strolling the shop lot corridor near my office. While I&#39;m walking to the other end of the shops, my neighbours greeted me as usual. Everyone wears a happy face, talking, doing their daily chores, warm greetings as what used to be a typical day. BUT none of them is wearing a face mask!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I felt threatened and confused in my dream. I&#39;m scared. I tried to recall (in my dream) if we have won, the COVID is no longer a threat.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;And I woke up to it. Realizing it&#39;s a dream, I feel relieved and yet sad. I feel sad because we have yet to win this! Stay safe, everyone!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjfRtObz8frJqZQh7UTNvPO4J7B3QMakS0wdKXuTJse3sU0SFOvc8slOvU8biM2NvBsxCnFktZZmW-KyZ76XMlaRgrW4EMsdxSQlaPX14duynjjBX6ZYC3T0ImT7Dsde3PeFYlokYFubo/s2048/IMG_20200418_094041.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;2048&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjfRtObz8frJqZQh7UTNvPO4J7B3QMakS0wdKXuTJse3sU0SFOvc8slOvU8biM2NvBsxCnFktZZmW-KyZ76XMlaRgrW4EMsdxSQlaPX14duynjjBX6ZYC3T0ImT7Dsde3PeFYlokYFubo/s16000/IMG_20200418_094041.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/3529918185943523236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2021/06/just-dream.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/3529918185943523236'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/3529918185943523236'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2021/06/just-dream.html' title='Just a Dream?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjfRtObz8frJqZQh7UTNvPO4J7B3QMakS0wdKXuTJse3sU0SFOvc8slOvU8biM2NvBsxCnFktZZmW-KyZ76XMlaRgrW4EMsdxSQlaPX14duynjjBX6ZYC3T0ImT7Dsde3PeFYlokYFubo/s72-c/IMG_20200418_094041.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-8114165273271875432</id><published>2021-06-15T08:45:00.001+08:00</published><updated>2021-06-15T08:45:12.797+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="book"/><title type='text'>Reading is a great hobby to have</title><content type='html'>&lt;p&gt;&quot;Reading is a great hobby to have&quot; - I was told since born. Yet, I have not picked up reading until I started my own business.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Why made me wanted to read? I discovered reading after I started my own business. I&#39;m always on the hunt for knowledge, skills, tips, and advice online to improve business, which brought me to reading. It started with casual online reading - news, blog posts, etc. Slowly, through the citation, it evolves into a reading book.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Where did I get my book? I started at the local book store - Popular. For someone who hasn&#39;t bought any book, Popular became my first place to treasure hunt. It is quickly proven wrong. Haha. Don&#39;t get me wrong, it&#39;s a good place, and I still visit Popular once in a while to get the pleasure of discovering exciting new titles and genres. Now, it&#39;s no longer my first choice to hunt for business-related materials.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(to be continued)&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/8114165273271875432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2021/06/reading-is-great-hobby-to-have.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/8114165273271875432'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/8114165273271875432'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2021/06/reading-is-great-hobby-to-have.html' title='Reading is a great hobby to have'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-5253748543040203543</id><published>2021-05-30T09:51:00.000+08:00</published><updated>2021-05-30T09:51:11.618+08:00</updated><title type='text'>Interesting Announcements in Microsoft Build 2021</title><content type='html'>&lt;p&gt;&lt;span style=&quot;color: #0e101a;&quot;&gt;MAUI will be replacing Xamarin. It will seamlessly bring hot reload (like web app) to desktop and mobile app development. The XAML skillsets can be reused in the MAUI development because it&#39;s using XAML still.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;With Blazor, web developers can now build desktop and mobile app using their current skillsets. I believe this is not relevant to Softinn, but it&#39;s good to know. I suspect Blazor won&#39;t have lots of community builders. It&#39;s a tool to entice web developer to use .Net technologies and adopt MAUI.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;strong style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;This is big&lt;/strong&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&amp;nbsp;- .NET 5 is the first step in converging .Net Core and .Net. Then, .NET 6 improves the converged libraries to better performance. So, if Softinn skips the .Net core era and adopt the .Net 5, we will get the performance upgrade while enjoying cross-platform hosting (e.g. hosting on docker, Linux, Amazon etc). Best of all, Microsoft offers tools to assist the upgrade.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;The&amp;nbsp;&lt;/span&gt;&lt;a class=&quot;editor-rtfLink&quot; href=&quot;https://docs.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-aspnetmvc&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #4a6ee0; margin-bottom: 0pt; margin-top: 0pt;&quot; target=&quot;_blank&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;.NET Upgrade Assistant&lt;/span&gt;&lt;/a&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&amp;nbsp;helps upgrading .Net 4 projects to .Net 5 / .net 6, it&#39;s in preview now.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #0e101a; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span data-preserver-spaces=&quot;true&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;More on&amp;nbsp;&lt;a href=&quot;https://www.youtube.com/watch?v=KQt0v950h6k&amp;amp;list=PLlrxD0HtieHgMGEnTzEEfkADbaG8aAWRp&quot;&gt;https://www.youtube.com/watch?v=KQt0v950h6k&amp;amp;list=PLlrxD0HtieHgMGEnTzEEfkADbaG8aAWRp&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/5253748543040203543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2021/05/interesting-announcements-in-microsoft.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/5253748543040203543'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/5253748543040203543'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2021/05/interesting-announcements-in-microsoft.html' title='Interesting Announcements in Microsoft Build 2021'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-7631564540099874364</id><published>2021-04-25T13:57:00.007+08:00</published><updated>2021-04-25T14:09:25.660+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="Xamarin"/><title type='text'>Code Reference for Xamarin.Form Projects</title><content type='html'>&lt;p&gt;Xamarin Form code samples &lt;a href=&quot;https://github.com/jsuarezruiz/xamarin-forms-goodlooking-UI&quot;&gt;https://github.com/jsuarezruiz/xamarin-forms-goodlooking-UI&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I notice many of them (the open-source projects) use&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;PanCakeView &lt;a href=&quot;https://github.com/sthewissen/Xamarin.Forms.PancakeView&quot;&gt;https://github.com/sthewissen/Xamarin.Forms.PancakeView&lt;/a&gt;&lt;/li&gt;&lt;li&gt;FFImageLoading &lt;a href=&quot;https://github.com/luberda-molinet/FFImageLoading&quot;&gt;https://github.com/luberda-molinet/FFImageLoading&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Xamarin Essentials &lt;a href=&quot;https://docs.microsoft.com/en-us/xamarin/essentials/&quot;&gt;https://docs.microsoft.com/en-us/xamarin/essentials/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;SkiaSharp &lt;a href=&quot;https://github.com/mono/SkiaSharp&quot;&gt;https://github.com/mono/SkiaSharp&lt;/a&gt; (for advanced graphics and charts)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bonus: Check out David Ortinau&#39;s presentation on how to create really really cool UI on Xamarin&amp;nbsp;&lt;a href=&quot;https://www.youtube.com/watch?v=PDXEKA6eeYI&quot;&gt;https://www.youtube.com/watch?v=PDXEKA6eeYI&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/7631564540099874364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2021/04/code-reference-for-xamarinform-projects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/7631564540099874364'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/7631564540099874364'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2021/04/code-reference-for-xamarinform-projects.html' title='Code Reference for Xamarin.Form Projects'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-233930042043932667</id><published>2020-12-30T11:36:00.003+08:00</published><updated>2020-12-30T12:13:43.638+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="NSwagStudio"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenAPI"/><category scheme="http://www.blogger.com/atom/ns#" term="Swagger"/><title type='text'>How to Process the Result Returned by NSwagStudio Generated c# Client</title><content type='html'>&lt;p&gt;Context:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;OpenAPI v2 endpoints implemented using Swagger&lt;/li&gt;&lt;li&gt;C# client generated using NSwagStudio. Using .NET dll framework&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Basically, we&#39;ll need to cast the result to JArray and then cast it to the desired object type.&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;var result = (JArray) bookingClient.GetV1BookingSearchByDateRangeAsync(SearchStartDate, SearchEndDate, 10, 1, &quot;&quot;, null).Result;&lt;/div&gt;&lt;div&gt;var bookings = result.ToObject&amp;lt;List&amp;lt;BookingViewModel&amp;gt;&amp;gt;();&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Please take note that the above only needed if there&#39;s no response type declared.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For those endpoints with the response type declared, the generated response will not be in JArray. For example, the same code above can be done with the below code which the result is in type IList&amp;lt;BookingViewModel&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;var result = bookingClient.GetV1BookingSearchByDateRangeAsync(SearchStartDate, SearchEndDate, 10, 1, &quot;&quot;, null).Result;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Yea, Softinn is developing our API endpoints. This will open up more opportunities moving forward. IF you&#39;re a developer and keep to tap into the hotel&#39;s data (e.g. bookings from Agoda, guest check-ins etc). Ping us support@mysoftinn.com to obtain your key.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://api.mysoftinn.com/swagger/ui/index&quot; target=&quot;_blank&quot;&gt;Softinn API Production Endpoint&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://api-dev.mysoftinn.com/swagger/ui/index&quot; target=&quot;_blank&quot;&gt;Softinn API Staging Endpoint&lt;/a&gt;&amp;nbsp;(not for production usage)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/233930042043932667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2020/12/how-to-process-result-returned-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/233930042043932667'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/233930042043932667'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2020/12/how-to-process-result-returned-by.html' title='How to Process the Result Returned by NSwagStudio Generated c# Client'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-9144989550231568510</id><published>2020-11-15T09:09:00.000+08:00</published><updated>2020-11-15T09:09:07.928+08:00</updated><title type='text'>Some Cool New Programming Libraries</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://platform.uno/&quot; target=&quot;_blank&quot;&gt;Uno&lt;/a&gt;: Build on top of Xamarin to extend cross-platform development beyond mobile. For e.g., an Uno app can be used to target both Web and Android.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/graphics/skiasharp/&quot;&gt;SkiaSharp&lt;/a&gt;:&amp;nbsp;SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google&#39;s Skia Graphics Library. To draw a vector graphic programmatically.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://www.gitkraken.com/&quot; target=&quot;_blank&quot;&gt;GitKraken&lt;/a&gt;: similar to SourceTree&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/9144989550231568510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2020/11/some-cool-new-programming-libraries.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/9144989550231568510'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/9144989550231568510'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2020/11/some-cool-new-programming-libraries.html' title='Some Cool New Programming Libraries'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-2002735515424228730</id><published>2020-10-12T14:01:00.006+08:00</published><updated>2021-03-24T11:47:27.892+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ClickOnce"/><category scheme="http://www.blogger.com/atom/ns#" term="GitHub"/><title type='text'>How to Host ClickOnce Installer on GitHub</title><content type='html'>This is a guide on how to deploy a ClickOnce installer on GitHub Pages, it&#39;s an updated version based on the previous work done by &lt;a href=&quot;https://refactorsaurusrex.com/post/2015/how-to-host-a-clickonce-installer-on-github/&quot; target=&quot;_blank&quot;&gt;RefactorsaurusRex&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are the steps needed&lt;/div&gt;&lt;div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Create a &lt;b&gt;GitHub Pages&lt;/b&gt;&lt;/li&gt;&lt;li&gt;In the GitHub Pages create an &quot;&lt;b&gt;Installer&lt;/b&gt;&quot; folder.&lt;/li&gt;&lt;li&gt;Create a .gitattributes file in the &quot;Installer&quot; folder. Add the following codes to the file&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;/li&gt;&lt;li&gt;*.manifest binary&lt;/li&gt;&lt;li&gt;*.application binary&lt;/li&gt;&lt;li&gt;*.deploy binary&lt;/li&gt;&lt;li&gt;*&amp;nbsp; -text&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Get the URL of the &quot;Installer&quot; folder on your GitHub pages, it will be used later as the &quot;Installation Folder URL&quot;. It should look something like&amp;nbsp;&lt;b&gt;https://raw.githubusercontent.com/{your-account-name}/{your-repo-name}/gh-pages/Installer/ &lt;/b&gt;(please make sure that you commit the application to the gh-pages branch, it will not work if you commit to other branches like main, develop, etc)&lt;/li&gt;&lt;li&gt;Switch to Visual Studio &amp;gt; Build. Follow this &lt;a href=&quot;https://www.youtube.com/watch?v=t4BTLdIMYEY&quot; target=&quot;_blank&quot;&gt;video guide&lt;/a&gt; to publish your ClickOnce application. Use the &quot;Installation Folder URL&quot; you get in step 3 as the &lt;b&gt;Update Location &amp;amp; Installation Folder URL&lt;/b&gt;. Refer to the screenshots below.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfPkggUzezXu85qjYqgww8BiJ9NY9rR87d0XC1X66HBRlVSHlbLD76JI6K_jQ_BLgx0U9mtBip_NXGrLxda1n6DtFzq7SzXhgTN7whr7sx244Spbl-s-scBorxH-MpUApfUmsyhz6glrA/s699/Installation-Folder-URL.png&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;535&quot; data-original-width=&quot;699&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfPkggUzezXu85qjYqgww8BiJ9NY9rR87d0XC1X66HBRlVSHlbLD76JI6K_jQ_BLgx0U9mtBip_NXGrLxda1n6DtFzq7SzXhgTN7whr7sx244Spbl-s-scBorxH-MpUApfUmsyhz6glrA/s16000/Installation-Folder-URL.png&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbz0Re2LC0CLSIHPflEYpjZO0yuWH6vKtCsGCDRFU_JtmQ3fHHjcDzcvprwD1dnv7gs2JvfZ9O69HCOhr3vuWSpZCUxWZ4rXvlmFr59qMvJ2jpMbfZr7yk2UzC1edZG2_0uM6EgRomzlc/s745/Update-Location-Url.png&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;437&quot; data-original-width=&quot;745&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbz0Re2LC0CLSIHPflEYpjZO0yuWH6vKtCsGCDRFU_JtmQ3fHHjcDzcvprwD1dnv7gs2JvfZ9O69HCOhr3vuWSpZCUxWZ4rXvlmFr59qMvJ2jpMbfZr7yk2UzC1edZG2_0uM6EgRomzlc/s16000/Update-Location-Url.png&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Copy and paste&lt;/b&gt; the published application to your GitHub Pages - &quot;Installer&quot; folder. Do take note that &quot;gh-pages&quot; will be the branch where we publish the installer.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Commit and push&lt;/b&gt; the changes to GitHub.&lt;/li&gt;&lt;li&gt;To get the download link of your installer (that you can share with the users), follow this pattern. &lt;b&gt;https://github.com/{your-account-name}/{your-repo-name}/raw/gh-pages/Installer/setup.exe&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Done&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Please take note that the URL link is case sensitive on GitHub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/2002735515424228730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2020/10/how-to-host-clickonce-installer-on.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/2002735515424228730'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/2002735515424228730'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2020/10/how-to-host-clickonce-installer-on.html' title='How to Host ClickOnce Installer on GitHub'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfPkggUzezXu85qjYqgww8BiJ9NY9rR87d0XC1X66HBRlVSHlbLD76JI6K_jQ_BLgx0U9mtBip_NXGrLxda1n6DtFzq7SzXhgTN7whr7sx244Spbl-s-scBorxH-MpUApfUmsyhz6glrA/s72-c/Installation-Folder-URL.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-8572347764716764512</id><published>2020-09-12T13:16:00.004+08:00</published><updated>2020-09-12T13:17:52.823+08:00</updated><title type='text'>Data Types</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;byte 8bits (0 to 255)&lt;/li&gt;&lt;li&gt;sbyte 8bits (-127 to 127)&lt;/li&gt;&lt;li&gt;short 16bits (32k)&lt;/li&gt;&lt;li&gt;ushort 16bits (64k)&lt;/li&gt;&lt;li&gt;int 32bits (2M)&lt;/li&gt;&lt;li&gt;uint&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;var a = 1;&amp;nbsp; &amp;nbsp;// int&lt;/li&gt;&lt;li&gt;var a = 1U;&amp;nbsp; // uint&lt;/li&gt;&lt;li&gt;var a = 1F;&amp;nbsp; // float&lt;/li&gt;&lt;li&gt;var a = 1D;&amp;nbsp; // double&lt;/li&gt;&lt;li&gt;var a = 1M;&amp;nbsp; // decimal (money)&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/8572347764716764512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2020/09/data-types.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/8572347764716764512'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/8572347764716764512'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2020/09/data-types.html' title='Data Types'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-2102863327008031121</id><published>2020-09-12T11:40:00.002+08:00</published><updated>2020-09-12T13:38:20.352+08:00</updated><title type='text'>Learning WPF in 2020</title><content type='html'>&lt;p&gt;I was a desktop app developer when I started my programming journey, I wrote VBScript, VB.net, and C#.net. I&#39;ve switched to web programming since I started Softinn (2012).&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Now, with the need to connect online to offline, I will have to re-visit desktop programming. I have developed a few applications using WPF in the past (when it was fairly new), I have to say that i&#39;m not impressed by the framework then.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Recently, I&#39;ve got the chance to re-learn WPF and found that it&#39;s now a viable solution. Here&#39;s what I&#39;ve discovered:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&amp;nbsp;A &lt;a href=&quot;https://www.c-sharpcorner.com/UploadFile/6f0898/learn-important-wpf-xaml-concepts-in-15-minutes/&quot; target=&quot;_blank&quot;&gt;good read&lt;/a&gt; to learn about Data Binding on WPF&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://prismlibrary.com/&quot; target=&quot;_blank&quot;&gt;PrismLibrary&lt;/a&gt; - A good application framework for WPF desktop application&lt;/li&gt;&lt;li&gt;A &lt;a href=&quot;https://www.tutorialspoint.com/wpf/wpf_templates.htm&quot; target=&quot;_blank&quot;&gt;good read&lt;/a&gt; to learn about Templating&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/2102863327008031121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2020/09/learning-wpf-in-2020.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/2102863327008031121'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/2102863327008031121'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2020/09/learning-wpf-in-2020.html' title='Learning WPF in 2020'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-2901443291263802569</id><published>2020-09-06T17:17:00.008+08:00</published><updated>2020-09-12T11:28:12.255+08:00</updated><title type='text'>Node JS x Angular x ElectronJs</title><content type='html'>&lt;p&gt;NodeJS is built for Javascript programmers. With NodeJS, we can call OS native API (e.g. create a new folder) on OS. It&#39;s popular among web developers since most of them familiar with Javascript and with NodeJS, they may deploy their code on server, it&#39;s platform agnostic. For now, NodeJS works on Windows, Linux and MacOS.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Fdf5aTYRW0E&quot; target=&quot;_blank&quot;&gt;Good crash course&lt;/a&gt; on Angular.&lt;/p&gt;&lt;p&gt;For those who come from AngularJS, you will find a new file named Angular.json in your project. Here&#39;s &lt;a href=&quot;https://www.youtube.com/watch?v=3DYJ72p3nUI&quot; target=&quot;_blank&quot;&gt;how to read it&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;On the Windows and NodeJS environment, I&#39;ve tried using &lt;a href=&quot;https://www.npmjs.com/package/ffi&quot; target=&quot;_blank&quot;&gt;ffi&lt;/a&gt; to call hardware library (DLL files) functions, I believe it&#39;s not ready for production usage. Two reasons, first, it&#39;s hard to debug; second, we will need to manage the client environment if we decided to deploy the app for production usage. Such a setup required too many environments configuration. For example, 32bit vs 64bit, library data structure, and memory management.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/2901443291263802569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2020/09/node-js-x-angular-x-electronjs.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/2901443291263802569'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/2901443291263802569'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2020/09/node-js-x-angular-x-electronjs.html' title='Node JS x Angular x ElectronJs'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-5404154539001951923</id><published>2020-05-15T08:55:00.003+08:00</published><updated>2020-08-20T16:18:55.207+08:00</updated><title type='text'>Not The Type of Cousins I Admire</title><content type='html'>Growing up in a big family, I got used to being surrounded by a lot of cousins. Being the younger group among the cousins, I&#39;m being taken care of, brought along for kampung trip, invited for firecracker ceremonies, protected from stray dogs, and a lot more sweet memories.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Looking back, now, I&#39;m a cousin to some others, and I&#39;m the elder ones. Never did I did what my elder cousins did to me. Shame on me. Buckup.&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For a start, start a conversation.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/5404154539001951923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2020/05/not-type-of-cousins-i-admire.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/5404154539001951923'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/5404154539001951923'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2020/05/not-type-of-cousins-i-admire.html' title='Not The Type of Cousins I Admire'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194156709816662598.post-221281907106001341</id><published>2020-05-12T09:14:00.003+08:00</published><updated>2020-10-23T13:10:31.016+08:00</updated><title type='text'>Breakthrough. Dare to Try. Risk Assessment</title><content type='html'>Did a self-reflection yesterday night. Looking back, trying to find an answer to my successes and my failures. Realize that:&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Many of my successes were tied to my failures.&lt;/li&gt;&lt;li&gt;What made failures into small wins are&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The spirit of never-give-up&lt;/li&gt;&lt;li&gt;The dare-to-try spirit. Trying something I&#39;m uncomfortable with. For example:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Forming a partnership with someone who I barely know&lt;/li&gt;&lt;li&gt;Taking seed investor&#39;s money when I wasn&#39;t sure what&#39;s the path lying ahead&lt;/li&gt;&lt;li&gt;Walking to a girl I admire to ask for a date. This is big for me because I have been a very shy boy back then. If it&#39;s not because of this, I won&#39;t have a lovely wife today.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;There are also many opportunities that I missed. The moments of &quot;what-if&quot;, I can only live now with &quot;what if I dare-to-try&quot; then.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;I missed the opportunities to learn more at school. Always too shy to ask. Too shy to volunteer.&lt;/li&gt;&lt;li&gt;I missed the opportunities to acquire better engineering skills at Uni for not being curious enough to &quot;Google&quot; answers. Was to bound to &quot;learning only in the classroom&quot; mindset.&lt;/li&gt;&lt;li&gt;I missed the opportunities to clear many of my doubts for not asking them, those people who has made it.&lt;/li&gt;&lt;li&gt;I missed the opportunity for an Intel Scholarship. I applied for the Intel scholarship twice. Did badly in the first interview. On the second attempt, I nailed the interview BUT I gave the wrong date of my industrial training (I missed by one semester). I should have admitted that I wasn&#39;t sure of the date and get permission to check and revert. I got the industry training plus scholarship offer after I&#39;ve completed mine at Infineon.&lt;/li&gt;&lt;li&gt;I missed the opportunities to work with a re-owned VC firm for not replying to their email. I thought we weren&#39;t made for them. Only to find out they are looking at us two years later when we met at the pitching session. The moment when he said &quot;I know you. Why you didn&#39;t reply to my email?&quot;...&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;These moments of &quot;trying something uncomfortable&quot; happens very often, I writing this down to remind myself - &lt;b&gt;&quot;Dare to try. Just manage the risk! Don&#39;t say &#39;No&#39; simply because you are not comfortable. Try it!&quot;&lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://www.jeeshenlee.com/feeds/221281907106001341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.jeeshenlee.com/2020/05/breakthrough-dare-to-try-risk-assessment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/221281907106001341'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5194156709816662598/posts/default/221281907106001341'/><link rel='alternate' type='text/html' href='https://www.jeeshenlee.com/2020/05/breakthrough-dare-to-try-risk-assessment.html' title='Breakthrough. Dare to Try. Risk Assessment'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>