<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2" -->
<rss version="2.0">
    <channel>
        <title>Lowyat.NET: Latest topics by Mussel</title>
        <description></description>
        <link>http://forum.lowyat.net/</link>
        <lastBuildDate>Fri, 05 Jun 2026 10:02:24 +0800</lastBuildDate>
        <generator>FeedCreator 1.7.2</generator>
        <item>
            <title>Does anyone find MyBSH registration difficult?</title>
            <link>http://forum.lowyat.net/topic/4899930</link>
            <description>I don&amp;#39;t know if I go to the correct page, &lt;a href='https://bsh.hasil.gov.my/LogMasuk.aspx' target='_blank'&gt;https://bsh.hasil.gov.my/LogMasuk.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It asks for two security question (Bandar mana anda tinggal, nombor telefon didaftar). Then suddenly I have to key in new PIN number, set a total of 5 new security questions (like your favorite color, your favorite song, etc). Not just that, it asks for me to key-in complex password (must have uppercase + lowercase + symbol + number, and at least 8 chars), ok, so I chose a complex password fulfilled all the requirement, then it says password too weak. So I have to key-in a more complex password....... It is so weird.....now I forgot the complex password that I typed already....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Anyone find MyBSH (for renew) registration difficult?</description>
            <author>Mussel</author>
            <category>Serious Kopitiam</category>
            <pubDate>Sat, 01 Feb 2020 21:51:53 +0800</pubDate>
        </item>
        <item>
            <title>Building a simple filesystem</title>
            <link>http://forum.lowyat.net/topic/4897300</link>
            <description>You see, ISO has its file system, ZIP has its file system, and of course we have plenty of other file system like FAT, FAT32, NTFS....etc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am thinking it will be fun to create a simple filesystem.  &lt;!--emo&amp;:nod:--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/nod.gif' border='0' style='vertical-align:middle' alt='nod.gif' /&gt;&lt;!--endemo--&gt; &lt;br /&gt;&lt;br /&gt;It might be consists of : &amp;quot;Table of Content&amp;quot; (e.g. file allocation table), and the file storage.&lt;br /&gt;Then I will be encountering issues like filename 8.3 or longer names......sub-directory.....&lt;br /&gt;&lt;br /&gt;Before I understand FAT, I didn&amp;#39;t know that Moving files within the same drive is faster than Copying files.&lt;br /&gt;It is because moving file just change the location in &amp;quot;table of content&amp;quot;, without physically moving the file itself....  &lt;!--emo&amp;:P--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/tongue.gif' border='0' style='vertical-align:middle' alt='tongue.gif' /&gt;&lt;!--endemo--&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Is anyone interested?</description>
            <author>Mussel</author>
            <category>Codemasters</category>
            <pubDate>Mon, 27 Jan 2020 11:37:48 +0800</pubDate>
        </item>
        <item>
            <title>Turns your existing System for use with VM</title>
            <link>http://forum.lowyat.net/topic/4897240</link>
            <description>This tutorial will explain briefly how to turn the physical disk of your computer system into virtual hard disk for use with virtual machine.&lt;br /&gt;&lt;br /&gt;If you don&amp;#39;t have a VM or cannot afford one, why not try download free open-source Oracle VM VirtualBox.&lt;br /&gt;&lt;a href='https://www.virtualbox.org/wiki/Downloads' target='_blank'&gt;https://www.virtualbox.org/wiki/Downloads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And you&amp;#39;ll need this handy tool from SysInternals, acquired by Microsoft many years ago.&lt;br /&gt;&lt;a href='https://docs.microsoft.com/en-my/sysinternals/downloads/disk2vhd' target='_blank'&gt;https://docs.microsoft.com/en-my/sysinterna...nloads/disk2vhd&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After you start the Disk2vhd.exe, please untick &amp;quot;Use VHDX&amp;quot; if you plan to use it along with VirtualBox.&lt;br /&gt;According to VirtualBox official website, VHDX is read-only, so only VHD can be written and can be supported by VirtualBox.&lt;br /&gt;&lt;br /&gt;Please note that the used space of your system&amp;#39;s hard disk cannot be more than 127GB, as the output VHD cannot be larger than 127GB (EDIT: only if you plan to use it for Virtual PC).&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/5TgFFn' target='_blank'&gt;&lt;img src='https://pictr.com/images/2020/01/27/5TgFFn.md.jpg' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then after you install VirtualBox, please create a new instance, specify the OS of which you ran the Disk2vhd. Next, attach the virtual hard disk (.vhd) by browsing the folder of Disk2Vhd (usually the virtual hard disk filename is your &amp;lt;computer name&amp;gt;.vhd)&lt;br /&gt;&lt;br /&gt;If you happen to receive &amp;quot;Fatal: No bootable medium found&amp;quot; and your captured system is Windows 10 (I am using Windows 10, so I can only tell from my experience of this particular edition of Windows only), please go to VM System settings, and tick &amp;quot;Enable EFI&amp;quot;. Start the instance and it should boot properly.&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/5TgKBB' target='_blank'&gt;&lt;img src='https://pictr.com/images/2020/01/27/5TgKBB.md.jpg' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please post reply if you have any question that I can answer to my knowledge.&lt;br /&gt;I do hope this save you plenty of time searching for solution / answer.</description>
            <author>Mussel</author>
            <category>Software</category>
            <pubDate>Mon, 27 Jan 2020 05:38:14 +0800</pubDate>
        </item>
        <item>
            <title>The mind that travels in space</title>
            <link>http://forum.lowyat.net/topic/4897230</link>
            <description>The universe is so huge, but so is our thoughts.&lt;br /&gt;&lt;br /&gt;For example, I can imagine that I see distant stars and moon in my head. Does that mean &amp;quot;something&amp;quot; (e.g. particle) actually travelled in space to these stars and the moon?&lt;br /&gt;&lt;br /&gt;Can anyone help to clarify my assumption?&lt;br /&gt;&lt;br /&gt;</description>
            <author>Mussel</author>
            <category>Serious Kopitiam</category>
            <pubDate>Mon, 27 Jan 2020 02:05:18 +0800</pubDate>
        </item>
        <item>
            <title>How to find a char quickly from very long string?</title>
            <link>http://forum.lowyat.net/topic/4879746</link>
            <description>The following is a dummy data I created myself with 619,315,200 bytes (590MB) of &amp;quot;0&amp;quot;, and there is only one other character, that is &amp;quot;1&amp;quot;, at 426,323,678th file position.&lt;br /&gt;&lt;br /&gt;I tried adopt a byte-to-byte text file reading, to look for that only character &amp;quot;1&amp;quot;, but it still took me about 30 seconds on my Celeron 1.6GHz CPU.&lt;br /&gt;&lt;br /&gt;Is there any faster way?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/5fNRhx' target='_blank'&gt;&lt;img src='https://pictr.com/images/2019/12/19/5fNRhx.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;bigData.zip (after expanded will become 590MB)&lt;br /&gt;[attachmentid=10374740]&lt;br /&gt;&lt;br /&gt;----------------------------------------&lt;br /&gt;&lt;br /&gt;25-Dec-2019 2:30AM&lt;br /&gt;Currently the fastest solution on my PC.&lt;br /&gt;&lt;br /&gt;Complete C# Source Code:&lt;br /&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('0c37e9a83068b78d8005295d672c33dc')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;0c37e9a83068b78d8005295d672c33dc&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;&lt;br /&gt;namespace test&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static unsafe void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&lt;br /&gt;        {&lt;br /&gt;            byte&amp;#91;&amp;#93; buffer = File.ReadAllBytes&amp;#40;&amp;#34;C&amp;#58;&amp;#092;&amp;#092;test&amp;#092;&amp;#092;bigData.txt&amp;#34;&amp;#41;;&lt;br /&gt;&lt;br /&gt;            fixed &amp;#40;byte* ptr = buffer&amp;#41;&lt;br /&gt;            {&lt;br /&gt;                void* ptr0 = ptr;&lt;br /&gt;                ulong* ptr64 = &amp;#40;ulong*&amp;#41;ptr0;&lt;br /&gt;                int bufSize = buffer.Length / 8;&lt;br /&gt;&lt;br /&gt;                for &amp;#40;int i = 0; i &amp;#60; bufSize; i++&amp;#41;&lt;br /&gt;                    if &amp;#40;*&amp;#40;ptr64 + i&amp;#41; &amp;#62; 0x3030303030303030&amp;#41;&lt;br /&gt;                    {&lt;br /&gt;                        for &amp;#40;int j = 0; j &amp;#60; 8; j++&amp;#41;&lt;br /&gt;                            if &amp;#40;*&amp;#40;ptr + j + &amp;#40;i * 8&amp;#41;&amp;#41; == 0x31&amp;#41;&lt;br /&gt;                            {&lt;br /&gt;                                Console.WriteLine&amp;#40;&amp;#40;i * 8&amp;#41; + j&amp;#41;;&lt;br /&gt;                                break;&lt;br /&gt;                            }&lt;br /&gt;                        break;&lt;br /&gt;                    }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;Must go to &lt;b&gt;Project&lt;/b&gt; --&amp;#62; &lt;b&gt;[Your Project Name] Properties&lt;/b&gt; --&amp;#62; &lt;b&gt;Build&lt;/b&gt; --&amp;#62; &lt;b&gt;General&lt;/b&gt; --&amp;#62; [Tick] &lt;b&gt;Allow unsafe code &lt;/b&gt;&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;25-Dec-2019 11AM&lt;br /&gt;The even faster solution (cast + parallel) modified by @RookieDaddy.  &lt;b&gt;316 ms&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('1023f75aba129a9b48013525bc1dd101')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;1023f75aba129a9b48013525bc1dd101&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;&lt;br /&gt;static unsafe void Solution_Parallel64BitPointerCast&amp;#40;byte&amp;#91;&amp;#93; buffer&amp;#41; {&lt;br /&gt; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#34;&amp;#34;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#34;Solution_Parallel64BitPointerCast with Parallel.For&amp;#34;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#34;-------------------------------------------------------------------------------------&amp;#34;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp;Stopwatch timer = new Stopwatch&amp;#40;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp;timer.Start&amp;#40;&amp;#41;;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;fixed &amp;#40;byte* ptr = buffer&amp;#41; {&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; void* ptr0 = ptr;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ulong* ptr64 = &amp;#40;ulong*&amp;#41;ptr0;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int bufSize = buffer.Length / 8;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var options = new ParallelOptions&amp;#40;&amp;#41; {&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MaxDegreeOfParallelism = 3&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Parallel.For&amp;#40;0, bufSize, options, &amp;#40;i, StopLoopState&amp;#41; =&amp;#62; {&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if &amp;#40;*&amp;#40;ptr64 + i&amp;#41; &amp;#62; 0x3030303030303030&amp;#41;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int loopCond = &amp;#40;i &amp;#60;&amp;#60; 3&amp;#41; + 8;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for &amp;#40;int j = i &amp;#60;&amp;#60; 3; j &amp;#60; loopCond; j++&amp;#41;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if &amp;#40;buffer&amp;#91;j&amp;#93; == 0x31&amp;#41; {&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine&amp;#40;j&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StopLoopState.Stop&amp;#40;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt; &amp;nbsp; &amp;nbsp;timer.Stop&amp;#40;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp;Console.WriteLine&amp;#40;&amp;#34;Runtime&amp;#58; &amp;#34; + timer.ElapsedMilliseconds + &amp;#34; ms&amp;#34;&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Mussel&amp;#39;s benchmark:&lt;br /&gt;&lt;!--QuoteBegin--&gt;&lt;div class='quotetop'&gt;QUOTE&lt;/div&gt;&lt;div class='quotemain'&gt;&lt;!--QuoteEBegin--&gt;Solution_cast (unsafe pointer 8-byte to 64-bit unsigned integer) Thanks @jbcoder&lt;br /&gt;-------------------------------------------------------------------------------------&lt;br /&gt;426323672&lt;br /&gt;Runtime: 612 ms&lt;br /&gt;&lt;br /&gt;Solution_mussle_2 (unsafe pointer, loop every 8-byte &amp;amp; detect using 8-byte sum) Thanks @jbcoder&lt;br /&gt;-------------------------------------------------------------------------------------&lt;br /&gt;426323672&lt;br /&gt;Runtime: 1655 ms&lt;br /&gt;&lt;br /&gt;Solution_mussle_3 (unsafe pointer, alternative to BitConverter.ToInt64, loop every 8-byte ) Thanks @jbcoder @RookieDaddy&lt;br /&gt;-------------------------------------------------------------------------------------&lt;br /&gt;426323672&lt;br /&gt;Runtime: 6563 ms&lt;br /&gt;&lt;br /&gt;Solution_mussle_4 (liner search)&lt;br /&gt;-------------------------------------------------------------------------------------&lt;br /&gt;426323677&lt;br /&gt;Runtime: 4690 ms&lt;br /&gt;&lt;br /&gt;Solution_mussle_5 (chunksize, comparable to Parallel processing) Thanks @Lord Tiki Mick @wKkaY&lt;br /&gt;-------------------------------------------------------------------------------------&lt;br /&gt;426323677&lt;br /&gt;Runtime: 2245 ms&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution_rookieDaddy_2 (BitConverter.ToInt64&amp;#39;s 8-byte to 64-bit unsigned integer&lt;br /&gt;======================================================================================&lt;br /&gt;426323677&lt;br /&gt;Duration: 1435 ms&lt;br /&gt;&lt;br /&gt;Solution_rookieDaddy_Parallel - using .Net Parallel processing, Parallelism = 3&lt;br /&gt;======================================================================================&lt;br /&gt;426323677&lt;br /&gt;Duration: 2604 ms&lt;/b&gt;&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;&lt;br /&gt;RookieDaddy&amp;#39;s Benchmark:&lt;br /&gt;&lt;br /&gt;&lt;!--QuoteBegin--&gt;&lt;div class='quotetop'&gt;QUOTE&lt;/div&gt;&lt;div class='quotemain'&gt;&lt;!--QuoteEBegin--&gt;firstSolution() - Credits to jbCoder, implemented by Mussel&lt;br /&gt;======================================================================================&lt;br /&gt;426323672&lt;br /&gt;Duration: 724 ms&lt;br /&gt;&lt;br /&gt;SecondSolution() - Linear Search, implemented by Mussel&lt;br /&gt;======================================================================================&lt;br /&gt;426323678&lt;br /&gt;Duration: 1993 ms&lt;br /&gt;&lt;br /&gt;ThirdSolution() - chunksize, Input from Lord Tiki Mick and wKkaY, implemented by Mussel&lt;br /&gt;======================================================================================&lt;br /&gt;426323678&lt;br /&gt;Duration: 806 ms&lt;br /&gt;&lt;br /&gt;firstSolution2() - similar to firstSolution(), but with final character position found&lt;br /&gt;======================================================================================&lt;br /&gt;426323678&lt;br /&gt;Duration: 726 ms&lt;br /&gt;&lt;br /&gt;MyMethod() - Head and Tail search, halve the loop&lt;br /&gt;======================================================================================&lt;br /&gt;426323678&lt;br /&gt;Duration: 1174 ms&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MyMethod2() - convert 8 bytes to 64-bit number thus process 8 bytes at a time&lt;br /&gt;======================================================================================&lt;br /&gt;426323678&lt;br /&gt;Duration: 605 ms&lt;br /&gt;&lt;br /&gt;MyParallelMethod() - using .Net Parallel processing, Parallelism = 3&lt;br /&gt;======================================================================================&lt;br /&gt;426323678&lt;br /&gt;Duration: 291 ms&lt;/b&gt;&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The full source is at page 3. Plus, angch&amp;#39;s contribution (on Linux and MacOS) (not included in benchmark) is at Post #34. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Old benchmark:&lt;br /&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('1519960e1ab2f4efe583db21aa9f2c69')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;1519960e1ab2f4efe583db21aa9f2c69&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;br /&gt;The following were tested on Celeron 1.6GHz (4MB RAM) using Visual Studio 2019 with access to 590 MB dummy data provided by @Mussel.&lt;br /&gt;Unless otherwise stated, C# language is used here.&lt;br /&gt;&lt;br /&gt;Your Ultimate Benchmark&lt;br /&gt;-----------------------------&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1st quickest&lt;/b&gt; solution (BUT with approximate &amp;quot;file position&amp;quot; -- the code still need to be improved further, which might affect the benchmark speed):&lt;br /&gt;&lt;br /&gt;(loop every 8-byte, detect using 8-byte value) &lt;br /&gt;&lt;br /&gt;&lt;b&gt;4 seconds &lt;/b&gt;- Credits to @jbcoder&lt;br /&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('58fefabe4fb0b3567159616821eb337e')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;58fefabe4fb0b3567159616821eb337e&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;&lt;br /&gt;namespace test&lt;br /&gt;{&lt;br /&gt;   class Program&lt;br /&gt;   {&lt;br /&gt;        static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&lt;br /&gt;        {&lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;&lt;br /&gt;&lt;br /&gt;           byte&amp;#91;&amp;#93; buffer = File.ReadAllBytes&amp;#40;&amp;#34;C&amp;#58;&amp;#092;&amp;#092;Users&amp;#092;&amp;#092;Boo&amp;#092;&amp;#092;Downloads&amp;#092;&amp;#092;bigData.txt&amp;#34;&amp;#41;;&lt;br /&gt;           &lt;br /&gt;&lt;br /&gt;           for &amp;#40;int i = 0; i &amp;#60; buffer.Length; i+=8&amp;#41;&lt;br /&gt;           {&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i&amp;#93; + buffer&amp;#91;i + 1&amp;#93; + buffer&amp;#91;i + 2&amp;#93; + buffer&amp;#91;i + 3&amp;#93; + buffer&amp;#91;i + 4&amp;#93; + buffer&amp;#91;i + 5&amp;#93; + buffer&amp;#91;i + 6&amp;#93; + buffer&amp;#91;i + 7&amp;#93; &amp;#62; 384&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;           &lt;br /&gt;           Console.ReadLine&amp;#40;&amp;#41;;&lt;br /&gt;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2nd quickest&lt;/b&gt; solution: &lt;br /&gt;&lt;br /&gt;(linear search, compare with buffer[I]=&amp;#39;1&amp;#39;)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7 seconds&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('7084133e218818914fc0c79c67e91f69')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;7084133e218818914fc0c79c67e91f69&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;&lt;br /&gt;namespace test&lt;br /&gt;{&lt;br /&gt;   class Program&lt;br /&gt;   {&lt;br /&gt;        static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&lt;br /&gt;        {&lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;&lt;br /&gt;&lt;br /&gt;           byte&amp;#91;&amp;#93; buffer = File.ReadAllBytes&amp;#40;&amp;#34;C&amp;#58;&amp;#092;&amp;#092;Users&amp;#092;&amp;#092;Boo&amp;#092;&amp;#092;Downloads&amp;#092;&amp;#092;bigData.txt&amp;#34;&amp;#41;;&lt;br /&gt;&lt;br /&gt;           for &amp;#40;int i = 0; i &amp;#60; buffer.Length; i++&amp;#41;&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i&amp;#93; == &amp;#39;1&amp;#39;&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;&lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;           &lt;br /&gt;           Console.ReadLine&amp;#40;&amp;#41;;&lt;br /&gt;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3rd quickest&lt;/b&gt; solution&lt;br /&gt;&lt;br /&gt;(parallel processing #concurrent #progressive #incremental #multithreading)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;11 seconds -&lt;/b&gt; Credits to @Lord Tiki Mick&lt;br /&gt;&lt;br /&gt;&lt;b&gt;10 seconds&lt;/b&gt; - Extra credits to @wKkaY for his &amp;quot;Speed Limits&amp;quot; blog&lt;br /&gt;(Replace the &amp;quot;chunksize * X&amp;quot; with precalculated numbers)&lt;br /&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('92c48697ee0cc04bac890c30dbe4792b')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;92c48697ee0cc04bac890c30dbe4792b&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;&lt;br /&gt;namespace test&lt;br /&gt;{&lt;br /&gt;   class Program&lt;br /&gt;   {&lt;br /&gt;       static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&lt;br /&gt;       {&lt;br /&gt;&lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;&lt;br /&gt;&lt;br /&gt;           byte&amp;#91;&amp;#93; buffer = File.ReadAllBytes&amp;#40;&amp;#34;C&amp;#58;&amp;#092;&amp;#092;Users&amp;#092;&amp;#092;Boo&amp;#092;&amp;#092;Downloads&amp;#092;&amp;#092;bigData.txt&amp;#34;&amp;#41;;&lt;br /&gt;           int chunkSize = 77414400;&lt;br /&gt;           // 619315200 / 8 = 77414400&lt;br /&gt;           for &amp;#40;int i = 0; i &amp;#60; chunkSize; i++&amp;#41;&lt;br /&gt;           {&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i&amp;#93; == &amp;#39;1&amp;#39;&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i + &amp;#40;chunkSize&amp;#41;&amp;#93; == &amp;#39;1&amp;#39;&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i + &amp;#40;chunkSize&amp;#41;&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i + &amp;#40;chunkSize * 2&amp;#41;&amp;#93; == &amp;#39;1&amp;#39;&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i + &amp;#40;chunkSize * 2&amp;#41;&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i + &amp;#40;chunkSize * 3&amp;#41;&amp;#93; == &amp;#39;1&amp;#39;&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i + &amp;#40;chunkSize * 3&amp;#41;&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i + &amp;#40;chunkSize * 4&amp;#41;&amp;#93; == &amp;#39;1&amp;#39;&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i + &amp;#40;chunkSize * 4&amp;#41;&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i + &amp;#40;chunkSize * 5&amp;#41;&amp;#93; == &amp;#39;1&amp;#39;&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i + &amp;#40;chunkSize * 5&amp;#41;&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i + &amp;#40;chunkSize * 6&amp;#41;&amp;#93; == &amp;#39;1&amp;#39;&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i + &amp;#40;chunkSize * 6&amp;#41;&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i + &amp;#40;chunkSize * 7&amp;#41;&amp;#93; == &amp;#39;1&amp;#39;&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i + &amp;#40;chunkSize * 7&amp;#41;&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;&lt;br /&gt;           }&lt;br /&gt;               &lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;&lt;br /&gt;           Console.ReadLine&amp;#40;&amp;#41;;&lt;br /&gt;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt; &lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4th quickest&lt;/b&gt; solution&lt;br /&gt;&lt;br /&gt;(linear search, compare using buffer[i] == 49)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;13 seconds&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('0777729dc9f2d487b201e4acc5536c39')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;0777729dc9f2d487b201e4acc5536c39&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;&lt;br /&gt;namespace test&lt;br /&gt;{&lt;br /&gt;   class Program&lt;br /&gt;   {&lt;br /&gt;        static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&lt;br /&gt;        {&lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;&lt;br /&gt;&lt;br /&gt;           byte&amp;#91;&amp;#93; buffer = File.ReadAllBytes&amp;#40;&amp;#34;C&amp;#58;&amp;#092;&amp;#092;Users&amp;#092;&amp;#092;Boo&amp;#092;&amp;#092;Downloads&amp;#092;&amp;#092;bigData.txt&amp;#34;&amp;#41;;&lt;br /&gt;&lt;br /&gt;           for &amp;#40;int i = 0; i &amp;#60; buffer.Length; i++&amp;#41;&lt;br /&gt;               if &amp;#40;buffer&amp;#91;i&amp;#93; == 49&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;i&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;&lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;           &lt;br /&gt;           Console.ReadLine&amp;#40;&amp;#41;;&lt;br /&gt;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5th quicker &lt;/b&gt;solution&lt;br /&gt;(using checksum)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;15 seconds &lt;/b&gt;- by @Mussel &lt;br /&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('66314ef2bd571bb69a0478c66a014dff')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;66314ef2bd571bb69a0478c66a014dff&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;          Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;&lt;br /&gt;&lt;br /&gt;           byte&amp;#91;&amp;#93; buffer = File.ReadAllBytes&amp;#40;&amp;#34;C&amp;#58;&amp;#092;&amp;#092;Users&amp;#092;&amp;#092;Boo&amp;#092;&amp;#092;Downloads&amp;#092;&amp;#092;bigData.txt&amp;#34;&amp;#41;;&lt;br /&gt;           ulong checkSum = 0;&lt;br /&gt;&lt;br /&gt;           for &amp;#40;int i = 0; i &amp;#60; buffer.Length; i++&amp;#41;&lt;br /&gt;               checkSum += &amp;#40;ulong&amp;#41;&amp;#40;&amp;#40;buffer&amp;#91;i&amp;#93; &amp;amp; 1&amp;#41; * i&amp;#41;;&lt;br /&gt;&lt;br /&gt;           Console.WriteLine&amp;#40;checkSum&amp;#41;;  &lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;           &lt;br /&gt;           Console.ReadLine&amp;#40;&amp;#41;;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6th quicker &lt;/b&gt;solution (Original solution)&lt;br /&gt;&lt;br /&gt;(using StreamReader, read byte-by-byte from disk)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;26 seconds&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('3c8e48153ad2a305e9bad4419001e0dd')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;3c8e48153ad2a305e9bad4419001e0dd&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;&lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;&lt;br /&gt;           StreamReader bigFile = File.OpenText&amp;#40;&amp;#34;C&amp;#58;&amp;#092;&amp;#092;Users&amp;#092;&amp;#092;Boo&amp;#092;&amp;#092;Downloads&amp;#092;&amp;#092;bigData.txt&amp;#34;&amp;#41;;&lt;br /&gt;           int bigFilePos = 1;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;           while &amp;#40;bigFile.Peek&amp;#40;&amp;#41; &amp;#62; 0&amp;#41;&lt;br /&gt;           {&lt;br /&gt;               int dat = bigFile.Read&amp;#40;&amp;#41;;&lt;br /&gt;&lt;br /&gt;               if &amp;#40;dat == 49&amp;#41;&lt;br /&gt;               {&lt;br /&gt;                   Console.WriteLine&amp;#40;bigFilePos&amp;#41;;&lt;br /&gt;                   break;&lt;br /&gt;               }&lt;br /&gt;&lt;br /&gt;               bigFilePos++;&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           bigFile.Close&amp;#40;&amp;#41;;&lt;br /&gt;           Console.WriteLine&amp;#40;DateTime.Now&amp;#41;;&lt;br /&gt;           Console.ReadLine&amp;#40;&amp;#41;;&lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;&lt;br /&gt;&lt;br /&gt;Thank you&lt;b&gt; @CkKwan, @kingkingyyk and @techm&lt;/b&gt; for suggesting to load it into memory buffer.&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;</description>
            <author>Mussel</author>
            <category>Codemasters</category>
            <pubDate>Thu, 19 Dec 2019 03:57:56 +0800</pubDate>
        </item>
        <item>
            <title>What&amp;#39;s your experience about stackoverflow.com?</title>
            <link>http://forum.lowyat.net/topic/4878969</link>
            <description>I just joined it two days ago, posted two answers and one question, and have got two upvotes for answers, and one downvote for question.&lt;br /&gt;&lt;br /&gt;Exchanging comments on stackoverflow.com, and seeing how others solve and post their code, only I know that my skill is far from being competent.&lt;br /&gt;I am talking about mostly &amp;quot;binary&amp;quot;, &amp;quot;bit-manipulation&amp;quot;, &amp;quot;algorithm&amp;quot;, &amp;quot;compression&amp;quot; and &amp;quot;encoding&amp;quot;.&lt;br /&gt;&lt;br /&gt;Compress is not all about LZW, gz, LHARC, RLE, bzip2, deflate. For example, a senior member taught me there are &amp;quot;Kolmogorov complexity&amp;quot; and &amp;quot;pigeonhole Principle&amp;quot; related to compression theory.&lt;br /&gt;&lt;br /&gt;Then, there is O(N) or time-complexity...... I am not sure I hear this term back in my IT college days, but time-complexity is frequently mentioned here and there.&lt;br /&gt;&lt;br /&gt;Even when talking about bit-manipulation, as a coder who is familiar with SHL, SHR, ROL, ROR, XOR, OR, AND, NOT...and bit masking... There are still some question that make me ponder, which I can&amp;#39;t remember the equation.&lt;br /&gt;&lt;br /&gt;So, what&amp;#39;s everybody&amp;#39;s experience on stackoverflow.com? Are you a Scholar(ask question and receive answer) or Teacher (answer question)?   &lt;!--emo&amp;:hehe:--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/brows.gif' border='0' style='vertical-align:middle' alt='brows.gif' /&gt;&lt;!--endemo--&gt;</description>
            <author>Mussel</author>
            <category>Codemasters</category>
            <pubDate>Tue, 17 Dec 2019 14:04:03 +0800</pubDate>
        </item>
        <item>
            <title>Compress 192-byte string of &amp;quot;A&amp;quot;&amp;amp; &amp;quot;B&amp;quot; as 16 bytes</title>
            <link>http://forum.lowyat.net/topic/4878219</link>
            <description>&lt;b&gt;96-bit + 96-bit = 128-bit decimal. &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If I have 192-byte string of two distinct characters, it would be considered a great savings by converting it to two pairs of 96-bit number and add it as 128-bit number, instead of 192-bit number.&lt;br /&gt;&lt;br /&gt;But how do I decode the 128-bit number (16 bytes data values) back to 192-bit number (without making the compressed size larger than 192-bit)?</description>
            <author>Mussel</author>
            <category>Codemasters</category>
            <pubDate>Sun, 15 Dec 2019 20:12:22 +0800</pubDate>
        </item>
        <item>
            <title>Problem: Saving The Universe Again</title>
            <link>http://forum.lowyat.net/topic/4877518</link>
            <description>Let see how is the question in Code Jam (Google&amp;#39;s highest ranking coding competition?) looks like.  I want to try this Problem.&lt;br /&gt;&lt;br /&gt;If anyone want to join, please login to codingcompetitions.withgoogle.com with your Google credentials and navigate to &amp;quot;Code Jam 2018 Qualification Round 2018, 1st Problem - Saving the Universe again&amp;quot; and submit your code.&lt;br /&gt;&lt;br /&gt;Paste your code here, too&amp;#33;&lt;br /&gt;&lt;br /&gt;As far as I see, no Malaysian ranked in the top 50 on this Problem set. From the top 50, I can see mostly from US, and if Asians, they are Japanese, China nationals, Taiwanese, Korean and Indian. Looks like there were over 24,000 participants in the Code Jam 2018 qualification round .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--QuoteBegin--&gt;&lt;div class='quotetop'&gt;QUOTE&lt;/div&gt;&lt;div class='quotemain'&gt;&lt;!--QuoteEBegin--&gt;Problem&lt;br /&gt;&lt;br /&gt;An alien robot is threatening the universe, using a beam that will destroy all algorithms knowledge. We have to stop it&amp;#33; &lt;br /&gt;Fortunately, we understand how the robot works. It starts off with a beam with a strength of 1, and it will run a program that is a series of instructions, which will be executed one at a time, in left to right order. Each instruction is of one of the following two types: &lt;br /&gt;C (for &amp;quot;charge&amp;quot;): Double the beam&amp;#39;s strength.&lt;br /&gt;S (for &amp;quot;shoot&amp;quot;): Shoot the beam, doing damage equal to the beam&amp;#39;s current strength.&lt;br /&gt;&lt;br /&gt;For example, if the robot&amp;#39;s program is SCCSSC, the robot will do the following when the program runs: &lt;br /&gt;Shoot the beam, doing 1 damage.&lt;br /&gt;Charge the beam, doubling the beam&amp;#39;s strength to 2.&lt;br /&gt;Charge the beam, doubling the beam&amp;#39;s strength to 4.&lt;br /&gt;Shoot the beam, doing 4 damage.&lt;br /&gt;Shoot the beam, doing 4 damage.&lt;br /&gt;Charge the beam, increasing the beam&amp;#39;s strength to 8.&lt;br /&gt;In that case, the program would do a total of 9 damage. &lt;br /&gt;&lt;br /&gt;The universe&amp;#39;s top algorithmists have developed a shield that can withstand a maximum total of D damage. But the robot&amp;#39;s current program might do more damage than that when it runs. &lt;br /&gt;The President of the Universe has volunteered to fly into space to hack the robot&amp;#39;s program before the robot runs it. The only way the President can hack (without the robot noticing) is by swapping two adjacent instructions. For example, the President could hack the above program once by swapping the third and fourth instructions to make it SCSCSC. This would reduce the total damage to 7. Then, for example, the president could hack the program again to make it SCSSCC, reducing the damage to 5, and so on. &lt;br /&gt;To prevent the robot from getting too suspicious, the President does not want to hack too many times. What is this smallest possible number of hacks which will ensure that the program does no more than D total damage, if it is possible to do so? &lt;br /&gt;&lt;br /&gt;Input&lt;br /&gt;&lt;br /&gt;The first line of the input gives the number of test cases, T. T test cases follow. Each consists of one line containing an integer D and a string P: the maximum total damage our shield can withstand, and the robot&amp;#39;s program. &lt;br /&gt;&lt;br /&gt;Output&lt;br /&gt;&lt;br /&gt;For each test case, output one line containing Case #x: y, where x is the test case number (starting from 1) and y is either the minimum number of hacks needed to accomplish the goal, or IMPOSSIBLE if it is not possible. &lt;br /&gt;&lt;br /&gt;Limits&lt;br /&gt;&lt;br /&gt;1 ≤ T ≤ 100.&lt;br /&gt;1 ≤ D ≤ 10^9.&lt;br /&gt;2 ≤ length of P ≤ 30.&lt;br /&gt;Every character in P is either C or S.&lt;br /&gt;Time limit: 20 seconds per test set.&lt;br /&gt;Memory limit: 1GB.&lt;br /&gt;Test set 1 (Visible)&lt;br /&gt;The robot&amp;#39;s program contains either zero or one C characters. &lt;br /&gt;Test set 2 (Hidden)&lt;br /&gt;No additional restrictions to the Limits section. &lt;br /&gt;&lt;br /&gt;Sample&lt;br /&gt;&lt;br /&gt;Input &lt;br /&gt;    &lt;br /&gt;6&lt;br /&gt;1 CS&lt;br /&gt;2 CS&lt;br /&gt;1 SS&lt;br /&gt;6 SCCSSC&lt;br /&gt;2 CC&lt;br /&gt;3 CSCSS&lt;br /&gt;&lt;br /&gt;Output &lt;br /&gt;&lt;br /&gt;Case #1: 1&lt;br /&gt;Case #2: 0&lt;br /&gt;Case #3: IMPOSSIBLE&lt;br /&gt;Case #4: 2&lt;br /&gt;Case #5: 0&lt;br /&gt;Case #6: 5&lt;br /&gt;&lt;br /&gt;Note that the last three sample cases would not appear in test set 1. &lt;br /&gt;In Sample Case #1, the President can swap the two instructions to reduce the total damage to 1, which the shield can withstand. &lt;br /&gt;In Sample Case #2, the President does not need to hack the program at all, since the shield can already withstand the 2 total damage it will cause. &lt;br /&gt;In Sample Case #3, the program will do more damage than the shield can withstand, and hacking will do nothing to change this. The universe is doomed. &lt;br /&gt;Sample Case #4 uses the program described in the problem statement. The statement demonstrates one way to reduce the total damage to 5 using two hacks. It is not possible to reduce the damage to 6 or less by using only one hack; remember that the President can only swap adjacent instructions. &lt;br /&gt;In Sample Case #5, the robot will never shoot, and so it will never do any damage. No hacking is required. &lt;br /&gt;In Sample Case #6, five hacks are required. Notice that even if two hacks swap the instructions at the same two positions, they still count as separate hacks. &lt;br /&gt;&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;</description>
            <author>Mussel</author>
            <category>Codemasters</category>
            <pubDate>Fri, 13 Dec 2019 20:11:11 +0800</pubDate>
        </item>
        <item>
            <title>Convert binary string to binary number &amp;amp;vice versa</title>
            <link>http://forum.lowyat.net/topic/4876204</link>
            <description>This code snippet would convert long binary string (e.g. &amp;quot;000111&amp;quot;) to binary number (e.g. 7). If the binary string is longer than 32 characters of &amp;quot;0&amp;quot; and &amp;quot;1&amp;quot;, the binary numbers will be stored in multiple set of 32-bit integer, starting from rightmost bit (LSB).&lt;br /&gt;&lt;br /&gt;Maybe someone will find it useful one day.&lt;br /&gt;&lt;br /&gt;Run this C# code online: &lt;a href='https://dotnetfiddle.net/bCMcHs' target='_blank'&gt;https://dotnetfiddle.net/bCMcHs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('f2b3ba36b65ecb31bef8484fccb737ff')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;f2b3ba36b65ecb31bef8484fccb737ff&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;using System;&lt;br /&gt;    	&lt;br /&gt;public class Program&lt;br /&gt;{&lt;br /&gt;	public static void Main&amp;#40;&amp;#41;&lt;br /&gt;	{  &lt;br /&gt;  //string testCase = &amp;#34;0001001000000010000000000010000111000011000101100000001100000000000010010100110100100011001001000101010010001100011100110000110010000001011000100101010001100001001000010100100100000000100001010000011100000001111111111111110101000000000111110111000100000110&amp;#34;;&lt;br /&gt;  Console.Write&amp;#40;&amp;#34;Please enter a binary string &amp;#40;&amp;#39;0&amp;#39; or &amp;#39;1&amp;#39; only&amp;#41;&amp;#58; &amp;#34;&amp;#41;;&lt;br /&gt;  string testCase = Console.ReadLine&amp;#40;&amp;#41;;&lt;br /&gt;  &lt;br /&gt;  uint&amp;#91;&amp;#93; G = new uint&amp;#91;&amp;#40;testCase.Length / 32&amp;#41; + 1&amp;#93;; &lt;br /&gt;  uint g = 0;&lt;br /&gt;&lt;br /&gt;  for &amp;#40;int i = 0; i &amp;#60; testCase.Length; i++&amp;#41;&lt;br /&gt;  {&lt;br /&gt;  	G&amp;#91;&amp;#40;i / 32&amp;#41;&amp;#93; += &amp;#40;uint&amp;#41;&amp;#40;&amp;#40;testCase&amp;#91;testCase.Length - &amp;#40;i +1&amp;#41;&amp;#93; &amp;amp; 1&amp;#41; &amp;#60;&amp;#60; &amp;#40;i % 32&amp;#41;&amp;#41;;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  for &amp;#40;int i = 0; i &amp;#60; testCase.Length; i++&amp;#41;&lt;br /&gt;  {&lt;br /&gt;  	g += &amp;#40;G&amp;#91;&amp;#40;i / 32&amp;#41;&amp;#93; &amp;#60;&amp;#60; &amp;#40;31 - &amp;#40;i % 32&amp;#41;&amp;#41;&amp;#41; &amp;#62;&amp;#62; 31;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  Console.WriteLine&amp;#40;&amp;#34;There are &amp;#34; + g.ToString&amp;#40;&amp;#41; + &amp;#34; ocurrence&amp;#40;s&amp;#41; of &amp;#39;1&amp;#39;&amp;#34;&amp;#41;;&lt;br /&gt;  Console.WriteLine&amp;#40;&amp;#34;Below are the binary numbers stored in multiple 32-bit integer starting from rightmost bit&amp;#58;&amp;#34;&amp;#41;;&lt;br /&gt;  for &amp;#40;int i = 0; i &amp;#60; &amp;#40;testCase.Length / 32&amp;#41; + 1; i++&amp;#41;&lt;br /&gt;  {&lt;br /&gt;  	Console.WriteLine&amp;#40;G&amp;#91;i&amp;#93;&amp;#41;;&lt;br /&gt;  }  &lt;br /&gt;  Console.ReadLine&amp;#40;&amp;#41;;&lt;br /&gt;	}&lt;br /&gt;}&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I posted my C# code of post #4 on stackoverflow.com and have got two upvotes&amp;#33;  &lt;!--emo&amp;:rolleyes:--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/rolleyes.gif' border='0' style='vertical-align:middle' alt='rolleyes.gif' /&gt;&lt;!--endemo--&gt; &lt;br /&gt;&lt;a href='https://pictr.com/image/5bOEBO' target='_blank'&gt;&lt;img src='https://pictr.com/images/2019/12/17/5bOEBO.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;</description>
            <author>Mussel</author>
            <category>Codemasters</category>
            <pubDate>Tue, 10 Dec 2019 22:58:40 +0800</pubDate>
        </item>
        <item>
            <title>Problem: Even Digits</title>
            <link>http://forum.lowyat.net/topic/4875806</link>
            <description>I wrote the code which I thought was correct, but Google says otherwise (WA - Wrong Answer). Huh?&lt;br /&gt;&lt;br /&gt;You can run the C# code from: BUG FIXED: &lt;a href='https://dotnetfiddle.net/EAUVT4' target='_blank'&gt;https://dotnetfiddle.net/EAUVT4&lt;/a&gt; &lt;br /&gt;(Credit to @wKkaY)&lt;br /&gt;&lt;br /&gt;Original: dotnetfiddle.net/8GnIvh&lt;br /&gt;&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('503d89c3b665dfcff86f944e4c0170f1')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;503d89c3b665dfcff86f944e4c0170f1&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;using System;&lt;br /&gt;    	&lt;br /&gt;public class Program&lt;br /&gt;{&lt;br /&gt;	public static void Main&amp;#40;&amp;#41;&lt;br /&gt;	{  &lt;br /&gt;  int countTestCase = int.Parse&amp;#40;Console.ReadLine&amp;#40;&amp;#41;&amp;#41;;&lt;br /&gt;  string&amp;#91;&amp;#93; testCaseSet = new string&amp;#91;countTestCase&amp;#93;;&lt;br /&gt;  &lt;br /&gt;  for &amp;#40;int i = 0; i &amp;#60; countTestCase; i++&amp;#41;&lt;br /&gt;  	testCaseSet&amp;#91;i&amp;#93; = Console.ReadLine&amp;#40;&amp;#41;;&lt;br /&gt;  &lt;br /&gt;  for &amp;#40;int i = 0; i &amp;#60; countTestCase; i++&amp;#41;&lt;br /&gt;  {  &lt;br /&gt;  	int minEvenDigit = 0;&lt;br /&gt;  	int maxEvenDigit = 0;&lt;br /&gt;  	int thisDigit = 0;&lt;br /&gt;  	Int64 minEvenNumber = 0;&lt;br /&gt;  	Int64 maxEvenNumber = 0;&lt;br /&gt;  	Int64 thisNumber = 0;&lt;br /&gt;  	string MinEvenNumber = string.Empty;&lt;br /&gt;  	string MaxEvenNumber = string.Empty;&lt;br /&gt;  	Int64 diffCount = 0;&lt;br /&gt;  	bool fillEvenDigits = false;&lt;br /&gt;  	string testCase = testCaseSet&amp;#91;i&amp;#93;;&lt;br /&gt;  	&lt;br /&gt;  	thisNumber = Int64.Parse&amp;#40;testCaseSet&amp;#91;i&amp;#93;&amp;#41;;&lt;br /&gt;  	&lt;br /&gt;  	for &amp;#40;int j = 0; j &amp;#60; testCase.Length; j++&amp;#41;&lt;br /&gt;  	{&lt;br /&gt;    thisDigit = int.Parse&amp;#40;testCase&amp;#91;j&amp;#93;.ToString&amp;#40;&amp;#41;&amp;#41;;&lt;br /&gt;    minEvenDigit = thisDigit;&lt;br /&gt;    maxEvenDigit = thisDigit;&lt;br /&gt;    &lt;br /&gt;    if &amp;#40;fillEvenDigits&amp;#41;&lt;br /&gt;    {&lt;br /&gt;    	minEvenDigit = 8;&lt;br /&gt;    	maxEvenDigit = 0;&lt;br /&gt;    	MinEvenNumber += minEvenDigit.ToString&amp;#40;&amp;#41;;&lt;br /&gt;    	MaxEvenNumber += maxEvenDigit.ToString&amp;#40;&amp;#41;;	&lt;br /&gt;    }&lt;br /&gt;    else if &amp;#40;&amp;#33;&amp;#40;&amp;#40;testCase&amp;#91;j&amp;#93; == &amp;#39;2&amp;#39;&amp;#41; &amp;#124;&amp;#124; &amp;#40;testCase&amp;#91;j&amp;#93; == &amp;#39;4&amp;#39;&amp;#41; &amp;#124;&amp;#124; &amp;#40;testCase&amp;#91;j&amp;#93; == &amp;#39;6&amp;#39;&amp;#41; &amp;#124;&amp;#124; &amp;#40;testCase&amp;#91;j&amp;#93; == &amp;#39;8&amp;#39;&amp;#41; &amp;#124;&amp;#124; &amp;#40;testCase&amp;#91;j&amp;#93; == &amp;#39;0&amp;#39;&amp;#41;&amp;#41;&amp;#41;  &lt;br /&gt;    {&lt;br /&gt;    	minEvenDigit--;&lt;br /&gt;    	maxEvenDigit++;&lt;br /&gt;	if &amp;#40;testCase&amp;#91;j&amp;#93; == &amp;#39;9&amp;#39;&amp;#41;&lt;br /&gt;  maxEvenDigit += 2;&lt;br /&gt;    	MinEvenNumber += minEvenDigit.ToString&amp;#40;&amp;#41;;&lt;br /&gt;    	MaxEvenNumber += maxEvenDigit.ToString&amp;#40;&amp;#41;;&lt;br /&gt;    	fillEvenDigits = true;&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;    	MinEvenNumber += minEvenDigit.ToString&amp;#40;&amp;#41;;&lt;br /&gt;    	MaxEvenNumber += maxEvenDigit.ToString&amp;#40;&amp;#41;;    	&lt;br /&gt;    }      	&lt;br /&gt;  	}    	&lt;br /&gt;  	&lt;br /&gt;  	minEvenNumber = Int64.Parse&amp;#40;MinEvenNumber&amp;#41;;&lt;br /&gt;  	maxEvenNumber = Int64.Parse&amp;#40;MaxEvenNumber&amp;#41;;&lt;br /&gt;  	if &amp;#40;minEvenNumber == maxEvenNumber&amp;#41;&lt;br /&gt;  	{&lt;br /&gt;    diffCount = 0;&lt;br /&gt;  	}&lt;br /&gt;  	else if &amp;#40;&amp;#40;maxEvenNumber - thisNumber&amp;#41; &amp;#62; &amp;#40;thisNumber - minEvenNumber&amp;#41;&amp;#41;&lt;br /&gt;  	{&lt;br /&gt;    diffCount = thisNumber - minEvenNumber;&lt;br /&gt;  	}&lt;br /&gt;  	else&lt;br /&gt;  	{&lt;br /&gt;    diffCount = maxEvenNumber - thisNumber;&lt;br /&gt;  	}  &lt;br /&gt;  	&lt;br /&gt;  	Console.WriteLine&amp;#40;&amp;#34;Case #&amp;#34; + &amp;#40;i + 1&amp;#41;.ToString&amp;#40;&amp;#41; + &amp;#34;&amp;#58; &amp;#34; + diffCount.ToString&amp;#40;&amp;#41;&amp;#41;;&lt;br /&gt;  }  &lt;br /&gt;	}&lt;br /&gt;}&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;&lt;br /&gt;&lt;br /&gt;Let say input is 11111111, what is your minimum number of button presses to reach a number with all even digits?&lt;br /&gt;&lt;br /&gt; &lt;!--emo&amp;:P--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/tongue.gif' border='0' style='vertical-align:middle' alt='tongue.gif' /&gt;&lt;!--endemo--&gt; &lt;br /&gt;&lt;br /&gt;&lt;!--QuoteBegin--&gt;&lt;div class='quotetop'&gt;QUOTE&lt;/div&gt;&lt;div class='quotemain'&gt;&lt;!--QuoteEBegin--&gt;Problem&lt;br /&gt;&lt;br /&gt;Supervin has a unique calculator. This calculator only has a display, a plus button, and a minus button. Currently, the integer N is displayed on the calculator display. &lt;br /&gt;Pressing the plus button increases the current number displayed on the calculator display by 1. Similarly, pressing the minus button decreases the current number displayed on the calculator display by 1. The calculator does not display any leading zeros. For example, if 100 is displayed on the calculator display, pressing the minus button once will cause the calculator to display 99. &lt;br /&gt;Supervin does not like odd digits, because he thinks they are &amp;quot;odd&amp;quot;. Therefore, he wants to display an integer with only even digits in its decimal representation, using only the calculator buttons. Since the calculator is a bit old and the buttons are hard to press, he wants to use a minimal number of button presses. &lt;br /&gt;Please help Supervin to determine the minimum number of button presses to make the calculator display an integer with no odd digits. &lt;br /&gt;&lt;br /&gt;Input&lt;br /&gt;&lt;br /&gt;The first line of the input gives the number of test cases, T. T test cases follow. Each begins with one line containing an integer N: the integer initially displayed on Supervin&amp;#39;s calculator. &lt;br /&gt;&lt;br /&gt;Output&lt;br /&gt;&lt;br /&gt;For each test case, output one line containing Case #x: y, where x is the test case number (starting from 1) and y is the minimum number of button presses, as described above.&lt;br /&gt; &lt;br /&gt;Limits&lt;br /&gt;&lt;br /&gt;1 ≤ T ≤ 100.&lt;br /&gt;Time limit: 20 seconds per test set.&lt;br /&gt;Memory limit: 1GB.&lt;br /&gt;&lt;br /&gt;Small dataset (Test set 1 - Visible)&lt;br /&gt;1 ≤ N ≤ 10^5.&lt;br /&gt;&lt;br /&gt;Large dataset (Test set 2 - Hidden)&lt;br /&gt;1 ≤ N ≤ 10^16.&lt;br /&gt;&lt;br /&gt;Sample&lt;br /&gt;&lt;br /&gt;Input &lt;br /&gt;  &lt;br /&gt;4&lt;br /&gt;42&lt;br /&gt;11&lt;br /&gt;1&lt;br /&gt;2018&lt;br /&gt;&lt;br /&gt;Output &lt;br /&gt;  &lt;br /&gt;Case #1: 0&lt;br /&gt;Case #2: 3&lt;br /&gt;Case #3: 1&lt;br /&gt;Case #4: 2&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;In Sample Case #1, the integer initially displayed on the calculator has no odd digits, so no button presses are needed. &lt;br /&gt;In Sample Case #2, pressing the minus button three times will cause the calculator to display 8. There is no way to satisfy the requirements with fewer than three button presses. &lt;br /&gt;In Sample Case #3, either pressing the minus button once (causing the calculator to display 0) or pressing the plus button once will cause the calculator to display an integer without an odd digit. &lt;br /&gt;In Sample Case #4, pressing the plus button twice will cause the calculator to display 2020. There is no way to satisfy the requirements with fewer than two button presses. &lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;</description>
            <author>Mussel</author>
            <category>Codemasters</category>
            <pubDate>Mon, 09 Dec 2019 23:12:06 +0800</pubDate>
        </item>
        <item>
            <title>Coding competition must be tough</title>
            <link>http://forum.lowyat.net/topic/4875360</link>
            <description>There are three types of competition and the registrations are for year 2020. &lt;br /&gt;I am new to this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://codingcompetitions.withgoogle.com/' target='_blank'&gt;https://codingcompetitions.withgoogle.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anyone? &lt;br /&gt;&lt;br /&gt;&amp;quot;When the going gets tough, the tough get going.&amp;quot;&lt;br /&gt;</description>
            <author>Mussel</author>
            <category>Codemasters</category>
            <pubDate>Sun, 08 Dec 2019 22:45:30 +0800</pubDate>
        </item>
        <item>
            <title>Proposal of New startup ... with checklist</title>
            <link>http://forum.lowyat.net/topic/4873339</link>
            <description>Hi all. I am planning for a new startup.....I don&amp;#39;t have any experience in business, so I need to consult forum members who have expertise on these:&lt;br /&gt;Actually,I am planning for a motorcycle-delivery service to residents and business owners in Klang Valley.  &lt;br /&gt;&lt;br /&gt;(questions at the bottom)&lt;br /&gt;&lt;br /&gt;SSM: Sole proprietorship- Trade name &amp;quot;Z**** Delivery&amp;quot;  &lt;br /&gt;&lt;br /&gt;Outsource:&lt;br /&gt;Accounting, auditing, taxation, company secretary&lt;br /&gt;Web programming, Mobile app dev., graphics design (UI/UX)&lt;br /&gt;&lt;br /&gt;Branding:&lt;br /&gt;T-shirt uniform&lt;br /&gt;Name cards&lt;br /&gt;Delivery bags&lt;br /&gt;Sign board&lt;br /&gt;WhatsApp Business account&lt;br /&gt;&lt;br /&gt;Forms:&lt;br /&gt;Employment letter&lt;br /&gt;New Application form&lt;br /&gt;Leave application form&lt;br /&gt;Employee claim form&lt;br /&gt;&lt;br /&gt;Computer system:&lt;br /&gt;1. Invoicing (online)&lt;br /&gt;2. Payroll (online)-- employees can check + print payslips online &lt;br /&gt;&lt;br /&gt;***Office communicate with dispatcher(s) using WhatsApp...no custom mobile app needed****&lt;br /&gt;&lt;br /&gt;Salaried employee: (EPF + SOCSO)&lt;br /&gt;1 x Admin clerk (H.r., payroll cum billing).....RM 2.6K&lt;br /&gt;1 x Receptionist (filing, data entry, C.s.).....RM 2K&lt;br /&gt;2++ dispatcher (own motorcycle + helmet + jeans).....RM 2K (+rm 75 motor allowance, weekly)&lt;br /&gt;(Must have GPS-enabled smartphone)&lt;br /&gt;&lt;br /&gt;Office: (K.L. outskirts) &lt;br /&gt;3 x PC + UPS&lt;br /&gt;1 x Printer (3-in-1)&lt;br /&gt;3 x Key Phone&lt;br /&gt;1 x Facsimile machine&lt;br /&gt;1 x Shredder&lt;br /&gt;4 x Office Desk + Chair&lt;br /&gt;1 set of Sofa (for walk-in customer)&lt;br /&gt;1 x Water dispenser (Hot + Cold)&lt;br /&gt;1 x Coffee maker&lt;br /&gt;3 x ceiling aircond&lt;br /&gt;1 x Punch card machine&lt;br /&gt;&amp;amp; stationeries + toiletries&lt;br /&gt;&lt;br /&gt;Marketing: myself&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;Questions: (please advise)&lt;br /&gt;&lt;b&gt;&lt;br /&gt;I have no idea is there any software system (online or standalone) for delivery / logistics (booking and tracking)?&lt;br /&gt;&lt;br /&gt;How much will be the expenses in total (one-off, and month-to-month)?&lt;br /&gt;&lt;br /&gt;I am not sure if sole proprietorship needs to do accounting/auditing, and tax submission?&lt;br /&gt;&lt;br /&gt;Do I have to apply license/permits from local councils(or other government agencies) besides SSM?&lt;br /&gt;&lt;br /&gt;What kind of policy should I employ once goods not delivered on-time, damaged, or lost? Is there any insurance policy to buy to protect my business?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks a lot&amp;#33;</description>
            <author>Mussel</author>
            <category>Finance, Business and Investment House</category>
            <pubDate>Tue, 03 Dec 2019 23:51:02 +0800</pubDate>
        </item>
        <item>
            <title>My brief intro</title>
            <link>http://forum.lowyat.net/topic/4873266</link>
            <description>A brief intro about me:&lt;br /&gt;&lt;br /&gt;Graduated with computer science and computer engineering, I worked for software house from 2000 to 2008.  Acquired CCTV skill in 2012.&lt;br /&gt;Passionate about both IT(or ICT) and IoT(Internet of Things). Gained exposure in business intelligence and business reporting tools.&lt;br /&gt;Besides IT(or ICT) and IoT, I have worked for NGO as administration cum finance executive. &lt;br /&gt;Know how-to in billing (or invoicing), payroll, clerical duties (or administrative tasks), filing, and basic (tele-, email-, fascimile-)marketing.&lt;br /&gt;Know how-to in using cheque writer, bank note counter, printer / scanner / copier, fascimile machine, laminator and basic telephone answering etiquette (as well as business English).&lt;br /&gt;Since 2017, I become a professional delivery rider using motorcycle. Assisted in distribution of coconut milk and parcels. Currently assisting in movement of automotive parts.&lt;br /&gt;Completed a 4-day formal dispatcher training class and learned S.O.P of goods pick-up and drop-off. &lt;br /&gt;Planning to start my sole proprietorship &amp;quot;ZYZY Delivery&amp;quot; for freelance delivery in Klang Valley.&lt;br /&gt;&lt;br /&gt;My services included:&lt;br /&gt;&lt;b&gt;1. Write a code snippet using VB.net, Pascal or C#&lt;/b&gt; (for RM each)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Guide you on how to configure CCTV (DVR only)&lt;/b&gt; ( for RM each)&lt;br /&gt;P.S. ****Disclaimer: I am a CCTV hobbyist only, NOT a professional. ****&lt;br /&gt;&lt;br /&gt;&lt;a href='https://forum.lowyat.net/topic/4814120' target='_blank'&gt;https://forum.lowyat.net/topic/4814120&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Same-day (Part-time) delivery on ad-hoc basis using motorcycle (limited to Klang Valley only)&lt;/b&gt; (for RM per trip)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. Office Word, Excel, Access customization&lt;/b&gt; (for RM  each, it depends)&lt;br /&gt;e.g. Payroll  &lt;br /&gt;Solution 1: Excel to key-in time sheet and calculate wages, Word to print pay slip using Mail Merge functionality&lt;br /&gt;Solution 2: Access for data entry (form + table), wages calculation (code) and pay slip (report) all-in-one  &lt;br /&gt;P.S. ****The latest Office 365 version which I use was 2016, so my skill might be a little outdated now.****&lt;br /&gt;&lt;br /&gt;&lt;a href='https://forum.lowyat.net/topic/4095365' target='_blank'&gt;https://forum.lowyat.net/topic/4095365&lt;/a&gt;</description>
            <author>Mussel</author>
            <category>Services Noticeboard</category>
            <pubDate>Tue, 03 Dec 2019 21:34:47 +0800</pubDate>
        </item>
        <item>
            <title>[WTS] Used Acer Aspire XC-740 Desktop PC</title>
            <link>http://forum.lowyat.net/topic/4872285</link>
            <description>&lt;b&gt;Item(s):&lt;/b&gt;&lt;br /&gt;Acer Aspire XC-704&lt;br /&gt;* Intel Celeron N3050 &lt;br /&gt;* 4GB RAM &lt;br /&gt;* 500GB HDD&lt;br /&gt;* DVD-RW &lt;br /&gt;* Windows 10 Home Single Language, English (Activated)&lt;br /&gt;&lt;br /&gt;Must connect with HDMI monitor. If you use DVI or VGA monitor, you have to use converter (not included).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Package includes:&lt;/b&gt;&lt;br /&gt;* Acer Keyboard&lt;br /&gt;* Acer Mouse&lt;br /&gt;* Acer USB Speaker&lt;br /&gt;* Power Adapter&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Price:&lt;/b&gt;  &lt;span style='color:red'&gt;(&amp;#33;&amp;#33;&amp;#33;NOTICE&amp;#33;&amp;#33;&amp;#33;: Sellers are required to display the exact selling prices of their products. Failure to do so will result in the deletion of the topic)&lt;/span&gt;  RM 450&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Warranty:&lt;/b&gt; No&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dealing method:&lt;/b&gt; C.O.D in Cheras / Serdang only&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Location:&lt;/b&gt; Cheras&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Contact method/details:&lt;/b&gt; &lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Item(s) conditions:&lt;/b&gt; Used&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Picture:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Reason for sale:&lt;/b&gt; To buy notebook PC instead because power trips frequently in my area.  I bought UPS for this desktop PC but notebook PC with battery is preferred.</description>
            <author>Mussel</author>
            <category>Desktop Systems Garage Sales</category>
            <pubDate>Sun, 01 Dec 2019 15:41:51 +0800</pubDate>
        </item>
        <item>
            <title>The making of my first YouTube video</title>
            <link>http://forum.lowyat.net/topic/4871050</link>
            <description>My video project files:&lt;br /&gt;* MP3 songs&lt;br /&gt;* Cover photos&lt;br /&gt;* Description (MUSIC.txt) for YouTube uploads&lt;br /&gt;* MP4 video (The final outputs)&lt;br /&gt;&lt;a href='https://pictr.com/image/5uNZCn' target='_blank'&gt;&lt;img src='https://pictr.com/images/2019/11/28/5uNZCn.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am using preinstalled Video editor (aka Photos) in Windows 10 Home, to make the MP4 video.&lt;br /&gt;The crucial steps are:&lt;br /&gt;* Set the duration of the song&lt;br /&gt;* Add the song as Custom audio&lt;br /&gt;&lt;a href='https://pictr.com/image/5uNaDB' target='_blank'&gt;&lt;img src='https://pictr.com/images/2019/11/28/5uNaDB.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And voila, the uploaded videos were now in YouTube&amp;#33;&lt;br /&gt;&lt;a href='https://pictr.com/image/5uNm6c' target='_blank'&gt;&lt;img src='https://pictr.com/images/2019/11/28/5uNm6c.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;[YOUTUBE]TE9LfBDMPD0[/YOUTUBE]</description>
            <author>Mussel</author>
            <category>Multimedia</category>
            <pubDate>Thu, 28 Nov 2019 15:12:48 +0800</pubDate>
        </item>
        <item>
            <title>How do I setup forum on my PC?</title>
            <link>http://forum.lowyat.net/topic/4868916</link>
            <description>Yes, you heard it right. Can I setup forum on my PC?&lt;br /&gt;&lt;br /&gt;I&amp;#39;ll need to keep my PC awake 24/7 with limited uptime.  As an alternative choice because I don&amp;#39;t have enough money to renew web hosting and domain name every year.&lt;br /&gt;&lt;br /&gt;Question for you: (Please spend time to answer if you could &lt;!--emo&amp;:)--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /&gt;&lt;!--endemo--&gt; &lt;br /&gt;&lt;br /&gt;1. Can I use IIS for PHP-based forum software? If not, what web server do you recommend?&lt;br /&gt;&lt;br /&gt;2. Must I have public IP to make my forum available on the Internet?&lt;br /&gt;&lt;br /&gt;While I have experience setting up several forum software (Discourse, Discuz&amp;#33;) using web hosting package, I have limited knowledge in doing the same with my own (Windows 10 Home) PC.&lt;br /&gt;&lt;br /&gt;Your explanation is highly appreciated&amp;#33;</description>
            <author>Mussel</author>
            <category>Content Creators, Blogmasters &amp;amp; Webmasters</category>
            <pubDate>Sat, 23 Nov 2019 19:38:22 +0800</pubDate>
        </item>
        <item>
            <title>Job&amp;amp;Career subforum has only 3 pages?</title>
            <link>http://forum.lowyat.net/topic/4868779</link>
            <description>Where is the remaining? I can&amp;#39;t go to 4th page, etc.&lt;br /&gt;&lt;br /&gt;I am using Google Chrome on Android 7.1.&lt;br /&gt;&lt;br /&gt;EDIT: I found the link was &lt;a href='https://forum.lowyat.net/Jobs&amp;Careers/+60?prune_day=15' target='_blank'&gt;https://forum.lowyat.net/Jobs&amp;Careers/+60?prune_day=15&lt;/a&gt;</description>
            <author>Mussel</author>
            <category>Feedback and Helpdesk</category>
            <pubDate>Sat, 23 Nov 2019 12:23:45 +0800</pubDate>
        </item>
        <item>
            <title>Planning to deliver goods in K.L. as freelancer</title>
            <link>http://forum.lowyat.net/topic/4865506</link>
            <description>Hi all, before I start placing ad on service noticeboard, I&amp;#39;d like to hear your advice.&lt;br /&gt;&lt;br /&gt;Is it legal to collect payment for assisting in movement of goods as freelancer?&lt;br /&gt;&lt;br /&gt;Here&amp;#39;s my plan: &lt;br /&gt;- Deliver goods/parcels on ad-hoc basis using motorcycle&lt;br /&gt;- Cover area in Klang Valley&lt;br /&gt;- Price at least RM30 per trip&lt;br /&gt;- Can issue/e-mail printed official receipt to customer&lt;br /&gt;&lt;br /&gt;The price is going to be more expensive than courier express because I am travelling to collection point and drop-off point myself.&lt;br /&gt;&lt;br /&gt;Any thoughts?</description>
            <author>Mussel</author>
            <category>Jobs &amp;amp; Careers</category>
            <pubDate>Sat, 16 Nov 2019 05:41:00 +0800</pubDate>
        </item>
        <item>
            <title>It needs courage to admit shortcomings</title>
            <link>http://forum.lowyat.net/topic/4854017</link>
            <description>It doesn&amp;#39;t need courage to boost ego.  But it needs multiplies of courage to admit character flaw and shortcomings.&lt;br /&gt;&lt;br /&gt;I am a warrior when comes to job employment, have had job hopping for more than 20 companies in the past 20 years. Yes, I was a proud low-level coder 20 years ago competing with Europeans. See, it is very easy to have bloated ego.&lt;br /&gt;&lt;br /&gt;But I am a total failure when trying to admit my false pride and weaknesses.&lt;br /&gt;&lt;br /&gt;I have, however, admit it in a smaller social circle, definitely not on lowyat.net. &lt;br /&gt;&lt;br /&gt;It needs courage to admit shortcomings. Do you agree? &lt;br /&gt;</description>
            <author>Mussel</author>
            <category>The Museum Of Kopitiam</category>
            <pubDate>Sun, 20 Oct 2019 19:56:48 +0800</pubDate>
        </item>
        <item>
            <title>Honda EX5 FI 110cc</title>
            <link>http://forum.lowyat.net/topic/4853718</link>
            <description>Sorry, I am new to this subforum&amp;#33;&lt;br /&gt;Anyone with this 30th anniversary (2017) Honda EX5?&lt;br /&gt;&lt;br /&gt;So far I have only met 2 identical bikes (1 x silver, 1 x red). I love this bike so much. &lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/5VePju' target='_blank'&gt;&lt;img src='https://pictr.com/images/2019/10/19/5VePju.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/5Vcsp9' target='_blank'&gt;&lt;img src='https://pictr.com/images/2019/10/19/5Vcsp9.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My friend wants to find Honda EX5 second hand, but I asked the motorshop I used to visit, and the person in charge said it is hard to find EX5 2nd hand bikes.  How is it so?&lt;br /&gt;&lt;br /&gt;BTW, CityLink delivery rider also using this model of bikes right?</description>
            <author>Mussel</author>
            <category>Biker Base</category>
            <pubDate>Sat, 19 Oct 2019 23:54:31 +0800</pubDate>
        </item>
    </channel>
</rss>
