{"title":"Blacklight Inspection","page_title":"Ruby Pigeon","uri_ins":"http://www.rubypigeon.com/","uri_dest":"https://www.rubypigeon.com/","uri_redirects":["http://www.rubypigeon.com/"],"secure_connection":{},"host":"www.rubypigeon.com","config":{"emulateDevice":{"name":"Pixel 5","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","viewport":{"width":393,"height":851,"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=613a7dff-d984-4125-ac10-54880967af31"],"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":"4.4.302+"}},"script":{"host":"f55531b6c604","version":{"npm":"3.11.0","commit":"dev"},"node_version":"v24.20.0"},"start_time":"2026-09-14T03:25:14.340Z","end_time":"2026-09-14T03:25:35.361Z","browsing_history":["https://www.rubypigeon.com/","https://www.rubypigeon.com/posts/avoid-mutation-functional-style-in-ruby/","https://www.rubypigeon.com/posts/private-is-for-humans/"],"hosts":{"requests":{"first_party":["www.rubypigeon.com"],"third_party":["fonts.googleapis.com","fonts.gstatic.com","www.google-analytics.com","www.googletagmanager.com","region1.google-analytics.com","ajax.googleapis.com"]}},"reports":{"behaviour_event_listeners":{},"canvas_fingerprinters":{"data_url":{},"fingerprinters":[],"styles":{},"texts":{}},"canvas_font_fingerprinters":{"canvas_font":{},"text_measure":{}},"cookies":[{"name":"_ga","value":"GA1.2.42997681.1789356331","domain":"rubypigeon.com","path":"/","expires":"2027-10-19T03:25:30.620Z","size":28,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"_gid","value":"GA1.2.1433774475.1789356331","domain":"rubypigeon.com","path":"/","expires":"2026-09-15T03:25:30.000Z","size":31,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"_gat","value":"1","domain":"rubypigeon.com","path":"/","expires":"2026-09-14T03:26:30.000Z","size":5,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"_ga_K46EQLJSHR","value":"GS2.2.s1789356331$o1$g0$t1789356331$j60$l0$h0","domain":"rubypigeon.com","path":"/","expires":"2027-10-19T03:25:31.097Z","size":59,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false}],"fb_pixel_events":[],"tiktok_pixel_events":[],"twitter_pixel_events":[],"google_analytics_events":[],"key_logging":{},"session_recorders":{},"third_party_trackers":[{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_ee":1,"_eu":"EBAI","_fv":1,"_p":1789356330675,"_s":1,"_ss":1,"are":1,"cid":42997681.17893563,"dl":"https://www.rubypigeon.com/posts/private-is-for-humans/","dma":1,"dma_cps":"a","dt":"Private Is For Humans","en":"page_view","frm":0,"gcd":"13l3l3l2l2l1","gtm":"45je6992v9125537104za20g","ir":1,"ngs":1,"npa":0,"pscdl":"","rcb":18,"sct":1,"seg":0,"sid":1789356331,"sr":"393x851","tag_exp":"115616986~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153","tfd":1232,"tid":"G-K46EQLJSHR","uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"ul":"en-us","v":2}},"stack":[{"fileName":"https://www.rubypigeon.com/posts/private-is-for-humans/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://region1.google-analytics.com/g/collect?v=2&tid=G-K46EQLJSHR&gtm=45je6992v9125537104za20g&_p=1789356330675&gcd=13l3l3l2l2l1&npa=0&dma_cps=a&dma=1&_eu=EBAI&are=1&cid=42997681.1789356331&frm=0&ir=1&ngs=1&pscdl=&rcb=18&sr=393x851&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115616986~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153&dl=https%3A%2F%2Fwww.rubypigeon.com%2Fposts%2Fprivate-is-for-humans%2F&dt=Private%20Is%20For%20Humans&sid=1789356331&sct=1&seg=0&en=page_view&_fv=1&_ss=1&_ee=1&tfd=1232"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"_slc":1,"cx":"c","id":"G-K46EQLJSHR"}},"stack":[{"fileName":"https://www.rubypigeon.com/posts/private-is-for-humans/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-K46EQLJSHR&cx=c&_slc=1"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_gid":1433774475.1789355,"_r":1,"_s":1,"_slc":1,"_u":"IEBAAEABAAAAACAAI~","_v":"j102","a":54816425,"cid":42997681.17893563,"dl":"https://www.rubypigeon.com/posts/private-is-for-humans/","dt":"Private Is For Humans","gjid":248012625,"jid":623364086,"sr":"393x851","t":"pageview","tid":"UA-2797451-9","ul":"en-us","v":1,"vp":"393x851","z":979073278}},"stack":[{"fileName":"https://www.rubypigeon.com/posts/private-is-for-humans/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/j/collect?v=1&_v=j102&a=54816425&t=pageview&_s=1&dl=https%3A%2F%2Fwww.rubypigeon.com%2Fposts%2Fprivate-is-for-humans%2F&ul=en-us&dt=Private%20Is%20For%20Humans&sr=393x851&vp=393x851&_u=IEBAAEABAAAAACAAI~&jid=623364086&gjid=248012625&cid=42997681.1789356331&tid=UA-2797451-9&_gid=1433774475.1789356331&_r=1&_slc=1&z=979073278"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.rubypigeon.com/posts/private-is-for-humans/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/analytics.js"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_ee":1,"_eu":"EBAI","_fv":1,"_p":1789356325424,"_s":1,"_ss":1,"are":1,"cid":1142268245.1789355,"dl":"https://www.rubypigeon.com/posts/avoid-mutation-functional-style-in-ruby/","dma":1,"dma_cps":"a","dt":"Avoid Mutation – Functional Style In Ruby","en":"page_view","frm":0,"gcd":"13l3l3l2l2l1","gtm":"45je6992v9125537104za20g","ir":1,"ngs":1,"npa":0,"pscdl":"","rcb":14,"sct":1,"seg":0,"sid":1789356325,"sr":"393x851","tag_exp":"115938466~115938468~118897920~118897930~120213116~120385423~120469145~120469153","tfd":929,"tid":"G-K46EQLJSHR","uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"ul":"en-us","v":2}},"stack":[{"fileName":"https://www.rubypigeon.com/posts/avoid-mutation-functional-style-in-ruby/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://region1.google-analytics.com/g/collect?v=2&tid=G-K46EQLJSHR&gtm=45je6992v9125537104za20g&_p=1789356325424&gcd=13l3l3l2l2l1&npa=0&dma_cps=a&dma=1&_eu=EBAI&are=1&cid=1142268245.1789356325&frm=0&ir=1&ngs=1&pscdl=&rcb=14&sr=393x851&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115938466~115938468~118897920~118897930~120213116~120385423~120469145~120469153&dl=https%3A%2F%2Fwww.rubypigeon.com%2Fposts%2Favoid-mutation-functional-style-in-ruby%2F&dt=Avoid%20Mutation%20%E2%80%93%20Functional%20Style%20In%20Ruby&sid=1789356325&sct=1&seg=0&en=page_view&_fv=1&_ss=1&_ee=1&tfd=929"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"_slc":1,"cx":"c","id":"G-K46EQLJSHR"}},"stack":[{"fileName":"https://www.rubypigeon.com/posts/avoid-mutation-functional-style-in-ruby/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-K46EQLJSHR&cx=c&_slc=1"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_gid":1033969861.1789356,"_r":1,"_s":1,"_slc":1,"_u":"IEBAAEABAAAAACAAI~","_v":"j102","a":1391964758,"cid":1142268245.1789355,"dl":"https://www.rubypigeon.com/posts/avoid-mutation-functional-style-in-ruby/","dt":"Avoid Mutation – Functional Style In Ruby","gjid":1164559138,"jid":112008390,"sr":"393x851","t":"pageview","tid":"UA-2797451-9","ul":"en-us","v":1,"vp":"393x851","z":2108475768}},"stack":[{"fileName":"https://www.rubypigeon.com/posts/avoid-mutation-functional-style-in-ruby/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/j/collect?v=1&_v=j102&a=1391964758&t=pageview&_s=1&dl=https%3A%2F%2Fwww.rubypigeon.com%2Fposts%2Favoid-mutation-functional-style-in-ruby%2F&ul=en-us&dt=Avoid%20Mutation%20%E2%80%93%20Functional%20Style%20In%20Ruby&sr=393x851&vp=393x851&_u=IEBAAEABAAAAACAAI~&jid=112008390&gjid=1164559138&cid=1142268245.1789356325&tid=UA-2797451-9&_gid=1033969861.1789356325&_r=1&_slc=1&z=2108475768"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.rubypigeon.com/posts/avoid-mutation-functional-style-in-ruby/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/analytics.js"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_ee":1,"_eu":"EBAI","_fv":1,"_p":1789356321424,"_s":1,"_ss":1,"are":1,"cid":640924924.1789356,"dl":"https://www.rubypigeon.com/","dma":1,"dma_cps":"a","dt":"Ruby Pigeon","en":"page_view","frm":0,"gcd":"13l3l3l2l2l1","gtm":"45je6992v9125537104za20gxf1","ir":1,"ngs":1,"npa":0,"pscdl":"","rcb":15,"sct":1,"seg":0,"sid":1789356321,"sr":"393x851","tag_exp":"115616986~115938466~115938468~118897920~118897930~120213116~120385423~120469145~120469153~120912439","tfd":1276,"tid":"G-K46EQLJSHR","uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"ul":"en-us","v":2}},"stack":[{"fileName":"https://www.rubypigeon.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://region1.google-analytics.com/g/collect?v=2&tid=G-K46EQLJSHR&gtm=45je6992v9125537104za20gxf1&_p=1789356321424&gcd=13l3l3l2l2l1&npa=0&dma_cps=a&dma=1&_eu=EBAI&are=1&cid=640924924.1789356321&frm=0&ir=1&ngs=1&pscdl=&rcb=15&sr=393x851&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115616986~115938466~115938468~118897920~118897930~120213116~120385423~120469145~120469153~120912439&dl=https%3A%2F%2Fwww.rubypigeon.com%2F&dt=Ruby%20Pigeon&sid=1789356321&sct=1&seg=0&en=page_view&_fv=1&_ss=1&_ee=1&tfd=1276"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"_slc":1,"cx":"c","id":"G-K46EQLJSHR"}},"stack":[{"fileName":"https://www.rubypigeon.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-K46EQLJSHR&cx=c&_slc=1"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_gid":1965466901.1789355,"_r":1,"_s":1,"_slc":1,"_u":"IEBAAEABAAAAACAAI~","_v":"j102","a":481141663,"cid":640924924.1789356,"dl":"https://www.rubypigeon.com/","dt":"Ruby Pigeon","gjid":213601106,"jid":955910059,"sr":"393x851","t":"pageview","tid":"UA-2797451-9","ul":"en-us","v":1,"vp":"393x851","z":991250640}},"stack":[{"fileName":"https://www.rubypigeon.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/j/collect?v=1&_v=j102&a=481141663&t=pageview&_s=1&dl=https%3A%2F%2Fwww.rubypigeon.com%2F&ul=en-us&dt=Ruby%20Pigeon&sr=393x851&vp=393x851&_u=IEBAAEABAAAAACAAI~&jid=955910059&gjid=213601106&cid=640924924.1789356321&tid=UA-2797451-9&_gid=1965466901.1789356321&_r=1&_slc=1&z=991250640"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.rubypigeon.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google-analytics.com/analytics.js"}]}}