My first computer was a Packard Bell desktop with a 486DX processor, 512KB (yes KB) of RAM, and a 107MB hard drive. My first smartphone was loads more powerful with loads more storage. But at the time, it was amazing. I spent a lot of time browsing through the OS files, teaching myself what the different file extensions signified, opening them to see what was in them, and consequently reinstalling MS-DOS 4 and Windows 3.1 multiple times. I had to upgrade my RAM to 2MB (soooo much RAM) in order to install and play Myst. This led to hours setting up a home ethernet network, digging into the world of TCP/IP and the OSI model, and eventually to an MCSE in Windows NT and then Windows 2000.
Along the way, I also went through a lot of gadgets. I had a Dauphin DTR-1 for awhile; considering that DTR stood for Desktop Replacement, it was quite ambitiously named. I loved my Newton MessagePad 2000 and mourned when Steve Jobs went back to Apple and killed the MessagePad line, although he eventually released the iPad, so I forgave him. I owned several iterations of Compaq iPaqs because I refused to buy a Palm Pilot.
All of this is to say that, from the moment I had a computer of my own, I was driven to understand what made it work, and what I could make it do. I knew that when there was a problem, it was because something was wrong in the software or hardware and that if I understood how they worked, I would eventually be able to figure out and fix these problems; and I was relentlessly driven to do so. I excelled at troubleshooting and knew that the more I knew, the more easily I would be able to troubleshoot and resolve hardware and software issues. IT was constantly evolving, and there was always more to know.
I have recently been learning web development, and it has rekindled in me the early excitement and fascination that I had with my first computer and numerous other computing gadgets. Web development is nothing but troubleshooting, and I love it. Scroll down a bit to see how I have fared at it so far.
Read Local is a full stack MERN group project made with Bryan Yunis and Matt Brennecke. It utilizes several APIs: Google Maps, Event Registry, and newsapi. The home page is a google maps heatmap of where news stories are across the US. You can either click on the map to zoom into an area or select a State and then City from the dropdowns to get news stories from that area. This is still under development. Other features will include the ability to register and login so that you can save stories or city/area searches. Also, clicking on the map will bring up a list of headlines in that region. Lastly, you will be able to filter your news results by keywords within the region you are searching.
Read Local github repositoryMemory Game is my first React app. I used the npm package create-react-app as starter code. React is quite powerful, but also complicated. Using JSX is sometimes intuitive and sometimes arcane. The object is to click on each hero's card without clicking on the same one twice. Sounds easy right? Not so fast! Every time you click on one, they all rearrange on the screen! One amazing aspect of React is the ability to quickly and easily format an array full of objects and put them all on the screen, which is how the cards with the hero's pictures are created. I enjoyed programming this, I hope you enjoy playing it!
Memory Game github repositoryscrapemodo is a Mongo, Express, and Node application. It uses the npm package request to get the Gizmodo homepage and then npm package cheerio to get access to the html. This allows me to extract the title, link, summary, and image for each article and save them in Mongo. I can then display them all. Functionality includes saving articles (accessible through the Saved Articles link in the header), adding comments to saved articles, and updating or adding to comments. The Clear Articles button removes all the articles from the db except those that are saved.
scrapemodo github repositoryPencil Me In is a group project made with Matt Brennecke. We developed it to experiment with node, express, and developing our own API. The back end is MySQL. We use JSON web tokens for authentication and a library called fullCalendar for the gui calendar. The idea is that small business/gig workers can have clients log in and schedule their own appointments with them. Providers can also create appointments for blocks of time that they don't want clients to schedule them. When registering, providers choose their business hours and these are emphasized in the calendar to show clients where to create appointments. Feel free to register as a client or provider and check it out.
Pencil Me In github repositorySetlist is a group project. We developed it to experiment with using ajax and APIs. We utilize the ticketmaster API to retrieve the concert data, and Google Maps for geolocation and event maps. This project also utilizes Google firebase for authentication (either through Google or by creating an account directly on the site) to allow users to save their favorite artists. When logged in, you will see any upcoming concerts for your favorites automatically.
SETLIST github repositoryThis project uses ajax access to the Giphy API to allow the user to browse gifs using movie titles as search keywords. Buttons across the top bring back 10 new gifs each time they are pressed, while the user has the ability to add new searches by typing the title of a movie in the text box at the right and clicking Add Button. They also have the ability to save favorites, which utilzes localStorage for persistence.
Movie Gifstasy github repositoryThis project uses jquery to manipulate and move DOM elements around the page. It's a game in which you choose which hero or villain you'd like to play as, and then you must "fight " each of the remaining characters. Each character can win or lose depending on the order in which they are fought.
Avengers RPG github repositoryThis project was my introduction to firebase and moment.js. There is a form to fill out the details of the train you'd like to track. When you push the Add Train button, your train is added to the list of Train Schedules below the form (and the form's data is stored in firebase). The schedule lets the user know what time the next train will arrive, and how many minutes they have to wait. It refreshes every minute.
Train Schedule github repository