Josh Brown
About Me Portfolio Professional Resume Contact

Who am I?

Scroll

Information

  • Age: 16 Years Old
  • Grade: 11th
  • Education: Currently in High School
  • Specialty: Cyber Security

Background

My name is Josh Brown and I am currently in 11th Grade. My main interest is cyber security, specifically application security. I also do web development for fun and for practicing web security. I also like taking and editing photos and videos.

Technologies/Experience

Here are some of languages and technologies that I have experience with. I have varying degrees of experience with each item. See the Portfolio page for examples.

  • Web (HTML/CSS/JavaScript/jQuery)
  • Node.js (Electron, npm, yarn)
  • AppleScript
  • PHP
  • Bash/CLI
  • Java (JavaFX)
  • Python

Here are some of the editing programs that I have experience with.

  • Adobe Photoshop
  • Adobe After Effects
  • Adobe Premiere Pro
  • Adobe Audition
Purdue Sign

Completed Introduction To Systems Development (CNIT 18000) at Purdue University

Summer of 2019 (July - August)

Over the summer I decided to attend a class at Purdue University. I took Introduction To Systems Development (CNIT 18000) because it was the first course in Purdue's cyber security track and one of the few offered in the summer. The class was taught by Professor Victor Barlow.


In class, we learned many things. We began with learning about the SDLC, feasibility studies, scope, and creating DFDs. We then went on to requirements modeling, using UCD to model interactions between users and an information system. Next, we learned about validity checks and data and process modeling. We created DFDs to visualize how data was related. We continued on to object oriented modeling. My experiences with objects in object oriented programming languages made this portion significantly easier to understand. Next, we learned about user interface design, creating forms, and creating reports. We also learned about database design and querying. We learned about primary keys, composite keys, secondary keys, foreign keys, referential integrity, schema, types, cardinality and more. We modeled our databases using ERD and used SQL and QBE (MS Access) to query to database. We went on to learn about basic networking, OSI model, bandwidth, network types (bus/ring/star/hierarchical/etc.), WANs, and LANs.


Overall, I really enjoyed the class and learned a lot from it. My previous experience with object oriented programming, networking, database design and implementation helped me greatly.

sobotdocs screenshot

Created StackOverflow / StackExchange Chat API Documentation

May of 2019 - Current

Since I wasn't unable to find any documentation of the StackOverflow chat API, I decided to create my own. The documentation is currently in progress. All of it is from various contributors manually testing and writing results for the documentation. Most of the documentation was written and tested by me, @Zoe also contributed significantly.

sobot screenshot

Created StackOverflow / StackExchange Chat Bot

May of 2019 - Current

I had been wanting to create a StackExchange chat bot for a while. I was originally most active on Ask Different, however, unlike many other sites, Ask Different did not have any bot inside their chat room. I spent a while researching creating a chat bot for StackExchange, but found very little information. I made a boilerplate to allow other people to create their own bots. I also added a plugin API so that people can add their own commands to the SO bot. Currently, the SO bot is in a couple different rooms across the network. The bot was written in Node.js.

quickd screeenshot

Created Quick Downloader

January of 2019 - Current

With the help of Jake Schneider, we created Quick Downloader, an application that uses byte requests to download files from the internet an incredible speeds. Based on our tests its can reduce download time up to 80-90%. If you don't believe me, check it out for yourself below! :)


I came up with the idea and presented it to Jake, who agreed to help me create it. We split up the work so I would do the actual downloader part while he would stick with the UI part. We decided to use the Electron framework as we were both familiar with Web programming and it was cross platform. Jake decided to use React for the UI. In the end, we assisted each other on different parts of the project. I assisted him with some of the CSS and he helped improve and fix the downloader. This was my first project using Node.js, Electron, and React. It was also my first desktop App.


Due to our lack of React experience and suggestions from other developers, I decided to ditch it for v2.0. I removed React, recreated the entire UI from scratch (using the v1 as a reference), and rewrote the downloader script. v2.0 was released on August 8th 2019. Resuming downloads is scheduled for v2.1.0

Player

Created Custom HTML5 Video Player

January of 2019

Based on Netflix's own player, I decided to build my own. While it is still a work in progress, most things work properly. I used Font Awesome for the icons and jQuery.

this websites code

Created This Website

November of 2018

I really wanted to document the projects I have worked on and teams I have been fortunate to be a part of. I also thought creating this website would provide an opportunity to practice web design. One of my hobbies is photography, so I made it my goal to have all the photos be originals instead of using stock images. All the images for the projects on this page are clickable and will bring up a bigger version. The one on the left is actual code from this site controlling the contact form, however the current code may have been changed. The up to date code can be seen, on GitHub, by clicking the "Source" button below.

Google Cloud screenshot

Creation and Management of the Port Chester - Rye Brook Public Library Server

September 2018 - Current

After discovering a significant vulnerability with our web hosting service, allowing all sites to access all other sites' website files (including the donation user data) and another giving all sites root access to the server, I recommended changing web providers. After the library agreed, I set up a Google Cloud Ubuntu instance and worked with the other developer, JP, to transfer all of the library's files. I also installed PHP, MySQL, phpMyAdmin, set up an automatic backup script, and set up an automatic certificate renewal script. I continue to manage the Google Cloud instance. The demo below is the website that is being hosted on the Google Cloud instance.

Testimonials

JP

"Working with Josh was a good move both business and personal wise. We worked together on several projects and I gained new insights in coding and am learning how to code much more securely. I gained a mentor as well as a friend. I’m glad he and I decided to work together."

McAndrews logo

Paid Internship MacAndrews & Forbes Incorporated

Summer of 2018

My eight weeks working in the cyber security division of MacAndrews & Forbes provided a great opportunity for me to both learn and gain experience in a work environment. During my time there, I worked with Sophos Central, Palo Alto Networks Console, Amazon AWS (Ubuntu and Windows instance creation, management, etc.), and many other tools.

Testimonials

MB, Cyber Security Technician

"I had the pleasure of working with Josh this past summer. He was super helpful, engaging, and eager to learn more about Cyber Security in the workplace. That type of demeanor displayed day in and out, let me know Josh is destined for great things! Not only did he learn something new, but I too obtained a great skill from him. Josh was pivotal in providing a solution to track important data in our project, which added value to the overall success. Thank You Josh, continue to be curious!"

donation screenshot

Donation page for Port Chester - Rye Brook Public Library

February - March of 2018

My town's local library hired me to create and to set up an online donation page. In the past, while the library had a website, it did not allow donors to donate, instead the Library collected cash donations. The staff believed donations would increase if they had a more modern donation system. Using the PayPal API, I created a donation page. Unfortunately, the library's website was not encrypted with HTTPS. I informed the staff of the security risks associated with handling sensitive user data without proper SSL encryption. I also informed them of Let's Encrypt's free certificates. I worked with the other developer and web provider to install the certificate. The library was so pleased that they offered me a retainer to manage the donation page and to provide monthly site maintenance.

Testimonials

Dr. Elise Lemire, President of the Friends of the Port Chester - Rye Brook Public Library

"We were fortunate to find in Josh Brown a web designer and security expert on par with the best in the industry. We very much appreciated, in addition to his considerable expertise, his timeliness, attention to detail, and his ability to explain highly technical concepts in laymen's terms."

sign picture

Volunteer Rye Brook Senior Center

October of 2017 - Current

Every Tuesday and Thursday I volunteer at the local Senior Center. I assist seniors with many different tech problems ranging from powering on a device to teaching them how to use Facebook, to malware/virus removal. This opportunity has given me experience with teaching others and communicating complex information.

media website screenshot

Created Home Media Website

August of 2018

Inspired by Netflix, I decided to create a TV Show/Movie website. This was my first time creating a login system and using SQL. Each user can choose a unique username and password (stored hashed) that grants them access to the site. Like Netflix, resume data was stored in a database, allowing users to resume play from any device logged into their account. I used The Open Movie Database to provide information on about each TV Show/Movie. Finally, I added a profile page, where users could change their username and/or password, and view all their data. (Note: The demo below is stripped of some features and contains public videos in lue of movies. For demo purposes, user data is not saved and any username and password combination is accepted.) Some of the source code is provided below.

hq website screenshot

Created an A.I. bot for the popular HQ Trivia game

December of 2017 - March of 2018

When the popular HQ Trivia game was released, it got me thinking of how I could beat it with a computer. I spent a couple of days theorizing how I would accomplish a task such as building a bot to answer questions. My first attempt took 14 seconds per question to convert the images into text, much longer than the 10 second limit. I then changed the method of text conversion to use tesseract-ocr. Once I was able to get the conversion time down to a couple of seconds, I started building the actual program. I created the base program in a couple of hours. I played the game with friends that night and we came close to winning. I spent the next couple of days refining the algorithm. The bot was now able to detect the type of question and adapt, it also was able to give different confidence ratings to each answer. The bot was now able to answer a question within four to five seconds. Word got around pretty fast and I developed a website (source code below, although code quality isn't great. I was rushed.) where visitors to could view the bot's responses live. Visitors could also sign up for text alerts about upcoming games. Finally, on super bowl night, my friends and I won a total of $200 using the bot.

Testimonials

Jake M.

"The HQ bot was able to solve answers to the game very efficiently. It helped friends of mine win money in HQ when they normally wouldn’t have been able to without the bot"

Lauren W.

"The bot ran really well and the website was very easy to use."

keyboard server

Created and managed my first home server

August of 2017 - Current

My sister, Rachel, was starting her freshman year at college and was purchasing a new computer. The new computer had a smaller drive than her previous one. This meant she was unable to transfer all of her data. I proposed the idea fo building a file server, or a cloud, as I described it. This would allow Rachel to access her data from anywhere in the world, from any computer, at any time. After transferring her data to an external drive, I wiped her old MacBook Pro 2011 and used it to create the file server, protected by a password only my sister knew. This worked extremely well. I then expanded the file server to allow for each of my family members to have their own private folder on the server. I also created a shared folder, for all of the media we wanted to share. This helped with sharing large amounts of photos and videos. Months later, I furhter expanded the server and started with a web server. This began my journey on web design. Currently, the server hosts this site and one more.

Testimonials

Rachel B.

"I am not a person who likes to separate from old things, so having the server at my fingertips, makes me feel better because I can still view old files."

Michael B.

"Having our own personal server is a wonderful way to be able to share information and pictures with family and relatives anywhere in the world with ease and privacy."

study clash screenshot

Security Research for Study Clash

August of 2016 - August of 2017

Study clash is "a platform [that] converts study guides into multiple-choice trivia games" allowing "students [to] compete with their friends" to make "learning fun and more engaging". I was asked by the founders, Scott and Bryan Benson, to beta test the website and app. While beta testing, I found multiple vulnerabilities one of which allowed an attacker to change users username, email, and school without authentication. I quickly communicated these vulnerabilities to the founders and discussed possible solutions. The vulnerabilities were rectified within a couple days. This was one of my first experience with real world web security.

Testimonials

Scott and Bryan Benson, Co-founders of Study Clash

"Josh is very advanced for his age and went out of his way to help identify vulnerabilities in Study Clash. We were impressed by both his technical abilities and initiative. He has a bright future ahead of him!"

Zombie Wars Screenshot

Created Games Using Stencyl

Summer of 2013 - Summer 2014

During the summer of 2013, I was first exposed to " programming" at summer camp. After designing the characters from scratch in Photoshop, we used Stencyl, a drag and drop coding flash 2D game maker, to develop the games. At the end of 2013, at the age of 10, I completed my first game: Zombie War (playable below, although you need flash). The game was set in an apocalyptic city. The payer must fight off zombies while rationing ammo to survive. Each level increases in difficulty. Shortly after coming home for the summer, I developed a sequel to Zombie War: Zombie War II. This game had the same premise but with more weapons and much more difficult levels. Finally, the following year I created Running Fun, a obstacle course game. The player must climb ladders, jump, and run to avoid spikes, bats, and bullets. While Stencyl did not provide a real coding experience, it did provide me with the fundamentals of programming and logic (if statements, variables, loops, etc.). Click below to play! Note: It may take a bit to load and once they load, you must click on the game to get the controls to work. Arrow keys and space bar are used for the games. Good luck!

Coming Soon...

Contact Me

×

Welcome to my personal website. This website contains most of the projects that I have been involved in or created. It is also self hosted. While I do have experience with other libraries/frameworks, this website does not use any with the exception of jQuery. All photos and screenshots are original. Thanks!