Web Design

Introduction

Daniel Moreno's Portfolio

Introduction

This is my portfolio to showcase some of my web design abilities and some of my GitHub projects. If the top bar is not a different color from the rest of the page, please use the color mode dropdown in the top-right corner to switch between the modes. This issue is due to the fact that you have not yet created a cookie with this website or your previous cookie expired.

This link will take you the Quiz page.

This link will take you to my custom blog.

This link will take you to a CSS-based animation of a spinning cube.

Tables

# 1 2 3
1 a b c
2 d e f
3 g h i

Nothing Found

Forms

Example Forms

Not all of these form options would traditionally be placed together. Instead, they are here to show that I know how to create form elements. In addition, this is why the submit button will not do anything except validate user input.
This example form uses Bootstrap's .{valid|invalid}-feedback classes to display validation feedback in a styled tooltip.
A * means that the element is required.

chars remaining
Looks good!
Please enter your first name.
chars remaining
Looks good!
Please enter your last name.
@
Please choose a username with letters and numbers that is at least 8 characters long.
eye
Please enter a password with over 8 characters that include a lowercase letter, an uppercase letter, a number, and a special character
Please provide a valid city.
Please select a valid state.
Please provide a valid zip.
Do you want to receive updates?
Enable to view email/phone options
Preferred Contact Method:
Please enter a valid phone number in the format of 123-456-7890.
You must agree before submitting.

Responsive Image

A red picture with scrolling binary text over a circuit board with a digital lock in the center
Responsive image

GitHub Projects

Overview

This section contains links to various GitHub projects and software divided by programming language and topic.
Click the gray button with the title to view the GitHub repository associated with that project.

C++

This program converts a file's contents into their ASCII values. Then, it applies a really basic encryption algorithm to the file. Finally, it outputs the encoded text to a new file.

This program asks the user to input a phone number in any format. Then, it outputs the number according to the international standard for US phone numbers: +1-111-111-1111.

This program creates a wiki that is accessed and managed from the command line. From the menu, a user can search and view articles, create an article, search and edit articles, search and remove articles, export the article database to a file, import the article database, or quit. A recursive binary search is used to locate articles within the database. If a match is not found, it will provide suggestions based on a variety of techniques. It will check whether the input was a substring of a title. It will use Stephen Lacy's Double Metaphone Phonetic Algorithm and Levenshtein Distance to suggest similar words. Then, it will suggest an article with a metaphone code that contains the code of the user's input as a substring. The sample articles are copied from Wikipedia to demonstrate how the program works.

This program will allow a user to type in a file name and then will try to open that file. The sample file in the repository has 1000 entries which are stored in individual objects and then grouped in a larger object. Next, the user is able to enter a name to search for within the database via linear and binary searches. The chrono library is used to determine how much time was required to complete each search.

This program will read in a file. Then, it will output the most and least common letters in that file.

This program prints a menu for the user, displays the contents of their inventory (or the file's contents), and allows the user to add new lines. If the added item already exists in the inventory, the quantity of that item is incremented.

This program allows the user to play Bulls and Cows in the terminal. In the game, players will guess what isogram (a word without repeating letters) has been randomly selected. A player receives a bull when they guess a correct letter in the correct place. A player receives a cow when they guess a correct letter in the wrong place. However, they don't know which letters are bulls and cows. The program has been written to support the Unreal Engine.

This program will read in commands from a file which will create a bank account (savings or checkings), deposit money, withdraw money, and display the balance. Each command is tied to a specific account holder ID which indicates what account to manipulate. The last two commands conduct end-of-month processing, like applying interest rates, and report the balance of all accounts.

This program will print the solution to the classic Towers of Hanoi puzzle and print the number of moves necessary to solve the puzzle.

This program will calculate every possible product of three 3-digit integers to determine the smallest palindromic products with an even and odd number of digits.

This program allows you to calculate possible jumps in a Checkerboard's current state on the same turn, under the assumption that the player only has 1 checker left. It will account for multiple jumps on the same turn.

C

The server program will establish the machine as a server listening on a port, will print a message whether it receives a packet or lost it, and will generate a random number to determine whether the packet is "lost". The client program will establish this machine as a client, will send ping packets to the specified server and port, wait 1 second for a response, will print a message depending on whether a response is received, and will print statistics regarding the round-trip response times.

This program shows basic knowledge of forking as it prints out the PID of each program, along with its parent's PID.

This program uses bitwise operators to count the leading zeroes in the binary form of the inputted, 32-bit, unsigned integer.

This program functions as a custom shell with the alias, man, and exit commands fully implemented. Print functionality has been implemented for the cd, path, and myhistory commands which were fully implemented by other group members so this code was removed.

Java

This program will read in about 800 entries, store them in a linked list, and display them in a GUI. Once the user selects a state and then a city within that state, various details about that city will be provided.

This program will read in a csv file with over 46,000 entries which are stored in a red-black tree. In a GUI, the user will be able to select a state and then select a city from that state to see details about it. That city will be one of the 10 largest cities in that state, based on the number of zip codes in it.

This program will read in a csv file and store the entries in a red-black tree. In the GUI, a user will be able to select a starting city and a destination city. The program will use Dijkstra's Algorithm with a priority queue to identify the shortest path from the starting city to the destination city. The program will assume that the path will be followed by a drone which must refuel in another city after 300 miles of travel.

Python

This program will read in a file of words. Then, the user can set a desired passphrase length which will determine how many words to randomly combine for the password. If the desired length is less than the number of words in the file, then every word in the passphrase will be unique.

This program will read in a log file. Then, it will print out the number of bytes transferred and the frequency of all IP addresses within the log file. The log format is 216.218.206.66 - - [30/Sep/2015:00:38:26 -0400] "GET / HTTP/1.1" 502 166 "-" "-".

This program will convert a decimal integer into a number of a specified base. In addition, the program will add numbers regardless of its base.

This program will analyze a text file for certain key words. Then, it will determine certain statistics related to those keywords which are outputted to a csv file.

This program will use the turtle library to print multiple levels of Sierpinski triangles.

This program will play Conway's Game of Life in the console window for a number of iterations set by the user. Also, the user can exit the game early with Ctrl+C without producing an error.

This program allows you to calculate possible jumps in a Checkerboard's current state on the same turn, under the assumption that the player only has 1 checker left. It will account for multiple jumps on the same turn.

This program reads in a series of squares from a text file called magic.txt. The data is then passed to a function which evaluates it to determine whether it is a valid magic square. This function returns a boolean to indicate the square's status and the reason for not being a magic square, if applicable. Those results, as well as their associated squares are finally printed out in a file called results.txt.

This program will read in a tsv file that contains states, street addresses, cities, and zip codes. All of this information is stored in two dictionaries. If the user enters a zip code or town name, the corresponding data entries will be retrieved. If multiple entries are associated with the entered city name, then all of them will be printed out.

This program will find the nth green number. A green number is an integer N where N² ends with all of the digits of N. For example, the second green number is 5 because 5 squared is 25.

The client program will send 10 packets to the reverse proxy server. The reverse proxy server assigns it to one of the two servers with a round robin scheme. The server will respond 70% of the time and drop the packet the other 30%. During this, the client and servers will pass messages between each other.

Websites

This website will present a color palette to the user. The user can then select a spot on that palette which will be blown up to the right in a separate circle.

This website will allow the user to enter HTML, CSS, and Javascript code which will be executed in a fourth area, similar to other sites like JSFiddle.

This is a website I created for the CyberDefenders Club at Tarrant County College. This is not the version that ended up being used, though I created both versions. The other version was chosen after it was discovered that the school's firewall only allowed very specific hosting services and that the club's members were uncomfortable with managing a website of this complexity. However, this is my favorite version and the version that best showcases my abilities.

This is a modified version of the project done through this tutorial. This project uses the following AWS services to deliver an interactive web application: API Gateway, Lambda, DynamoDB, Amplify, IAM, Cognito, and SES. The project allows the user to login, select a location, send a unicorn image to that location, and view astronomical information at that location.

Cybersecurity

This paper describes the usage of Active Directory in place of workgroups. The paper was written from the perspective of an analyst hired by Always Fresh Foods Inc. to prevent future data breaches. After analyzing the issues with the current workgroup network, I assessed the benefits of Active Directory and efforts necessary to transition from one to the other.

This paper is a sample policy I wrote regarding evidence collection, handling, and analysis when conducting a forensic investigation of a data breach.

This paper includes three sample security policy statements for remote access, boundary protection, and transmission confidentiality & integrity. In addition, I provided various controls that can meet the requirements established in the policy statements.

Kotlin

This is a Kotlin-based app for the Android OS 4.4 (API Level 19 KitKat) up to Android 14 (API Level 34 Upside Down Cake). The app contains 3 fragments which represent the 3 primary pages: Home, Dashboard, and Settings. The Home fragment contains an auto-carousel which will display the 3 images used elsewhere in the app. The Dashboard fragment has 3 buttons with individual colors and icons. When a button is clicked, the image view on the Dashboard fragment transitions from its current image to the image associated with the clicked button using built-in animations. The Settings fragment contains a switch button. Click the switch to toggle between light and dark mode color schemes.

Go

This Go-based program serves up a web server which allows the user to register an account, authenticate themself, retrieve all JWKs as a JWKS, or retrieve a specific JWK. The stored keys were encrypted, and the passwords were salted and hashed. All authentication attempts are logged in the database and are rate limited at 10 requests per second.

BASH Scripts

This script reads in text in the following format but only if the target file starts with the word "Degrees" and converts the angle to the range of [0, 360). Degrees
135
1170

This script gets the user's input and executes it as a command.

This command prints out all employees that earned over $50k in 2019.

This script converts (866) 879-7647 and similar phone numbers into FSSFDGDStD and appends 10 characters from my name after the third phone number in the file.

This script is a basic game that generates a random number and allows the user to guess it.

This command prints all 6-character palindromes that it detects.

This script will first print out a list of all users logged into the current machine in the format of ">abc0123 logged in to home-comp". The infinite loop will print out the number of currently logged in users along with the usernames of anyone that has logged in or out since the last iteration. If the user attempts to interrupt the program by sending the Ctrl+C (SIGINT) signal, the first attempt will be suppressed while the second attempt will successfully interrupt the program. This program assumes that each unique user will only be logged in once.