{"title":"Blacklight Inspection","page_title":"Blog — Andrew Healey","uri_ins":"http://healeycodes.com/","uri_dest":"https://healeycodes.com/","uri_redirects":["http://healeycodes.com/"],"secure_connection":{},"host":"healeycodes.com","config":{"emulateDevice":{"name":"iPhone 12 Pro","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1","viewport":{"width":390,"height":844,"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"isLandscape":false}},"cleareCache":true,"captureHar":true,"captureLinks":false,"enableAdBlock":false,"saveBrowserProfile":false,"numPages":2,"defaultTimeout":35000,"defaultWaitUntil":"networkidle2","headless":true,"headers":{},"extraChromiumArgs":["--disable-features=TrackingProtection3pcd","--website-analysis-scan=ca5f9ed1-fbe2-40c9-b434-5e8856470637"],"extraPuppeteerOptions":{}},"browser":{"name":"Chromium","version":"Chrome/127.0.6533.88","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/127.0.0.0 Safari/537.36","platform":{"name":"Linux","version":"6.12.107+deb13-amd64"}},"script":{"host":"9c043e2829dd","version":{"npm":"3.11.0","commit":"dev"},"node_version":"v24.20.0"},"start_time":"2026-09-09T05:36:58.270Z","end_time":"2026-09-09T05:37:09.995Z","browsing_history":["https://healeycodes.com/","https://healeycodes.com/porting-boolrule-to-rust","https://healeycodes.com/compressing-cs2-demos"],"hosts":{"requests":{"first_party":["healeycodes.com"],"third_party":["fonts.gstatic.com","gc.zgo.at","vitals.vercel-insights.com","healeycodes.goatcounter.com"]}},"reports":{"behaviour_event_listeners":{"MOUSE":{"https://healeycodes.com/_next/static/chunks/main-8c08bb75136edd63.js":["click"]},"KEYBOARD":{"https://healeycodes.com/_next/static/chunks/main-8c08bb75136edd63.js":["keydown"]}},"canvas_fingerprinters":{"data_url":{},"fingerprinters":[],"styles":{},"texts":{}},"canvas_font_fingerprinters":{"canvas_font":{},"text_measure":{}},"cookies":[],"fb_pixel_events":[],"tiktok_pixel_events":[],"twitter_pixel_events":[],"google_analytics_events":[],"key_logging":{},"session_recorders":{},"third_party_trackers":[{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/compressing-cs2-demos","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/compressing-cs2-demos","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{"b":153,"p":"/compressing-cs2-demos","rnd":"vx8bl","s":390,"t":"Compressing CS2 Demos — Andrew Healey"}},"stack":[{"fileName":"https://healeycodes.com/compressing-cs2-demos","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://healeycodes.goatcounter.com/count?p=%2Fcompressing-cs2-demos&t=Compressing%20CS2%20Demos%20%E2%80%94%20Andrew%20Healey&s=390&b=153&rnd=vx8bl"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/compressing-cs2-demos","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/compressing-cs2-demos","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"||gc.zgo.at^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/compressing-cs2-demos","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://gc.zgo.at/count.js"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/porting-boolrule-to-rust","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/porting-boolrule-to-rust","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{"b":153,"p":"/porting-boolrule-to-rust","rnd":"6oawb","s":390,"t":"Porting Boolrule To Rust — Andrew Healey"}},"stack":[{"fileName":"https://healeycodes.com/porting-boolrule-to-rust","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://healeycodes.goatcounter.com/count?p=%2Fporting-boolrule-to-rust&t=Porting%20Boolrule%20To%20Rust%20%E2%80%94%20Andrew%20Healey&s=390&b=153&rnd=6oawb"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/porting-boolrule-to-rust","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/porting-boolrule-to-rust","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"||gc.zgo.at^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/porting-boolrule-to-rust","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://gc.zgo.at/count.js"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{"b":153,"p":"/","rnd":"bskou","s":390,"t":"Blog — Andrew Healey"}},"stack":[{"fileName":"https://healeycodes.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://healeycodes.goatcounter.com/count?p=%2F&t=Blog%20%E2%80%94%20Andrew%20Healey&s=390&b=153&rnd=bskou"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://vitals.vercel-insights.com/v1/vitals"},{"data":{"body":{},"filter":"||gc.zgo.at^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://healeycodes.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://gc.zgo.at/count.js"}]}}