Skip to content
View MarkHawk's full-sized avatar

Block or report MarkHawk

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
MarkHawk/README.md

Mark Hawkings

I solve production problems: failing logins and SSO, integrations that misbehave, systems that need understanding quickly under pressure. My background is enterprise infrastructure across financial services, broadcasting and the public sector. My current work is identity and access management (SAML, OIDC, MFA, RADIUS, LDAP).

Most of that work is with customers. I get a quick picture of how their environment fits together, explain what is going wrong in terms that make sense to them, and stay with it until it is fixed.

Alongside support I've delivered project work. At BBC News I rolled out the OpenMedia newsroom platform to over 50 sites worldwide, and my PowerShell automation cut each site's build from a month to six hours. Through Computacenter I worked on migrations and upgrades for clients in finance, insurance and the public sector.

I build tools to reproduce problems, automate the repetitive parts of support, and put AI to practical use. During a certificate expiry that affected tens of thousands of customers, I wrote a prompt that turned each customer's setup and errors into remediation steps they could follow themselves. I use AI-assisted tooling (Claude Code) and experiment with local LLMs.

Featured

Start here: Walkthrough: one incident, every tool, a support ticket followed from the first message to the fix, through the lab and the tools below.

  • hemisphere: drives a Gakken WorldEye spherical display from a Raspberry Pi 3 or a Windows PC, with a calibrated lens model and a framework for new visuals
  • identity-lab: a Docker identity lab that reproduces SAML, OIDC, LDAP and RADIUS failures on demand, each with a support runbook and automated tests, and runs in GitHub Codespaces with no local setup
  • triage-assistant: reads a support ticket, finds the matching identity-lab runbook, and either names the likely cause with evidence checked against the ticket and logs or asks the questions that would confirm it, then drafts the customer reply. Runs on a local 14B model through Ollama, with every safety and wording rule enforced in code
  • token-inspector: an offline SAML and OIDC troubleshooting tool that explains in plain English what is wrong with a token or response, gives the likely cause and the next step, and is tested on real captures from identity-lab
  • auth-capture-explainer: explains RADIUS and LDAP login failures from a packet capture, offline, with a likely cause, the evidence and a first step
  • rate-limit-probe: diagnoses "429 Too Many Requests" tickets: finds the real limit, checks Retry-After and rate-limit headers, and says whether the fix belongs to the client or the API
  • identity-support-splunk: a Splunk app that answers "when did it start, who is affected, and what is the likely cause?" for identity failures, with runbook links, tested on real identity-lab data
  • psirt-watch: a dashboard that tracks Cisco security advisories through the public openVuln API

Pinned Loading

  1. hemisphere hemisphere Public

    Spherical display framework for the Gakken WorldEye: calibrated lens model, scenes and a web remote, in C with SDL2 and OpenGL ES 2.0 on a Raspberry Pi 3 or Windows

    C 1

  2. identity-lab identity-lab Public

    Docker identity lab: Keycloak, SAML, OIDC, LDAP and RADIUS, with break/fix scenarios, support runbooks and automated tests

    Shell

  3. token-inspector token-inspector Public

    Offline SAML and OIDC troubleshooting: decodes a response or token, checks signatures, dates and claims, and explains the likely cause in plain English

    Python

  4. identity-support-splunk identity-support-splunk Public

    Splunk app for identity support: when did it start, who is affected, and the likely cause, with runbook links. Tested on real identity-lab failures

    Python

  5. auth-capture-explainer auth-capture-explainer Public

    Explains RADIUS and LDAP authentication failures from a packet capture, offline

    Python

  6. rate-limit-probe rate-limit-probe Public

    Diagnoses HTTP 429 rate limiting: finds the limit, checks Retry-After and rate-limit headers, and explains the likely cause. Safe by design, with a bundled test server

    Python