<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Masteramuk</title>
    <description>The latest articles on DEV Community by Masteramuk (@masteramuk).</description>
    <link>https://dev.to/masteramuk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F313395%2F923bff45-4185-4b5b-b939-0a0868d04387.jpeg</url>
      <title>DEV Community: Masteramuk</title>
      <link>https://dev.to/masteramuk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/masteramuk"/>
    <language>en</language>
    <item>
      <title>Windows 11 Insider - Taste of new Windows</title>
      <dc:creator>Masteramuk</dc:creator>
      <pubDate>Fri, 02 Jul 2021 15:30:30 +0000</pubDate>
      <link>https://dev.to/masteramuk/windows-11-insider-taste-of-new-windows-4k4j</link>
      <guid>https://dev.to/masteramuk/windows-11-insider-taste-of-new-windows-4k4j</guid>
      <description>&lt;p&gt;I recently subscribed to be one of the Microsoft Insider Program to get the taste of new things from Microsoft. That happen after a friend of mine, whom are strongly supporter of OSS ad being promoting it share in his Facebook on the Windows 11 installation (of which he still unable to install it during this article is written here).&lt;/p&gt;

&lt;p&gt;To those whom are interested to try, may browse it at Introducing Windows 11 | Windows Experience Blog&lt;/p&gt;

&lt;p&gt;Rightly before you installed, you might wanna check you computer health by using the tools from Microsoft. Check it out here Check your device performance and health in Windows Security (microsoft.com)&lt;/p&gt;

&lt;p&gt;It will indicate weather you are using a PC that could withstand the power of Windows 11 or not.&lt;/p&gt;

&lt;p&gt;Next - subscribe for Microsoft Insider Program and do windows update where you have he ability to update to Windows 11 Insider (as I did). If you are in the Microsoft Insider Program, just open the windows update setting. It will indicate that you are ready for windows 11. Click install or update button to start the Windows 11 installation.&lt;/p&gt;

&lt;p&gt;And here is my experience using it...&lt;br&gt;
The installation is much faster compared to previous windows family. It took me about an hour to download it (with my Unifi running at 30Mbps shared with 5 kids for their home-schooling). And then it perform necessary setup. It will took about 10 minutes to complete install (on Corei7 10th Gen Lenovo Yoga with 512GB SSD and 16GB RAM).&lt;/p&gt;

&lt;p&gt;Upon started, you will see Windows 11 page (or like mines - pinky screen) before the login screen / lock screen appear as below. Pretty nice on the design and the image change every time you lock or startup your machine&lt;/p&gt;

&lt;p&gt;Now, you can use password, pin number and if your machine has biometric capability, than you can login using fingerprint or face. I think it start from Windows 10.&lt;/p&gt;

&lt;p&gt;Upon login, you will realize that Windows 11 would like you think it as multi-platform OS; meaning you can use it on Laptop, PC, phone and tablet. It also try to imitate Mac OS icon display.&lt;/p&gt;

&lt;p&gt;Your icon may be different than mine, but probably, the first 4 from left shall be the same&lt;/p&gt;

&lt;p&gt;On click the first icon, window icon (I guessed), you will get to see the list of pre-install icon or apps that you already had. Kind of interesting, refreshing and modernize ways of browsing things. If you are familiar with Mac, this shall be your forte to search and find things&lt;/p&gt;

&lt;p&gt;On search button, better than previous and clean interface&lt;/p&gt;

&lt;p&gt;The third button is actually for you to have multiple windows which you can flip through. It is exactly similar to MacOS features. Once you add new desktop, it will behave exactly how you manage your Mac multiple desktop/screen. It is confusing at the beginning since the mouse pad on laptop was not design to behave like Mac OS handle multiple desktop.&lt;/p&gt;

&lt;p&gt;The last new button on the toolbar is the widget button. Upon click on the button, you will get to see a list of widget appear on your left screen. I've yet to explore the widget, I think you can certain pre-defined widget&lt;/p&gt;

&lt;p&gt;Finally, I would like to show the last changes (that I noticed since Window 10 and it was enhanced in Windows 11), the Setting button (previously we used to call Control Panel). Everything was done to harmonize the UIUX for windows on various platform. User will experience a seamless journey for using Windows on laptop, PC or mobile devices.&lt;/p&gt;

&lt;p&gt;That's on the Look and Feel of which I rated 9/10. It was a significant improve from previous version, cleaner and refreshing modernize feeling. The only failure, from my perspective is the behavior which it tries to imitate Mac OS. It is almost there but not there yet. :)&lt;/p&gt;

&lt;p&gt;By the way, no worries on other applications or tools installed earlier. Upgrading from Windows 10 to Windows 11 won't affect your software and you don't need to reinstall (not like previous OS, you may lost the registry and need to reinstall all software)&lt;/p&gt;

&lt;p&gt;The Performance&lt;br&gt;
Lets have a look on the performance of Windows 11. To ensure I'm not bias or wrongly judging it, here is the machine specs used&lt;br&gt;
Lenovo Yoga S730 - SMIL Australian version (released in Australia)&lt;br&gt;
Intel Core i7 10th Gen&lt;br&gt;
16GB RAM&lt;br&gt;
512 GB SSD&lt;br&gt;
2 Antivirus installed&lt;/p&gt;

&lt;p&gt;Starting up / Reboot - Windows 10 is much more faster, but the difference is not that significant to me (approximately 3 seconds different)&lt;/p&gt;

&lt;p&gt;Upon successfully login - Windows 10 is much more faster, but again, the differences is not that significant to user.&lt;/p&gt;

&lt;p&gt;Using Edge - here where it start. Opening too many tabs on Edge in Windows 11 causing the memory to stood up eating about 50% of my memory. If you open other Microsoft software such as Teams and Outlook, you can feel that it has slowing down a bit. But for normal user, there won't be much difference that could cause you to lost patient. &lt;/p&gt;

&lt;p&gt;The vmmem previously was around 40%. However, in Windows 11, sometimes, it goes to more than 60%. Above is the image of my memory utilization. I have closed Teams and my edge only have 7 tabs. I do feel that Windows 11 yet to able to close properly any program and it takes time to close it.&lt;/p&gt;

&lt;p&gt;Other Apps / software - Some of the apps, for instance GIMP (I'm using it for image processing), social media desktop apps, and even office are quite slow to open on the first time you trigger it. However, the time difference compared to Windows 10 is not that relevant for you to switch back.&lt;/p&gt;

&lt;p&gt;Will I promote Windows 11?&lt;br&gt;
My verdict, Go for it when it is officially release. Why, despite the lagging (which not that significant), you will get an OS that is close to Mac (to Mac user), friendly to Linux and a clean windows interface which will improve your user experience, hence do the work better. I bet that they will improve for official release.&lt;/p&gt;

&lt;p&gt;NOTE: Please make sure you are using SSD and at least 16GB RAM. Else, I would not suggest it. &lt;/p&gt;

&lt;p&gt;Ok. Have fun trying it. Adois&lt;/p&gt;

&lt;p&gt;Haszeli :)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Caching an Inverse of a Matrix Using R</title>
      <dc:creator>Masteramuk</dc:creator>
      <pubDate>Sun, 14 Jun 2020 02:49:37 +0000</pubDate>
      <link>https://dev.to/masteramuk/caching-an-inverse-of-a-matrix-using-r-2022</link>
      <guid>https://dev.to/masteramuk/caching-an-inverse-of-a-matrix-using-r-2022</guid>
      <description>&lt;p&gt;Matrix inversion is usually a costly computation and there may be some benefit to caching the inverse of a matrix rather than computing it repeatedly.&lt;/p&gt;

&lt;p&gt;This is an example code to cache an inverse of a matrix which then called if:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The new matrix computation similar to the previous matrix&lt;/li&gt;
&lt;li&gt;Matrix is invertible — Read Invertible Matrix&lt;/li&gt;
&lt;li&gt;The structure and content of the new matrix is equal to previous
The program consists of two functions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A function to cache the matrix and the inverse. It is similar to getter and setter in many programming languages like Java and C.&lt;br&gt;
A function which will be call for the computational process of the matrix&lt;/p&gt;

&lt;h3&gt;
  
  
  Here are parts of the code:
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Setting the matrix
&lt;/h4&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;invMatrix &amp;lt;- NULL

#define the set function for the matrix
set &amp;lt;- function(y) {
    x &amp;lt;&amp;lt;- y
    invMatrix &amp;lt;&amp;lt;- NULL
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;
  
  
  Setting the inverse matrix
&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;setInvMatrix &amp;lt;- function(invM){
    invMatrix &amp;lt;&amp;lt;- invM ##assign the inverse matrix to the environment var
} 

##define the function for returning the inverse matrix
getInvMatrix &amp;lt;- function(){
    invMatrix ##the environment var inverse matrix is return
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;
  
  
  Verification on the matrix
&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if (!is.null(invM)){
    ## check if the return invMatrix is identical
    if ( identical( x$get() %*% invM, invM %*% x$get() ) ){
        ## get it from the cache and skips the computation. 
        print("getting cached data")
        return(invM)
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;
  
  
  Setting the new inverse
&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;data &amp;lt;- x$get()
invM &amp;lt;- solve(data, ...)

# sets the value of the inverse in the cache via the setinv function.
x$setInvMatrix(invM)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Complete source code is reachable at &lt;a href="https://github.com/masteramuk/ProgrammingAssignment2"&gt;https://github.com/masteramuk/ProgrammingAssignment2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you like the post, &lt;a href="https://dev.todo%20buy%20me%20a%20coffee%20please"&gt;https://www.buymeacoffee.com/masteramuk&lt;/a&gt; :)&lt;/p&gt;

</description>
      <category>r</category>
      <category>datascience</category>
      <category>inverse</category>
      <category>matrix</category>
    </item>
    <item>
      <title>Solving Committing Issue between R Studio and Github</title>
      <dc:creator>Masteramuk</dc:creator>
      <pubDate>Sat, 30 May 2020 03:01:58 +0000</pubDate>
      <link>https://dev.to/masteramuk/solving-committing-issue-between-r-studio-and-github-23do</link>
      <guid>https://dev.to/masteramuk/solving-committing-issue-between-r-studio-and-github-23do</guid>
      <description>&lt;p&gt;Solving Committing Issue between R Studio and Github&lt;br&gt;
In the normal development process, you will create a repo (the repo in this article is located at Github), followed by the cloning process or download as full directory into your localhost. It is much easier and straightforward. There won’t be any issues especially if your scrum master or release manager is a well trained person in handling branching, merging, and releasing code using git.&lt;/p&gt;

&lt;p&gt;However, in most cases, especially for a full-stack developer who did everything on its own, you may encounter an issue if:&lt;/p&gt;

&lt;p&gt;You created a project in your localhost first using R Studio and set Git as your SVN through your project setting&lt;br&gt;
Then you created the repo at the GitHub&lt;br&gt;
Finally, upon ready, you run command to sync with your GitHub&lt;br&gt;
The following is the command that you use/execute and the result of running the command:&lt;/p&gt;

&lt;p&gt;% git remote add origin [your GitHub report url]&lt;br&gt;
% git pull origin master&lt;br&gt;
warning: no common commits&lt;br&gt;
remote: Enumerating objects: 3, done.&lt;br&gt;
remote: Counting objects: 100% (3/3), done.&lt;br&gt;
remote: Compressing objects: 100% (2/2), done.&lt;br&gt;
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0&lt;br&gt;
Unpacking objects: 100% (3/3), done.&lt;br&gt;
From [your GitHub report url]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;branch master -&amp;gt; FETCH_HEAD&lt;/li&gt;
&lt;li&gt;[new branch] master -&amp;gt; origin/master
fatal: refusing to merge unrelated histories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and you see the last sentence .. ERROR &lt;/p&gt;

&lt;p&gt;Then, based on google, you followed with the following command&lt;br&gt;
% git push -u origin master&lt;/p&gt;

&lt;p&gt;and you get the following response (or similar)&lt;/p&gt;

&lt;p&gt;To [your GitHub report url]&lt;br&gt;
! [rejected] master -&amp;gt; master (non-fast-forward)&lt;br&gt;
error: failed to push some refs to ‘[your GitHub repo url]'&lt;br&gt;
hint: Updates were rejected because the tip of your current branch is behind&lt;br&gt;
hint: its remote counterpart. Integrate the remote changes (e.g.&lt;br&gt;
hint: ‘git pull …’) before pushing again.&lt;br&gt;
hint: See the ‘Note about fast-forwards’ in ‘git push — help’ for details.&lt;br&gt;
Next, you try to pull again to get the latest branch based on the previous error by running the command to pull again&lt;/p&gt;

&lt;p&gt;% git pull origin master&lt;/p&gt;

&lt;p&gt;And the result is still not promising &lt;br&gt;
From [your GitHub report url]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;branch master -&amp;gt; FETCH_HEAD
fatal: refusing to merge unrelated histories
What are you missing or wrongly done? I won’t be able to tell you the missing or wrong steps, but I’m sharing your step to overcoming the problem.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;STEPS&lt;/p&gt;

&lt;p&gt;Go to you localhost directory where you created the project&lt;br&gt;
In that directory, you should find a file name .gitignore &amp;amp; folder .git&lt;br&gt;
Delete both by running rm -fr (if you are using windows, the command might be different)&lt;br&gt;
Next, init your project file again by running the command git init. You shall see the following message appear after executing the command — Initialized empty Git repository in [your project path]&lt;br&gt;
Followed by adding the remote repo by running the command git remote add origin [your GitHub repo url]. &lt;br&gt;
The followed by git add . (make sure there is ‘.’ at the end of the command). It tells the git to add all directories in the remote repo to your local.&lt;br&gt;
Followed by git pull origin master. If succeed, you shall be able to see the following result:&lt;br&gt;
remote: Enumerating objects: 3, done.&lt;br&gt;
remote: Counting objects: 100% (3/3), done.&lt;br&gt;
remote: Compressing objects: 100% (2/2), done.&lt;br&gt;
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0&lt;br&gt;
Unpacking objects: 100% (3/3), done.&lt;br&gt;
From [your GitHub repo url]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;branch master -&amp;gt; FETCH_HEAD&lt;/li&gt;
&lt;li&gt;[new branch] master -&amp;gt; origin/master
Finally, run git push -u origin master to verify again. You shall see the following result to indicate it is successfully integrated between your local repo and your Github repo and R Studio shall be able to interact perfectly with GitHub.
Branch ‘master’ set up to track remote branch ‘master’ from ‘origin’. Everything up-to-date
Once you have done all the steps, go ahead to your R Studio and perform Stage -&amp;gt; Commit -&amp;gt; Commit Message -&amp;gt; Push to complete the process. Refresh your Github page and you shall see all of your local files at your GitHub repo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you find this useful, you can buy me a coffee :) @ &lt;a href="https://dev.toBuy%20Me%20A%20Coffee"&gt;https://www.buymeacoffee.com/masteramuk&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rstudio</category>
      <category>r</category>
      <category>github</category>
    </item>
  </channel>
</rss>
