Enter any website URL to analyze its complete technology stack

Executive Summary for justinparrtech.com

1321 Response Time (ms)
200 HTTP Status
3 Scripts
1 Images
7 Links
HTTP/1.1 Protocol

SEO & Content Analysis

Basic Information
Page Title
Justin A. Parr - Technologist | Technology, Strategy, Insights, and Tech Support
Meta Description
Not detected
HTML Language
en-US
Robots.txt Not found
Sitemap Not found
SEO Meta Tags
content-type: text/html; charset=UTF-8
Page Content
Justin A. Parr - TechnologistUpdate, 5/14/2023:  Version 3.2Update, 5/11/2023:  Version 3.1.  Original: Version 2I wrote a javascript calculator while I was waiting for something the other day.  Here it is:Permalink: HereTechnical DetailsSingle, self-contained HTML file with embedded CSS and Javascript.The display width is configurable via a variable – currently 20 digitsThe top line is a “register” – normally this would be hidden on a desktop calculator.  The two variables, “register” and “display” are global, which simplifies the architecture.The buttons are created using a functionBinary math functions are performed by a wrapper that sanitizes the input values and then performs a callback to the underlying math operation – the pointer to the callback function is passed via onclick.Unary math functions are basically handled the same as binary operations, where onclick calls a wrapper, and the wrapper executes a callback.To Do(Updated, 5/11/2023)Add MS, MR, M+, and M-, which will require a separate register.Add a configurable table of constants.Tool tips with enable/disable button.Hex and binary functions, although these might be a separate calculatorUpdate:  I think I will just make a dedicated programming calculator the next time I’m bored :-)Funny Story about 3.1 vs 3.2I uploaded version 3.1, and patted myself on the back for having done such a great job.  Right-click, save as HTML, fire it up in Chrome, and…everything was rendering twice.What happened??The UI is dynamic, but the saved version of the page had BOTH a static copy of the dynamically-generated HTML, as well as the javascript code to dynamically generate the HTML.  So every UI element was rendered TWICE.  Worse, if you modify the Javascript at the top of the file to alter the constants or the display size, you would have one copy that’s correct because it’s dynamic, but the static copy would still be wrong.Interestingly, if you View Source and save from there, it won’t have that problem, but that’s not what I was after.To fix this, I changed from document.write to using extra SPANs for each block of UI elements, and setting innerHTML.  Despite the fact that saving the file includes a static copy of the HTML, the dynamic code simply overwrites it each time the page is loaded.  So if you change a Javascript variable and reload, the dynamic code blows away the static HTML and replaces it with a correct version.Do you like it?  Feel free to copy it.  Click the permalink.  Then right-click the calculator, and select “Save as html”.Ideas or suggestions?  Please feel free to leave me a comment.;

Network & Infrastructure

DNS & Hosting
IP Address
69.163.179.230
Reverse DNS
apache2-bongo.pdx1-shared-a1-34.dreamhost.com
SSL/TLS Certificate
Issuer
CN=R12, O=Let's Encrypt, C=US
Protocol Tls13
Expires In 76 days

Technology Stack

Content Management Systems
WordPress
Server Technologies
Generator: WordPress 6.9 PHP (inferred from WordPress)

Services & Integrations

Analytics & Tracking
Google Analytics GA4
E-commerce Platforms
PrestaShop

CDN & Media Providers

Dynamic Analysis & Security

Dynamic JavaScript Analysis
ES6+ JavaScript Features Web Server: Apache
Server Headers
Apache

Resource Analysis

External Resource Hosts
gmpg.org
justinparrtech.com
UI Frameworks & Libraries
Angular Material (Class Names) Vuetify (Class Names)
Analysis Complete

Analyzed justinparrtech.com with 2 technologies detected across 4 categories

Analysis completed in 1321 ms • 2026-03-23 10:59:55 UTC