I love photography. It has long been a treasured hobby. Capturing a moment in time is fun, but the real thrill is in post-production. The connection to the feel of the awesome moment captured within an image can be created by finding the right line, hue, shape, focal points, and other elements. These all work a certain amount of magic.
Below is some of my work. For anything beyond private personal use, please reach out to me for permission and terms.
Spread & Rest in JavaScript
The spread operator allows for an Object's properties to be filled into a another object right in line with existing properties. Likewise, this can fill one array in another array keeping the values in line with existing values. Spread const aNewObject = {...oldObject} const aNewArray = [...oldArray] Rest The rest parameter an array made MORE q
Map Data Structure in JavaScript
The Map object holds key-value pairs like a standard object. There are a few significant differences between Map and a regular key-value pair object. These are: Objects: Keys must be obtained and used to iterate over. Map: This is iterable, meaning we can directly iterate. Objects: The key can only be an integer, string, or symbol. Map: Key field can be of any data-type including objects and functions. Objects: Retrieving size is a manual process. Map: The size property hold this info. Objects: Iterating will not always return keys in MORE q
Patterns in JavaScript
There are a variety of common situations and obstacles programmers deal with. Over time many design patterns emerged that nicely addressed these common issues. Of these, there are four patterns that MORE q
Asynchronous Code with JS
A promise returns the same data as a callback function, but can await the reply. With this, when there is a delay receiving data, the syntax is nicer and the better error handing. Most importantly, the browser can continue processing the page and then fill in the delayed data whenever it is ready. The above allows for JavaScript to step away from the normal synchronous processing order, which is running commands one after the other in the order MORE q
Set Data Structure in JavaScript
A Set data structure is used to store any number of values. Set considerations: Only values are stored (no keys) All values must be unique let myVariable = new set(); MORE q
Scope in JavaScript
In English, "scope" is defined as: "The extent of the area that something is relevant". In JavaScript, this definition holds, with one small adjustment: "The extent of the area that something is accessible". With this in mind there are two basic areas with which a variable can be contained and is accessible: globally and locally. Global Scope Variables with global scope are part of the global object. In a web browser, this MORE q
Destructuring in JavaScript
Desctructuring allows for a more simple and powerful syntax for referencing specific data. JavaScript provides MORE q
Browser BOM
The browser BOM can be accessed by JavaScript. Here is a basic look at how JS can create "back" and "forward" browser MORE q
Programming Methodologies in JavaScript
Here I compare Object-Oriented Programming (OOP) and Functional Programming, highlighting their fundamental differences. OOP utilizes inheritance and encapsulates data, focusing on "what something is", while Functional Programming emphasizes function composition and immutability, concentrating on "what something has". Both methods have benefits and drawbacks influencing code clarity, maintainability, and memory efficiency. MORE q
















