Justin Bentley

Software

Filter;
















Websites

Switchboard, jbn.ai

.Net Core 8, MVC

HTML, CSS, JavaScript, SPA, WebGL (three.js), GLSL (C), glTF (.glb), Media Queries, Cookies

3D Frontend, Switchboard site

Large client-side JavaScript engine to operate multiple WebGL backgrounds and dynamically switch icons

Includes my own polymorphic JavaScript three.js Particle System with its own GLSL (C-like syntax) Particle Shader.

Unminified.

3D Tax Calc, jbn.ai/calc

.Net Core 8, T-SQL, Blender, API

HTML, CSS, JavaScript, WebGL (three.js), glTF (.glb), Cookies

3D Tax Calculator

WebGL Background scene coupled with a HTML, CSS & JavaScript Tax Calculator frontend

Uses Cookies to store client Tax category and thousand seperator preference

Aphid Attack, jbn.ai/aa

.Net Core 8, Blender

HTML, CSS, JavaScript, WebGL (three.js), glTF (.glb)

3D WebGL Game

WebGL Game Engine, Game, Keyboard / Mouse Control, everything in vanilla JavaScript.

Hope you like it!

pcuser.org, pcuser.org

.Net Core 8, MVC, T-SQL, Blender, Wordpress-like Admin Site

HTML, CSS, JavaScript, WebGL (three.js), glTF (.glb), Cookies, Figma

PC (Personal Computer) Technician site

Has a Wordpress-like Admin Site that populates the SQL Database to in turn populate the Website.

Uses Cookies to store client last state on index page and theme preference

Arcane Woodwork, arcaneww.com

.Net Core 8, MVC, API Dynamic Image Viewer, ReCaptcha

HTML, CSS, JavaScript, Media Queries

Woodwork Showcase site

Contains a API to return how many images are present of a particular subject and returns an image address corresponding to the images index, called by Image Viewer (below).

I have a YouTube video of how I implemented ReCaptcha into this particular site too: < youtube >

Woden Laundromat & Dry Cleaners, wodenldc.com.au

.Net Core 8

HTML, CSS, Media Queries, SEO

Woden Laundromat & Dry Cleaners Website

Commercial site to display Opening Times and Details of a Laundromat in Woden (Phillip), Canberra, ACT

Was originallywodenlaundromat.com which is now a 308 (Permanent Redirect) towodenldc.com.au until renewal lapses.

justinbentley.net, justinbentley.net

.Net Framework 4.8, Transact SQL (Stored Procedures), MVC, Razor

HTML, CSS, JavaScript, Bootstrap 3

Personal, First & Largest site

React, react.justinbentley.net

.Net Core 8, NPM, React

HTML, CSS, JSX, SPA (Single Page Application), <helmet>, emotion

Justinbentley.net Tours, Christmas in SVG & alternate page for ImageViewer

Dennis Bentley Artworks, dennisbentley.net

.Net Framework 4.8, MVC, Razor

HTML, CSS, JavaScript, Bootstrap, React, JSX

Art Gallery

Originallydennisbentley.net/gallery/sydney  was written in react and JSX though due to a unavoidable vulnerable package was rewritten in vanilla javascript.

justinbentley.dev, justinbentley.dev

~ This Site ~

.Net Core 8

HTML, CSS, JavaScript, Media Queries, Intersection Observer API, Cookies

Light / Dark theme (using JavaScript) and Cookies to persist through sessions

Intersection Observer API for <button> management

Has a filter system that uses vanilla JavaScript and custom html 'keywords' attrib

Filter accepts url params:justinbentley.dev?JS

Rendered Landscapes, renderedlandscapes.com

.Net Core 8, MVC, Blender

HTML, CSS, JavaScript, WebGL (three.js), glTF (.glb)

Renderedlandscapes.com is a site that hosts and can optionally have created a real-time 3D render of an architectural structure (such as a pergola) which they can walk around and view from all angles.

The CAD render files (or mesh's) can and have been created from Architectural diagrams, cardboard models or really ones imagination.

David Green Performances & Compositions, davidgreenmusician.com

.Net Core 8

HTML, CSS, JavaScript

Davidgreenmusician.com is a site that hosts the musical compositions, performances and videos of David W. Green.

AWS (Amazon Web Services) Web Server

AWS, CDN, Windows Server

Lightsail (EC2), Microsoft© Windows Server host.
IIS (Internet Information Services) for setting up https, hosting and binding sites, SQL Server for hosting databases and most importantly executing the .Net Core runtime.

Route 53 for (some) domain registrations, network records and nameserver setup.

CloudFront Distribution (AWS CDN) & AWS Certificate Manager (ACM) for very fast or high demand delivery of secure files.

File Server, fs.jbn.ai

.Net Core 8, API, AWS CloudFront, CDN

.Net Core actual file server connected to the AWS CloudFront Content Delivery Network.

Always on file server acting to serve files used by multiple sites (ie ImageViewer, cookies.js, below) and/or serve files quickly or at a very high bandwidth.

Also, being always loaded serves intermediatary functions such as rectifying urls like /youtube-channel and a image server for ultra high quality images on sites like linkedin (superceeding jbn.ai, which superceeded justinbentley.net).

Implements a suite of security measures such as discriminate file Rate Limiting and selective CORS.

Database Security, justinbentley.net/pentest

SQL Stored Procedures (vs) Pentesting Tools

After creating the Database I decided to run it through a Pentest and verify it's Security.

JS Utility Scripts

ImageViewer.js

JavaScript, API

Standalone Full-Screen Image Viewing Script featuring infinite scrollable zoom and a variety of features.

ImageViewer (IV) has three modes of operation:

  • Start IV with a single Image.
  • Start IV with API support, firstly IV requests a number from an API representing how many images available for target item, then IV requests a src using the item number and item index, then IV starts using the src and displays left and right buttons to cycle through the items repeating the latter API call.
  • Start IV with simple Array support, functionally the same as API support though an array of src's and a index can be passed instead.

Certain settings can be set before IV is started such as show demo buttons (unsplash and image galleries), demo LR buttons (unsplash, a third party random image API), LR button title text, the Start IV with API support API base addesses and Invert Zoom.

Lastly, uses a complicated mathematical algorithm that I designed to keep the image anchored in the middle of the screen while zooming in or out.

Used for arcaneww.com (which was the host of the script before the dedicated file server(above)), react.justinbentley.net, dennisbentley.net, justinbentley.net and justinbentley.dev (click on an image on this site to use).

ImageViewer can be found running here: justinbentley.net/image

And also here: react.justinbentley.net/image

The source code can be found here: arcaneww.com/js/ImageViewer.js

glparticlegen.js

JavaScript, WebGL (three.js), GLSL (C),

Created my own particle system to work in tandem with 3D (WebGL) scenes. It contains a JavaScript polymorphic super class with two child classes to operate different types of particle shaders and my own GLSL (C like GPU code) Shader code to bring it all together on the GPU.

Currently used for jbn.ai and jbn.ai/webgl though has future plans.

The source code can be found here: jbn.ai/js/glparticlegen.js

cookies.js

JavaScript, Cookies

Standalone script to handle Cookie operations.

Used for pcuser.org, justinbentley.dev & jbn.ai.

This site uses this script to store data to persist the light/dark mode preference between reloads and revisits.

The source code can be found here: fs.jbn.ai/fs/uni/js/cookies.js

cookie monster sharing his knowledge on cookies

fs.js

JavaScript

Standalone script to handle Fullscreen operations.

Used for pcuser.org, jbn.ai and many more.

The source code can be found here: jbn.ai/js/fs.js

3D Application Graphics Programming

VR Tai Chi, justinbentley.net/uni/ictp

C++, OpenGL 4.4, GLSL 4.4 (modified C), x64, Steam Corp OpenVR <openvr.h>, Autodesk Maya, GLFW, GLEW, GLM (Math / Quaternion Library)

Scratch made OpenGL Modern Renderer, Game, Tai Chi Simulator in VR with Autodesk Maya constructs

Game Engine, Game, Models (mesh), Mesh Importer (.obj), Digital Elevation Model (DEM) / Heightfield Importer, Shaders, Keyboard & VR Device Control

Microsoft© Bubbles Screensaver Clone, < youtube >

C++, OpenGL 3.3, GLSL 3.3, x64

Clone of Microsoft's most popular screensaver ever

Created to learn 'modern' OpenGL

VIC Final Assignment, justinbentley.net/uni/vic

C++, OpenGL 1.2, GLUT (GL Utility Toolkit), Autodesk Maya

Scratch made Legacy (90's) OpenGL Renderer, Game World Logic and Programatically made assets

Game Engine, Game, Digital Elevation Model (DEM) / Heightfield Importer / Renderer (whitespace seperated .txt), Mesh Importer, Keyboard / Mouse Control

University of Canberra Unit, final grade High Distinction @ 92/100

.obj Wavefront Mesh Importer < youtube >

C++, OpenGL 1.2, GLUT (GL Utility Toolkit), .obj Mesh File

Importer to turn a 'mesh' created in a CAD type program into triangles to be displayed in my own real-time Renderer

Legacy (v1.2) OpenGL Guide, < youtube >

C++, OpenGL 1.2, GLUT (GL Utility Toolkit)

1.5 hour tour of OpenGL 1.2, one of my most popular Youtube Videos

Training Room (Autodesk Maya), < youtube >

3D Mesh, Autodesk Maya

3D Assets for VR Tai Chi

2D Programming

USS-199, justinbentley.net/uni/gpt

C#, XNA / Monogame

Game Engine, Game, Keyboard / Mouse Control, Scoring, etc

All images made in Paint.net!

Save the Trees, < youtube >

C#, XNA / Monogame

Game Engine, Game, Keyboard / Mouse Control, Scoring, etc

First Game Ever!

May not be the most complex, but was made in the University of Canberra library late into the night and weekend after the very first tutorial!

File System Programming

CodeLiner

C++, Win32API <windows.h>

Extract lines of code / operations from .cpp, .c & .h file found in a specified windows directory

Includes a complicated algorithm (first pic) to test for multiple operations per line and ommit comments

Uses <windows.h> to query a directory (third pic) for .cpp, .c & .h files.

codeliner0 codeliner1 codeliner2 codeliner3

Subtitle Time Stamp Reducer

C++, POSIX

Globally reduces or adds to timestamps of a .srt (Video Subtitle) file.

Subtitle Timestamp Reducer 1 Subtitle Timestamp Reducer 2

Payroll System

C, POSIX

Program to organize the payroll operations of a business and 'printf' payslips.

Application Programming

Gross Calculator, < youtube >

C# Form

Salary, Taxation, Super Calculator.

Predecessor & engine of: justinbentley.net/salcalc

ANN (AI) 1

C# Form

Front-End for a C++ AI (Artificial Neural Network) Back-End Engine to input training data and values

ASCII Dictionary

C++, Qt Creator

Provides decimal, hexadeciaml, binary & octal values for a entered decimal or character ASCII (utf-8) value

ASCII Dictionary 1 ASCII Dictionary 2

Timer

C++, threading

Queue's alarms within Windows for entered times

Other

StarBase BASIC

BASIC

Not quite your traditional BASIC programming but anyway, theres a MMO Video Game called Starbase where you build a Space Ship and use the Programming Language BASIC to enhance its systems.

Autogen would run the Power Generator to feed the Battery, although it was a bit more complex, it would add load to the Generator if the Battery was less than its last cycle reading and vice versa. Also, add or remove load if the Battery was below or above particular limits, forming a sort of heuristic with weights.

AutoLander would adjust the Pitch & Roll of the vehicle until Rangefinders at each corner of the undercarriage were showing similar distances, indicating the ship is level. Then it would adjust altitude until a particlular range was reached, all while activating the Landing Lights.

AutoGen AutoLander AutoLander in action ON AutoLander in action OFF

Digital Circuitry, justinbentley.net/uni/ice

Hand-Drawn Logic Circuits, Logisym, PSpice

Electronics

Very Long URL Expertise, justinbentley.net/veryveryveryveryveryveryveryverylongurlexpertise

Many years of happily using very long url's!

Important component of a youtube video I made addressing a common Web Development topic, ever seen a website that scrolls left to right and wondered why?

The link is clickable.

Q: Why do programmers always use dark themes? A: Because bugs are attracted to light!