Joshua's Portfolio

Personal Projects

Map of Motorcycle Endorsements in Florida

a map of motorcycle endorsement for the state of Florida 2009 - 2023

Before I moved, I was understandably interested in titling my bike in a new state. The Florida DMV had an interesting chart of motorcycle endorsements, and, instead of leaving it as a spreadsheet, I gave it wings. Of a sort.

Map of The Realm Online

a map of The Realm Online

Back in the '90s, for a few hours, I played a game that I thought was really great. Some thirty years later I revisited it and... was less than satisfied. However, I couldn't just put it to rest like that. So I walked across the entire surface of this virtual world and recorded my findings. And I uploaded it and made it interactive with the notion that someone else might benefit from it. Probably not, since it's outdated.

freeCodeCamp Projects

What follows is a set of projects that I completed from freecodecamp.org. Some of these were amusing; some of these were not. My absurdist humor will likely shine through, regardless. (I'm not actually an absurdist — quite the opposite, actually. That's why I find absurdism funny.)

Responsive Web Design

This series of projects dealt with HTML and CSS education.

Survey Form

This was the first of many projects, and it's pretty generic. Nothing even happens after pressing Submit — it's just there to show that I know how to make a form.

Tribute Page

Another generic page, with paraphrased Wikipedia content. I think the idea behind this one was layout and presentation.

Technical Documentation Page

Navigation was the topic, here. My absurdism was quite effervescent, here. I showed this project to several acquaintances and they "didn't get it". This is probably how real artists are received.

Product Landing Page

This one brought together the techniques practiced in the previous three projects. The cat video is worth watching.

JavaScript Algorithms and Data Structures

This series of projects dealt with JavaScript. The "Algorithms and Data Structures" part feels like a bit of a misnomer. At least, I don't remember anything like a bubble sort or a linked list in this section.

Palindrome Checker

Regular expressions and string manipulation. It's curious how popular these things are. This is pretty much what separates every programmer (at least every introductory programmer) from the common round — even more than arithmetic. "I can't be a programmer. I'm not good at math." Well, that's secondary, friend. What you really need to know is how to reverse a string and format numbers and pretty-print those things to the console. Wanna be a programmer? Well, you have to be a typesetter, first.

Roman Numeral Converter

That is, turn numbers into letters. Just because. Certainly not because it's actually a good idea to use Roman numbers.

Telephone Number Validator

USA phone numbers. And the list of "valid" formats is seven-long. Whatever — I completed the project.

Cash Register

This is a "cash register". It "makes change". It's also, as can be noticed with the previous projects since ending the Web Design section, quite plain. The absurdity is still there, though.

RPG Creature Search App

A Pokedex. A minimalistic, outdated Pokedex. I intended to go all out with... Well, I intended to make this one quite stupid. Elements bouncing all over the window once the form was submitted. How many hundreds... thousands... of these clones were created by programmer hopefuls going through the FCC curriculum? Most do the bare minimum; some of those actually finish. A few go for flair; a few actually succeed. I was thinking, "How about intentionally bad?" But that required more work just to finish something that I didn't care about. This is very logical: I don't care + I'm not getting paid + I'm not being forced = bare minimum effort. My personal projects are the ones worth looking at. These just show that I can understand things, follow instructions, and get stuff done.

Front End Development Libraries

... So this section dealt with "front end development libraries" — Markdown, Bootstrap, Sass, jQuery, React, and Redux. And, when it got to the projects... I just used straight HTML, CSS, and JavaScript. I did not appreciate the extra complication. Why use an extra layer (or many extra layers) that offers no needed (or desired) functionality? I always pull the skins off my sausages anyway. I suppose I semantically failed this section, but I still managed to pass all of the tests (and net the certificate). Curiously, when I was building this portfolio, I noticed that these projects flashed a warning about the tests no longer working with certain libraries. I guess I ended up "future proofing" it by sticking with the basics.

JavaScript Calculator

A terrible calculator. For some reason, the second number entered cannot be the first number. This was made in 2019 and I really don't feel like fixing stuff that I'll never use.

Data Visualization

These projects all used various utilities from the D3 library. Some pretty stuff can be made with it. If you like graphs. ... I like graphs. But these are pretty dull for the most part.

Scatterplot Graph

A rather ugly scatterplot of pro bikers, their times, and whether they were found guilty of doping.

Choropleth Map

A dated choropleth map of US counties given residents with college degrees >= bachelor's. Still, I think it's the prettiest.

Treemap Diagram

A treemap of video game sales from some period of time. The FCC data I used wasn't terribly specific about where or when this data came from.

Relational Database

These used Bash, Git, and PostgreSQL. Absolutely no "front end", here, so no live links. Only two of them are really interactive.

Celestial Bodies Database

I had to build a database, as well as query it. This made for further education, sure, but it also made for a very abridged universe.

World Cup Database

The database was provided for me, this time. Which was well, since I have little interest in football. The SQL queries were trickier here than in the previous project.

Salon Appointment Scheduler

This one's actually interactive. Learned how to write Bash scripts. Pretty fun. Having spent most of my days with Windows, I can really appreciate (even prefer) the Linux command line.

Number Guessing Game

Another interactive one. A game, even. Not a difficult game, of course. Well, maybe it is for children that don't know how to pick the middle number every time (some people call this the binary search algorithm or the half-interval search).

Back End Development and APIs

These projects dealt with Node and one of its extensions — Express, as well as MongoDB and one of its extension — Mongoose. I was *supposed* to use Mongo, but, frankly, JSON worked just as well. What little I used Mongo, I prefer SQL. But neither were functionally necessary for these projects. Probably also failed these in spirit, even though the tests passed. Anyway, while I didn't have to bother with the front end, there *was* a front end; thus live pages. However, since I don't have a server running these things, I'll offer the FCC sample links, since the end result is practically (especially visually) identical. I think it even uses JSON instead of Mongo — so how's that for hypocrisy?

Timestamp Microservice

Feels like a misnomer, here. Not sure what purpose this actually serves. "Josh, do you know how to handle a Date object?" Yes.

Request Header Parser Microservice

This parses a header. More useful than the timestamp, probably. Really, these last two just exist to warm me up to navigating node / express routing features. Well, the tutorials were for that — these were to prove that I was paying attention.

URL Shortener Microservice

Curiously, there were some six years between this project and the last. Life kind of turned into a wilderness, and I wandered. It's amazing how easy problems are when the soul is not being crushed by completely unrelated problems. Anyway, this does that ever popular shrinking of URLs, both making them smaller and nearly impossible to remember. Frankly, it's useless. URLs are generally copied and pasted no matter the length. No idea why this (and so many other absurd things) became vogue and was excessively aped. Instead of going to one website, let's go to another website and be redirected — possibly multiple times.

Exercise Tracker

The idea's not bad — but the result is ugly. I did something similar for myself to track my collection of arcade games. No server, though. I just edit a *.js file directly, and use the *.html page for pleasantly viewing and sorting. This thing, though... I already mentioned that it was ugly, right? Clumsy? Not worth using? The designer of this test probably wanted the students to really go all out and make it personal. I allude to my Pokedex comment.

File Metadata Microservice

I was struck at how simple this project was. "Why?" was a question that ocurred to me. This is just a contrivance to show that I can read file metadata.

Quality Assurance

In spite of what FCC's landing page states, this was just an extension of the Back End projects. This added Chai, Chai-HTTP, and Mocha for testing purposes. Personally, I'd rather the test fit the idea, than the idea fit the test — the latter is what this section seemed to be about. This section also links to FCC's example pages for the final result. Also, as it's probably been apparent from the last several sections, old versions of libraries were used. This was to keep the FCC tests from breaking. All of these projects have been "archived" in preparation for a total curriculum overhaul. The BETA curriculum might become version 1.0 some time before Half-life 3 is released.

Metric-Imperial Converter

A very limited service that converts between three sets of units. I personally wouldn't use a webpage for this (unless it was local), it'd use an app. Probably wouldn't use JavaScript, either, since I prefer Python. JavaScript should stick with the DOM, since that's what it was designed for.

Issue Tracker

A really clunky issue tracker. The entire front end is so gross. There's, curiously, a hidden view that looks much better, but, for whatever reason, isn't even mentioned in the project. I'm guessing it's a relic that was forgotten about during some project rewrite.

Sudoku Solver

This one is actually practical. I'm sure there are better solutions, but it's nice working on something that actually feels useful. Theoretically useful — I play Sudoku rarely, and I don't resort to solvers, but it'd be useful to check the answer.

American-British Translator

Translate from American to British and back. Clearly much easier to engineer than a translation to any other language. Probably because it's the same language.

Scientific Computing with Python

This section dealt with Python. As a language, I quite like Python. No more semicolons, for one. You may have noticed the utter lack of them in my JavaScript code. Yes, I rely on Automatic Semicolon Insertion. But this is about Python, not Javascript. Again, like with the database section, there is no front end. I could put up a Google Collab or something. I'll think about it.

Arithmetic Formatter

More of that "computer programmers are actually just string manipulators" thing I was talking about. This stacks a narrow domain of operations instead of leaving them flat.

Time Calculator

This adds two times together — 12-hour clock. I prefer a 24-hour clock.

Budget App

I wonder about these projects. Are they supposed to show us something so ugly in the hopes that we'll rage into useful creativity? Look how ugly the table is!

Polygon Area Calculator

A contrived way of introducing object-oriented programming. As with most education of this caliber, I'm rather inclined not to pursue what should otherwise be a useful way (among many) of looking at things.

Probability Calculator

I feel like there's a misnomer, here. What's returned is a statistical percentage based on experimentation. Probability and statistics are like peanut butter and jelly in a peanut butter and jelly sandwich — they work together, but they're not the same thing. As an aside, I eat peanut butter and Pop-Tarts (usually chocolate chip) sandwiches, because I don't really like jelly.

Data Analysis with Python

More Python. Same amount of live pages (none). More data visualization, but this time using, as should be expected, Python libraries — matplotlib, pandas, scipy, and seaborn. These all feel pretty similar — probably because they all rely on / borrow from each other.

Mean-Variance-Standard Deviation Calculator

This would be the pandas primer. Can you use six pandas functions? Yes, yes, I can.

Demographic Data Analyzer

A series of queries applied over a very limited census.

Medical Data Visualizer

A heat map of some medical data. Being obese may have something to do with heart disease. But which came first? Hmmm?

Page View Time Series Visualizer

Here, we examine FCC's own data on its page views. A bar chart grouped by years.

Sea Level Predictor

Let's prophesy about the sea. Because limited (and dated) data is so dependable. Scatter plot and a couple of lines.

Coding Interview Prep

No cert for this. This is just a collection of exercises meant to test what I've learned. That is, test what I can learn, since a lot of this stuff wasn't covered in the original material. It's also rather curiously named, since many interview questions that I've seen on other sites aren't repeated here. Like FizzBuzz. Or is that too hackneyed? (What isn't?)