<?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: Christopher Liudahl-Rackley</title>
    <description>The latest articles on DEV Community by Christopher Liudahl-Rackley (@chrisrockscode).</description>
    <link>https://dev.to/chrisrockscode</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%2F353841%2F796541d4-6e13-48f2-b902-fb0eb01b8c2f.png</url>
      <title>DEV Community: Christopher Liudahl-Rackley</title>
      <link>https://dev.to/chrisrockscode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chrisrockscode"/>
    <language>en</language>
    <item>
      <title>Do computers have a learning disability? (Might be a good discussion)</title>
      <dc:creator>Christopher Liudahl-Rackley</dc:creator>
      <pubDate>Tue, 11 May 2021 18:45:56 +0000</pubDate>
      <link>https://dev.to/chrisrockscode/do-computers-have-a-learning-disability-might-be-a-good-discussion-2163</link>
      <guid>https://dev.to/chrisrockscode/do-computers-have-a-learning-disability-might-be-a-good-discussion-2163</guid>
      <description>&lt;p&gt;In class today we were having going over time and space complexities, which is a topic that I am sure everyone has had a moment to think about why would it matter? At least it did for me. &lt;br&gt;
Then I thought back to about a couple years ago when I was playing around with a recursive Fibonacci sequence. I was inputing larger and larger numbers and began noticing that it was taking longer and longer time for the compiler (or interpreter) to provide a solution. With my curious mind I of course researched a better way to solve it. I discovered a topic of memoization that was best solution to optimize the recursive calls and once I implemented these kind of solutions that it was like magic and the output was immediate.&lt;br&gt;
Next, I was thinking about a saying "The computer is only as smart as the user" and I began thinking that it's true in a sense. As I continue my journey into development and I solve all these problems, I am trying to motivate myself into the reason behind the point of learning all of this, the more and more I have been coding it goes back to the fundamentals of computer science and I am beginning to think that a computer, at its very lowest level, has a learning disability and as a developer we are the teachers.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;WARNING&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This is not meant to disturb or offend anyone with a learning disability. I have my moments. I am envious of those that can just understand things the first time and grow their knowledge. I genuinely can relate to those who have to take just a little bit more time to understand some things than others.&lt;/p&gt;

&lt;p&gt;This lead into the topic of my discussion. Do computers have a disability? I thought it was very interesting that we have devices and technology that is orders of magnitude greater each and every year, the compute power that we have now is far superior than we had say 5 years, 10 years, 50 years ago. Yet, there seems to be something in the code, or the underlying structure of a CPU that still struggles today than when the first computer as we know it was invented.&lt;br&gt;
I find it interesting that as a developer, we are like teachers trying to teach a student with a learning disability. I am being motivated with the idea that if we are teaching these students i.e (a computer) in a way that is just confusing and not in just the right specific order, that it is just a hinderance to the effectiveness of how that student has the ability to solve a problem! &lt;br&gt;
If we can figure out how to teach that computer in just the right way, its like a light bulb goes off in their head and they can grasp the problem and solve it immediately! With my computer being a center around solving my problems, I gotta come up with ways of how to best teach my computer how to get past these learning hurdles that it faces. Also, it then increasingly becomes aware to me the responsibility that we are developers then take on when releasing software that other people may use. I can think of a scenario or two that it might be a good idea if we as teachers, as developers are coming up with the most innovative ways to be teaching these students of ours, and maybe when to recognize when we are not teaching them the best way possible?&lt;/p&gt;

&lt;p&gt;This was just a little thought that came to me in class, and I have spent just a little more time writing this than I probably needed to. If you got this this point of the reading I thank you for your time, and would appreciate it if you left a comment of your thoughts and motivation behind this and please, be critical, be convincing, I can only learn from my mistakes, and continue my journey of development and hope that you do to!&lt;/p&gt;

</description>
      <category>philosophy</category>
      <category>learning</category>
      <category>questions</category>
      <category>problemsolving</category>
    </item>
    <item>
      <title>Server-Side Swift (Vapor) on Windows 10 inside WSL</title>
      <dc:creator>Christopher Liudahl-Rackley</dc:creator>
      <pubDate>Thu, 25 Mar 2021 07:26:35 +0000</pubDate>
      <link>https://dev.to/chrisrockscode/server-side-swift-vapor-on-windows-10-inside-wsl-446p</link>
      <guid>https://dev.to/chrisrockscode/server-side-swift-vapor-on-windows-10-inside-wsl-446p</guid>
      <description>&lt;p&gt;Some of the time I am not on my iMac to be able practice on my Swift programming. I have been following Vapor for about a year now and like the work that I can do with it now in linux.&lt;br&gt;
So my mission was to get it up and working in WSL on my windows machine, even though its not my favorite, its my most convenient machine (for now).&lt;/p&gt;
&lt;h1&gt;
  
  
  SET UP WSL
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Have WSL version 2 running. (Using powershell run: &lt;code&gt;wsl -l -v&lt;/code&gt; to find out which version your using. If anything less than 2, research how to update wsl.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;While in WSL you will need to get a GUI up and running. My favorite is VcXsrv. Install this on Windows, config it to &lt;code&gt;Multiple windows&lt;/code&gt; and &lt;code&gt;Start no client&lt;/code&gt; then save the config. You will need this to be running to get wsl apps to open up in their own windows.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now for your bash config&lt;br&gt;
Go back to wsl and inside your .bashrc add this to the end:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# set DISPLAY variable to the IP automatically assigned to WSL2
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2; exit;}'):0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;After that command add this to .bashrc:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo /etc/init.d/dbus start &amp;amp;&amp;gt; /dev/null
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then you need to make sure theres no password so enter this command:&lt;br&gt;
&lt;code&gt;sudo visudo -f /etc/sudoers.d/dbus&lt;/code&gt;&lt;br&gt;
Nano will open up and enter:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;your_username&amp;gt; ALL = (root) NOPASSWD: /etc/init.d/dbus
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then &lt;code&gt;ctrl-o&lt;/code&gt; &lt;code&gt;enter&lt;/code&gt; &lt;code&gt;ctrl=X&lt;/code&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Test a GUI app. 
I usually run firefox first cause you gotta have a web browser to do some work in Vapor. If all of this was done correctly then you should get a linux version of firefox to pop up on the screen!&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  NOW FOR SWIFT
&lt;/h1&gt;

&lt;p&gt;At this time you need at least swift 5.2, but I am using 5.3.3, I think theres a new version but I havent tested that out yet.&lt;br&gt;
You need to know what version of linux your running in WSL I am using ubuntu, but run &lt;code&gt;lsb_release -a&lt;/code&gt; to get the exact version.&lt;br&gt;
now to figure out where you want to file to go. This is pretty important! I have heard of tuts place the file in /mnt/c/swift or ~/ but dont listen to that! &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Just cd into /usr/local/. So go to the swift release page here: &amp;gt;&lt;a href="https://swift.org/download/#releases"&gt;https://swift.org/download/#releases&lt;/a&gt; 
copy the link address and throw it in a wget. you should have a .tar.gz file inside the file now when you run ls.&lt;/li&gt;
&lt;li&gt;Now that you see this gz file (it should be red) &lt;code&gt;tar -zxvf &amp;lt;filename&amp;gt;&lt;/code&gt; this will extract it and show you the progress.&lt;/li&gt;
&lt;li&gt;Next part is very important!
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo 'export PATH=/usr/local/swift-3.1.1-RELEASE-ubuntu16.04/usr/bin:$PATH' &amp;gt;&amp;gt; .bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;then &lt;code&gt;source .bashrc&lt;/code&gt;&lt;br&gt;
if everything is all well then when you run &lt;code&gt;swift --version&lt;/code&gt; you should get something that looks like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Swift version 5.3.3 (swift-5.3.3-RELEASE)
Target: x86_64-unknown-linux-gnu
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you got Swift on WSL and you got GUI apps to be able to open and run! Good Job!&lt;br&gt;
You are certainly able to quit now... or dive into some new stuff... server-side swift! This is where some fun can begin!&lt;/p&gt;

&lt;h1&gt;
  
  
  SET UP VAPOR!!!!!
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;As per vapor docs they recommend getting the cli toolbox, I got this in a swift folder in my dev directory. If you want to be official enter these commands:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/vapor/toolbox.git
cd toolbox
git checkout &amp;lt;desired version&amp;gt;
make install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When looking for the desire version to to the git folder here: &amp;gt;&lt;a href="https://github.com/vapor/toolbox/releases"&gt;https://github.com/vapor/toolbox/releases&lt;/a&gt;&lt;br&gt;
and just get the most updated one.&lt;br&gt;
after using make install you will be good.&lt;br&gt;
confirm with &lt;code&gt;vapor --help&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;From here I created a vapor directory and a projects directory inside. then ran &lt;code&gt;vapor new hello -n&lt;/code&gt; to create a bare bones vapor project.&lt;/li&gt;
&lt;li&gt;Now the time to see if everything will work. Run &lt;code&gt;vapor run&lt;/code&gt; it will start to compile. Once finished it will give the address that its server the files to. Now that you got a web browser GUI app working open up that firefox and enter the address its giving you. If all works well you should get some basic 'it works!' text up at the top! If you got this working you are officially running a swift server side webframework on windows 10 inside WSL! Congrats, it was a bit of a journey but to do from nothing its worth the work!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let me know if you guys run into any issues, hope this helped you on your coding journey!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Second time through school, first time in CS</title>
      <dc:creator>Christopher Liudahl-Rackley</dc:creator>
      <pubDate>Sun, 14 Mar 2021 02:27:46 +0000</pubDate>
      <link>https://dev.to/chrisrockscode/second-time-through-school-first-time-in-cs-2ni8</link>
      <guid>https://dev.to/chrisrockscode/second-time-through-school-first-time-in-cs-2ni8</guid>
      <description>&lt;p&gt;From some I hear you don't need it, but in my experience when I spoke to experienced, working developers, they have, or are in a computer science major. &lt;/p&gt;

&lt;p&gt;I completed a bachelors degree in IT management, back in 2016, but I did not go anywhere into with it. Still motivated, trying to learn more and keep up with the tech field.&lt;/p&gt;

&lt;p&gt;I am lucky enough where I have been able to attend school once again, during this coronavirus quarantine time my goal is to study Computer Science, already have noticed how different school is today than last time I was in University.&lt;/p&gt;

&lt;p&gt;Truth is, I was never taught an actual programming language the first time around in school.&lt;/p&gt;

&lt;p&gt;Now that I have started an actual CS degree, they started with Java, eventually move into C/C++, and a little assembly. &lt;/p&gt;

&lt;p&gt;My goal that I am setting up today is to apply my learning from my classes into the swift programming language. Since I have been following iOS development for sometime, I started learning Objective-C a couple years ago, which ever will end up getting me a job first I feel like I will stick with. &lt;/p&gt;

</description>
      <category>swift</category>
      <category>beginners</category>
      <category>programmatic</category>
    </item>
  </channel>
</rss>
