For our hackathon we were tasked with creating a web application that summarized a user’s GitHub commit history by authenticating a user via OAuth with GitHub’s API. As a team, our group’s relative unfamiliarity with OAuth and the authentication workflow presented challenges when debugging API errors. Ultimately, we were able to resolve our issues with OAuth by comparing our intended requests to the API and the actual requests that were being sent using debugging statements in the backend code. …
Today I will be explaining a commonly used question technical job interview, Whether you are applying for an engineer, developer, marketer, or DevOps.
It is always a good idea to have a good understanding of is going on behind the scenes when you type and URL on your web browser and how information is transferred via the Internet to other computers.
For this article, we are going to to use the following URL https://www.holbertonschool.com, as our example.
What happen when you type an url?
The best way to understand what happen when you type “www.holbertonschool.com” …
In Python, everything is an object, and everyone who wants to learn Python should understand from the beginning that objects in this programming language can be either mutable or immutable.
Since in Python an object or class can be assigned to a variable or passed as an argument to a function, they are divided between objects that can be changed (mutable) and objects that can’t be changed (immutable).
Almost everything has attributes and methods
For example, an integer in Python is an object, a large block of memory is assigned to be used by the interpreter
Objects and Values:
Not long ago, I wrote a detailed explanation of how to create and use static libraries, just in case you need a refresher, please check it in the link below:
Otherwise, I will start explaining how to create and use dynamic libraries.
“I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.” -Bill Gates
Before we go ahead and jump into the definition of dynamic libraries, I need to make clear the definition of a function, a function in C programming is an algorithm that does a specific…
The Shell is a user’s program that communicates with the system kernel through commands prompt from the user and then later interpreted in a way that system can understand it, so the commands that the user type in the Shell translates into instructions and system calls.
Systems calls are a native function of the kernel which one can manipulate important information and hardware of the computer as is shown in the following flow chart:
IOCCC (The International Obfuscated C Code Contest) is an annual programming contest with an obfuscated C code.
In 1986 at the IOCCC they had a winner in which the category was “worst abuse of the C preprocessor”. This winner was Jim Hague in which his code was exotic.
It is basically a machine code that is deliberately written and can be hardly de understood by humans, is usually used for different purposes such as increasing the security of what you want to transmit.
Worst abuse of the C preprocessor
University of Kent at Canterbury
A static library is always available when invoked by the program,
In this article, I will explain what static library is, how do they work, how to create one and how a computer program uses a static library.
Why do we need libraries:
The code of the software is made up of many functions; functions are kind of like mini-programs that can be called by another program to perform computation or modification of the input.
To explain above in C code, I will create a function called mult() to multiply two numbers together and stores the output in a variable…
Firstly, let’s talk a little bit about C. This is a multipurpose programming language developed by Dennis Ritchie at the Bell Laboratories near the 70s, designed to create small and fast programs. This means that it is a language of a lower level compared to others, capable of creating code closer to what the machines understand.
The code that the machines understand is a binary flow from 1 to 0, so it is necessary to use a compiler that converts the C code into machine code. …
Hard and symbolic links refer to a file in the same hard drive and those methods are part of any filesystem that organizes what it is in each file and where. A hard link is usually a synced copy of a file that refers directly to the inode of a file. Symbolic links, on the other hand, direct to the file which refers to the inode which is a shortcut.
Here is where the fun begins, an inode is a small database that describes the file or directory characteristics such physical location or metadata on the same hard drive, This…
When you first type the ls command it will list all the files in the current directory, awesome right?!, if you actually want to go a bit further and do a specific search in your current directory then ‘ls *.c’ command will print on your terminal all the files that end with with ‘type.c’ in your current directory, it becomes very handy when you need to search and sort files in your current directory to speed up the process of searching.
In case you were wondering the reason why the ‘ls *.c’ command has an ‘*’, well, the ‘*’ in…