what the f*Lib.a?

:C language libraries, part 1, static libraries compiler: gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 environment: vagrant virtual machine with linux 14.04.5 LTS for Ubuntu language: C language Have you been learning C language and using #include <stdio.h> and have no idea what is happening with that? If so, then this post is for you! I will be discussing C language static libraries, why to use libraries, how they work, how to create them, and how to use them. For background information on the subject, it’s helpful to understand what happens when C language files are compiled; for more information  on that, check out my other blog post: Computer Compilers: brief introduction, which helps to explain how the gcc compiler works. As this is the first blog of a two part series, please refer to my other post on libraries: what the f*Lib.so? for more on dynamic libraries. In the above referenced post on computer compilers, you will see that during […]

read more

computer compilers: brief introduction

:on how a compiler works, using the GNU Compiler Collection gcc as an example compiler: gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 environment: vagrant virtual machine with linux 14.04.5 LTS for Ubuntu language: C language If you have begun to experiment with and learn about computer code and software languages, after the early 1980’s, it is very likely that you began using higher level languages, and much later learned about compilers. At least this is how I have begun to learn to code computer languages. I have been touching the surface of html, css, javascript, and PHP for almost 2 years, and I never knew what a compiler was. This is because these languages are interpreted by a browser or another lower-level environment instead of being compiled. The browser or other environment reads the instructions and uses its own logic and mechanisms to interpret and respond to the input codes. Did you ever wonder how […]

read more

how the terminal works: command line input

:do you ever wonder how a computer works? As a beginner software engineering student at Holberton School, we are being taught to use the terminal command line to use the functions of a computer. In this post I will explain a very basic concept of what happens with a computer when a user types input. In my work so far and in the ways that I explain a computer system, I will be referring to the bash shell program in Mac OS terminal using ubuntu and GNU linux (click the links for wikipedia references on those concepts). Additionally, to help with my explanation, I’ll use the input command ls *.c as an example of many of the concepts of how terminal and a computer work. This is how that command might look in your terminal: USER@computerNAME: ~/$ ls *.c commands To learn about commands from the manuals in terminal input […]

read more

ascii conversion table

This post was inspired because of my continual attempts to reference ASCII characters and codes in my beginning work of learning C and bash at Holberton School.  I simply wanted an easy way to reference the codes and characters, but also share a simple conversion table with no garbage advertisements and slow loading content.  Additionally, through my process of researching ASCII characters and codes, I discovered a neat ASCII art website that creates ASCII art text for you.  Since I integrated the tool and the art I generated from it into my website, I’ll give a shoutout to the creator (or host, I’m not sure) of the ASCII art generator: patorjk.com/software/taag.  Patrick Gillespie!  Thank you! Alternative to this blog post, if you are familiar with command line to run bash and shell commands, type $ man ascii to read the manual on ascii, and a list of all the ascii characters. The […]

read more

github ssh protocol & https password caching

This post has information on how to establish ssh (secure shell) protocol and how to set up caching your password with https protocol for working with github.com. I gathered this information to help myself in my first week of class at Holberton School in San Francisco in my beginning stages as a Software Engineering student. I was tired of repeatedly entering my username and password for working with github from inside my virtual machine using vagrant, virtual box and ubuntu. So I followed these steps myself, and found that other’s needed help with this process because github’s tutorial / help pages were incomplete; each step is explained on separate URLs. Therefore, I decided to merge all the steps and add some of my own tips from what worked for me, including tips about how to quickly re-add your SSH key to the SSH agent in the event that you are […]

read more