<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by CC Travis on Medium]]></title>
        <description><![CDATA[Stories by CC Travis on Medium]]></description>
        <link>https://medium.com/@cctravis?source=rss-44b4d192b8a4------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*NlnW3UY--E7MlJ-N.</url>
            <title>Stories by CC Travis on Medium</title>
            <link>https://medium.com/@cctravis?source=rss-44b4d192b8a4------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 03:36:03 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@cctravis/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[What is the difference between a hard link and a symbolic link?]]></title>
            <link>https://medium.com/@cctravis/what-is-the-difference-between-a-hard-link-and-a-symbolic-link-f83c410f89ce?source=rss-44b4d192b8a4------2</link>
            <guid isPermaLink="false">https://medium.com/p/f83c410f89ce</guid>
            <category><![CDATA[file-management]]></category>
            <dc:creator><![CDATA[CC Travis]]></dc:creator>
            <pubDate>Tue, 16 Jan 2018 07:55:35 GMT</pubDate>
            <atom:updated>2018-01-16T07:55:35.583Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/514/1*u7HhTpzlyUlcK_fNPwKVqQ.jpeg" /></figure><p>Both hard links and symbolic links are pointers to files, the difference lies in how they point to the files.</p><p>A symbolic link is also referred to as a soft link and points to filename that points to a file. Symbolic links do not need to be on the same filesystem as the file and can be on a different partition and can contain a different inode then the original. The symbolic link can be deleted and not affect the original file in anyway. The symbolic link is a shortcut visible to the user. Symbolic links can point to both files or folders.</p><p>A hard link points to the inode number of a file on the same filesystem and is essentially a different more easily read name for the inode. When files are referenced internally by a computer they are referenced by inodes. A file is considered deleted when the last remaining link to its inode is gone. Normally hard links are used to link directly to files not folders.</p><p>Hopefully this clear and simple comparison allowed you to see the differences between hard links and symbolic (soft) links.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f83c410f89ce" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What happens when you type ls *.c ?]]></title>
            <link>https://medium.com/@cctravis/what-happens-when-you-type-ls-c-4e05558843d2?source=rss-44b4d192b8a4------2</link>
            <guid isPermaLink="false">https://medium.com/p/4e05558843d2</guid>
            <category><![CDATA[linux]]></category>
            <category><![CDATA[terminal]]></category>
            <dc:creator><![CDATA[CC Travis]]></dc:creator>
            <pubDate>Tue, 16 Jan 2018 07:03:45 GMT</pubDate>
            <atom:updated>2018-01-22T05:56:11.893Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/756/1*K8M79B0xfS5L-4PYC2TYVw.png" /></figure><p>If you type <em>ls *.c</em> into a linux command line terminal and press enter you will display all the files in your current directory that end in the extension .c</p><p>How does the computer know what to do based on this command being entered? First you need to understand a few things.</p><p>What is <em>ls</em> ? ls is a common command which is derived from the word ‘list’. The ‘ls’ command lives up to it’s name and lists files and folders in your current directory when typed into a command line terminal.</p><p>The <em>ls</em> command can have various modifiers applied to it allowing the user to alter the data being outputted into the viewable lists. The modifiers are applied one space after the ‘ls’ command.</p><p>*.c is a ‘ls’ command modifier that indicates 2 things to the computer. First the computer knows the user wants to only have files with the extension .c shown in the outputted list. Second the * indicates that any file with .c should be outputted in the list.</p><p>Now that you understand what <em>ls *.c</em> does you can modify it and add .anything after the * and sort through folders with large amounts of files with ease.</p><p>To get a deeper understanding of this process you need to understand what the shell is and how it interacts with the kernel. The kernel is the base part of your OS and controls all other programs. The shell is an application used to control the computer through command line (the other way is through the graphical user interface otherwise referred to as GUI). The shell allows the computer to communicate with the kernel through the commands being typed into the command line. <em>ls *.c</em> is an example of a command typed into the shell in order to communicate to the kernel that you want a list of all files with the .c extension in the current working directory to be outputted in list format.</p><p>To walk you though the exact process that takes place the shell will give you a prompt for the user to enter a command. The shell then reads the command <em>ls *.c</em> entered in the command line from the getline() function’s STDIN. STDIN is the input file handle for getline(), indicating to read standard input.</p><p>The next step has the shell looking for the program file <em>ls </em>in the $PATH variable. Th $PATH variable is a list of directories searched searched by the shell every-time a command is entered. Once the <em>ls </em>executable file is located three system calls are made (fork, execve, wait). These system calls let the kernel know what to do. The fork() duplicates the shell creating a child process of the shells parent process. The execve() stops the duplicated process f the parent, loads the new program being called (<em>ls</em>) and starts the program. The wait() system call is then used to keep track of the children of the parent process. After the program is executed the shell issues shutdown commands, removes what was bing stored in memory, exits the program and takes the user back to the shell prompt.</p><p>This was a simple and more detailed explanation of what happens when you type ls *.c .</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4e05558843d2" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why I want to become a software engineer and why I want to attend Holberton School]]></title>
            <link>https://medium.com/@cctravis/why-i-want-to-become-a-software-engineer-and-why-i-want-to-attend-holberton-school-9829855157d1?source=rss-44b4d192b8a4------2</link>
            <guid isPermaLink="false">https://medium.com/p/9829855157d1</guid>
            <category><![CDATA[education]]></category>
            <dc:creator><![CDATA[CC Travis]]></dc:creator>
            <pubDate>Mon, 19 Jun 2017 04:46:04 GMT</pubDate>
            <atom:updated>2017-06-20T01:06:32.873Z</atom:updated>
            <content:encoded><![CDATA[<p>This story begins more then 20 years ago in Columbus, Ohio home of <a href="http://www.compuserve.com/">CompuServe</a>. At a very young age I received my first computer, an IBM compatible. At first I learned how to use MS-DOS and mostly played games switching in and out the large floppy disks. As I grew older and more comfortable using computers I eventually learned how to log onto local Bulletin Board Systems and eventually the online services of Prodigy and CompuServe. I had a friend at school whose dad worked at CompuServe and as a young boy I dreamed of working there as well. I was mesmerized from a young age and knew I wanted to make my way through life using computers and online services (later on the internet) as my guidebook. The question was how?</p><p>I made my first income online selling affiliate offers at the age of 15 through UseNet newsgroups and that opened my eyes to the fact that I could actually make money using the computer. I also was a very frequent user of IRC and ended up being a channel operator of a software trading group long before such things were main stream and before heavy scrutiny from the software companies. I ended up having access to Borland C++ and Microsoft Visual C++ through my software group and was fascinated by the fact that these “programs” could create other programs and I knew that I wanted to learn how to code and create programs. In a perfect world I would have gone from this point forward and become a proficient teenage programer BUT as a young guy with many interests I dabbled in programming but never took as much time as I needed to become proficient. I ended up focusing that time on Domain Names (buying and selling), Online marketing, SEO type business(with LYCOS, Yahoo, AltaVista at first and then later on Google), creating and selling content sites etc. Most of my free time was spent on business projects online and not programming. I never graduated from a traditional school as I focused all my time on various online endeavors from a early age. Computers became my life but I still did not know how to proficiently program :(</p><p>As the years went by I had to hire and work with many programmers on various personal and business projects. I worked with programmers from many countries and had highly variable results. Some programmers were great to work with in small teams but others wasted my time and money and ruined my projects causing me great frustration. These bad experiences made me consider stopping all my projects and focus on learning how to program just so I would not have to deal with the frustration of working with these outsourced programmers. I did pick up several books and basic courses so I could read through basic code and program basic HTML but as the projects piled up and then the acquisition of some offline business I never set aside the time to learn to program with all focus being on my entrepreneurial endeavors. At 25 when my primary offline business was closed I ended up moving from the USA to Panama, working online on some e-commerce projects and eventually opening up my a few small boutique hotels on a rustic caribbean island with Spanish as the primary language. I was living way outside of the box compared to everyone back home and learning a lot about the world but with all my focus mainly going to these new offline endeavors my dream and desire to be a programmer was limited to basic Linux use, html webpage edits, basic CSS and SEO projects for my hotel and helping some of the other local business with establishing their online presence.</p><p>Time flies and now I am 35 years old and have exited Panama and no longer have my offline business commitments. I am free to proceed how I want with my future and the time has come to figure out what I am going to do next. I know that I want nothing more in this world then to become a highly proficient software engineer and work for one of the great tech companies that have thrived during my time abroad. I want to help create the future and now is the time to get started. I am taking basic online classes in Python currently but believe that I need to be surrounded by other people with the same drive and passion to reach the same goals as I desire.</p><p>I know that admission to the Holberton School would be a welcoming and needed life changing experience for me. I have not followed a traditional educational or job path although I have LOTS of valuable life experience both online and offline (only some of which I touched on in this essay) but it worries me how well my life will translate over to a resume when competing against current computer science college graduates who are much younger. I know at 35 years old I have a lot of gas left in the tank and believe I can excel quickly in this field of work but not without the right network, education or resume. I know that when I am accepted to the Holberton School that the the only piece of the puzzle missing will be the hard work. Learning online can give me a good base to achieving the knowledge I seek, BUT I truly believe that working on projects and studying with a group of people that are chasing the same goals and dreams as myself will be a priceless catalyst on my path to achieving my lifelong dream of becoming a software engineer.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9829855157d1" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>