{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "abmurrow.com",
        "display_name": "Recent Posts",
        "primary_country_code": "",
        "category_name": "Personal: Portfolios & CVs"
    },
    "metrics": {
        "global_rank": 23506,
        "country_rank": 12331,
        "category_rank": 33,
        "daily_pageviews_per_visitor": 3.8,
        "daily_time_on_site_seconds": 329,
        "bounce_rate": 33.22,
        "search_visits_percent": 38.03,
        "total_sites_linking_in": 1,
        "monthly_unique_visitors": 119,
        "recorded_at": "2026-03-18 23:32:48"
    },
    "audit": {
        "score": 78
    },
    "traffic_sources": {
        "direct_percent": 28.55,
        "search_percent": 33.6,
        "social_percent": 8.9,
        "referral_percent": 12.84,
        "email_percent": 6.92,
        "paid_percent": 9.19
    },
    "seo_profile": {
        "backlinks_total": 1,
        "referring_domains": 1,
        "dofollow_backlinks_percent": 100,
        "organic_keywords": 68,
        "indexed_pages": 41,
        "page_speed_score": 92,
        "mobile_friendliness_score": 77,
        "authority_score": 44,
        "spam_risk_score": 15
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 404,
        "sitemap_total_urls": 0,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [
            "Meta description is missing.",
            "Sitemap could not be confirmed."
        ],
        "created_at": "2026-03-18 23:32:48"
    },
    "keywords": [
        {
            "keyword": "Recent Posts",
            "position": 20,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:37:29",
            "is_estimated": true
        },
        {
            "keyword": "Recent Posts personal: portfolios & cvs",
            "position": 22,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:37:29",
            "is_estimated": true
        },
        {
            "keyword": "Recent Posts reviews",
            "position": 24,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:37:29",
            "is_estimated": true
        },
        {
            "keyword": "recent",
            "position": 26,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:37:29",
            "is_estimated": true
        },
        {
            "keyword": "posts",
            "position": 28,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:37:29",
            "is_estimated": true
        },
        {
            "keyword": "abmurrow",
            "position": 30,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:37:29",
            "is_estimated": true
        },
        {
            "keyword": "andrew",
            "position": 32,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:37:29",
            "is_estimated": true
        },
        {
            "keyword": "benbow",
            "position": 34,
            "search_engine": "Estimated",
            "checked_at": "2026-04-19 10:37:29",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 64,
        "label": "Healthy",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 13,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 13,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 3,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 3,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 9,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 4,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 3,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 72,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 43,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 100,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 50,
                "max": 100
            }
        ],
        "authority_score": 44,
        "quality_score": 72,
        "reputation_score": 43,
        "safety_score": 100,
        "confidence_score": 100,
        "fraud_score": 2,
        "authority_signals": {
            "backlinks": 1,
            "referring_domains": 1,
            "organic_keywords": 68,
            "indexed_pages": 41,
            "monthly_visitors": 119,
            "global_rank": 23506,
            "engagement_score": 79,
            "crawl_quality_score": 94,
            "brand_completeness_score": 59,
            "link_diversity_score": 92,
            "technical_reliability_score": 82,
            "whois_score": 54,
            "whois_age_years": 1.6,
            "whois_stability_score": 100,
            "spam_penalty": 0
        },
        "whois_signals": {
            "age_years": 1.6,
            "days_to_expiry": 138,
            "days_since_last_registry_update": 74,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 1
        }
    },
    "authority_score": 44,
    "trust_score": 68,
    "domain_tags": {
        "primary_tag": "T",
        "primary_tag_score": 79,
        "primary_candidate": "T",
        "primary_candidate_score": 79,
        "tag_codes": "T,Uncertain",
        "tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 79,
                "score": 79,
                "match_percent": 79,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed or only partially corroborated, so the system avoided a harder automated verdict.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 68,
                "score": 68,
                "match_percent": 68,
                "threshold_band": "strong"
            }
        ],
        "tag_breakdown": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 79,
                "score": 79,
                "match_percent": 79,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed or only partially corroborated, so the system avoided a harder automated verdict.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 68,
                "score": 68,
                "match_percent": 68,
                "threshold_band": "strong"
            },
            {
                "code": "Infra",
                "label": "Risky infrastructure",
                "tone": "caution",
                "description": "The hosting / registrar / nameserver neighbourhood looks unusually risky.",
                "reason": "The infrastructure neighbourhood looks riskier than normal.",
                "message": "Infrastructure risk does not currently stand out.",
                "priority": 9,
                "score": 9,
                "match_percent": 9,
                "threshold_band": "none"
            },
            {
                "code": "D",
                "label": "Dangerous",
                "tone": "toxic",
                "description": "Strong signs of phishing, malware, or other harmful behaviour were detected.",
                "reason": "Multiple high-risk signals pushed this domain into the dangerous range.",
                "message": "No meaningful dangerous-signal match was detected.",
                "priority": 1,
                "score": 1,
                "match_percent": 1,
                "threshold_band": "none"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: mixed trust signals.",
                "message": "The current crawl does not show a meaningful caution match.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 69,
        "manual": {
            "has_changes": false,
            "verified_status": "",
            "tag_codes": "",
            "rating_delta": 0,
            "authority_delta": 0,
            "trust_delta": 0,
            "note": "",
            "adjusted_by": 0,
            "adjusted_at": "",
            "lock_scores": false,
            "lock_flags": false
        },
        "summary": "Trusted (79% match) because low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
        "external_intel": [],
        "external_decision": [],
        "signal_scores": [
            {
                "label": "Strongest tag heuristic",
                "value": "T · 79%",
                "tone": "good",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "69/100",
                "tone": "caution",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "44/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "0/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "80/100",
                "tone": "good",
                "detail": "Based on crawl quality, content completeness, and technical evidence."
            },
            {
                "label": "Safety score",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher is safer. Direct fraud signals can heavily cap this even when SEO signals look strong."
            },
            {
                "label": "Fraud score",
                "value": "2/100",
                "tone": "good",
                "detail": "Lower is better. This reflects phishing, drainer, fake-support, fake-shop, and malware signals."
            },
            {
                "label": "Infrastructure risk",
                "value": "9/100",
                "tone": "good",
                "detail": "Lower is better. This reflects the IP, registrar, and nameserver neighbourhood seen by the crawler."
            },
            {
                "label": "Evidence confidence",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher means the crawler had enough pages and registry evidence to make a stronger call."
            },
            {
                "label": "External evidence",
                "value": "Low",
                "tone": "unknown",
                "detail": "Quality of the structured search and review evidence cluster."
            },
            {
                "label": "External decision",
                "value": "Inconclusive",
                "tone": "unknown",
                "detail": "How third-party evidence compares with the current candidate tag."
            },
            {
                "label": "NSFW score",
                "value": "0/100",
                "tone": "good",
                "detail": "Context-aware adult-content detection with medical / educational false-positive reduction."
            },
            {
                "label": "Registry stability",
                "value": "100/100",
                "tone": "good",
                "detail": "Based on age, expiry runway, and the amount of ownership / registrar churn."
            }
        ],
        "signal_sections": [
            {
                "title": "Registry & ownership",
                "items": [
                    {
                        "label": "Domain age",
                        "value": "1.6 years",
                        "tone": "caution",
                        "detail": "Older domains generally carry more historical trust than very new ones."
                    },
                    {
                        "label": "Stability score",
                        "value": "100/100",
                        "tone": "good",
                        "detail": "Penalised by registrar, ownership, and nameserver churn."
                    },
                    {
                        "label": "Days to expiry",
                        "value": "138",
                        "tone": "good",
                        "detail": "Very short renewal windows can be a weak trust signal."
                    },
                    {
                        "label": "Registrar / ownership changes",
                        "value": "0 / 0",
                        "tone": "good",
                        "detail": "Frequent ownership churn can weaken trust."
                    },
                    {
                        "label": "Nameserver changes",
                        "value": "0",
                        "tone": "good",
                        "detail": "Repeated infrastructure changes can indicate instability."
                    },
                    {
                        "label": "DNSSEC / privacy",
                        "value": "DNSSEC off · privacy off",
                        "tone": "caution",
                        "detail": "DNSSEC strengthens DNS trust; privacy is neutral on its own."
                    }
                ]
            },
            {
                "title": "Reputation & search evidence",
                "items": [
                    {
                        "label": "Backlinks",
                        "value": "1",
                        "tone": "unknown",
                        "detail": "Broader backlink evidence usually improves confidence."
                    },
                    {
                        "label": "Referring domains",
                        "value": "1",
                        "tone": "unknown",
                        "detail": "Unique linking domains are more useful than raw link volume."
                    },
                    {
                        "label": "Organic keywords",
                        "value": "68",
                        "tone": "caution",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "41",
                        "tone": "caution",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "59/100",
                        "tone": "good",
                        "detail": "Stronger brand signals reduce false positives for legitimate sites."
                    },
                    {
                        "label": "Risk label",
                        "value": "GOOD",
                        "tone": "unknown",
                        "detail": "This is the raw crawl / heuristic risk label feeding the tag model."
                    }
                ]
            },
            {
                "title": "Crawl, content & technicals",
                "items": [
                    {
                        "label": "HTTP status",
                        "value": "200",
                        "tone": "good",
                        "detail": "Healthy responses make classification more reliable."
                    },
                    {
                        "label": "HTTPS / speed",
                        "value": "HTTPS OK · 661 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "675",
                        "tone": "good",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "0 schema · no meta · H1",
                        "tone": "caution",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "53 internal · 7 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "92/100 · 77/100",
                        "tone": "good",
                        "detail": "Better technical quality generally reduces low-effort site patterns."
                    },
                    {
                        "label": "Crawl access",
                        "value": "Open",
                        "tone": "good",
                        "detail": "The crawler reached the site without an anti-bot challenge."
                    }
                ]
            },
            {
                "title": "External evidence & explainability",
                "items": [
                    {
                        "label": "Decision state",
                        "value": "Inconclusive",
                        "tone": "unknown",
                        "detail": "Structured third-party evidence is still too thin, mixed, or unqualified to force a harder verdict."
                    },
                    {
                        "label": "Evidence quality",
                        "value": "Low",
                        "tone": "unknown",
                        "detail": "Blends source trust, domain matching, evidence diversity, and freshness."
                    },
                    {
                        "label": "Support vs contradiction",
                        "value": "0 / 0",
                        "tone": "unknown",
                        "detail": "Compares how much structured external evidence supports the candidate tag against evidence that contradicts it."
                    },
                    {
                        "label": "Qualified risk sources",
                        "value": "No",
                        "tone": "good",
                        "detail": "Risk tags only promote from external evidence when source diversity or source trust thresholds are met."
                    },
                    {
                        "label": "Uncertainty buffer",
                        "value": "Clear",
                        "tone": "good",
                        "detail": "Prevents thin or mixed external evidence from forcing a stronger tag than the evidence can justify."
                    }
                ]
            }
        ],
        "positives": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness."
        ],
        "risks": []
    },
    "traffic_confidence": 48,
    "whois": {
        "current": {
            "id": 25417,
            "domain": "abmurrow.com",
            "source_type": "rdap",
            "rdap_url": "https://rdap.verisign.com/com/v1/domain/ABMURROW.COM",
            "registrar_name": "NameCheap, Inc.",
            "registrar_handle": "1068",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "abuse@namecheap.com",
            "created_date": "2024-09-05 06:28:33",
            "updated_date": "2026-02-03 14:20:46",
            "expires_date": "2026-09-05 06:28:33",
            "nameservers_json": "[\"dns1.namecheaphosting.com\",\"dns2.namecheaphosting.com\"]",
            "status_json": "[\"client transfer prohibited\"]",
            "dnssec": "unsigned",
            "privacy_protected": 0,
            "content_hash": "991c3c8573b2a914e5158f4ef20e903ad2a0633b7d9db1d2372e91a215b5da4a",
            "history_count": 1,
            "last_checked_at": "2026-03-18 23:32:41",
            "last_changed_at": "2026-03-18 23:32:41",
            "created_at": "2026-03-18 23:32:42",
            "updated_at": "2026-03-18 23:32:42"
        },
        "history": [
            {
                "id": 26001,
                "domain": "abmurrow.com",
                "source_type": "rdap",
                "registrar_name": "NameCheap, Inc.",
                "registrar_handle": "1068",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "abuse@namecheap.com",
                "created_date": "2024-09-05 06:28:33",
                "updated_date": "2026-02-03 14:20:46",
                "expires_date": "2026-09-05 06:28:33",
                "nameservers_json": "[\"dns1.namecheaphosting.com\",\"dns2.namecheaphosting.com\"]",
                "status_json": "[\"client transfer prohibited\"]",
                "dnssec": "unsigned",
                "privacy_protected": 0,
                "content_hash": "991c3c8573b2a914e5158f4ef20e903ad2a0633b7d9db1d2372e91a215b5da4a",
                "checked_at": "2026-03-18 23:32:41",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-18 23:32:41"
            }
        ],
        "signals": {
            "age_years": 1.6,
            "days_to_expiry": 138,
            "days_since_last_registry_update": 74,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 2,
            "status_count": 1
        }
    },
    "discovered_domain": {
        "id": 102925,
        "domain": "abmurrow.com",
        "first_seen_at": "2026-03-15 22:13:51",
        "last_crawled_at": "2026-03-18 23:32:48",
        "last_title": "Recent Posts | Andrew Benbow",
        "last_http_status": 200,
        "discovered_from_domain": "fediring.net",
        "depth": 0,
        "backlinks_count": 1,
        "rating_cache": 57,
        "spam_score": 24,
        "risk_label": "good",
        "category_name": "Personal: Portfolios & CVs",
        "primary_country_code": "",
        "internal_links_count": 53,
        "external_links_count": 7,
        "social_profiles_count": 2,
        "content_word_count": 675,
        "title_quality_score": 93,
        "has_meta_description": 0,
        "has_h1": 1,
        "language_code": "en",
        "response_time_ms": 661,
        "robots_status": 200,
        "sitemap_status": 404,
        "sitemap_total_urls": 0,
        "quality_score": 80,
        "site_name": "",
        "canonical_domain": "",
        "favicon_present": 1,
        "schema_org_count": 0,
        "noindex_detected": 0,
        "feed_links_count": 1,
        "https_working": 1,
        "estimated_authority_score": 34,
        "trust_score": 92,
        "nsfw_score": 0,
        "overall_rank_estimate": 11614,
        "primary_tag": "Uncertain",
        "tag_codes": "Uncertain",
        "manual_verified_status": "",
        "manual_tag_codes": "",
        "manual_rating_delta": 0,
        "manual_authority_delta": 0,
        "manual_trust_delta": 0,
        "manual_note": null,
        "manual_adjusted_by": null,
        "manual_adjusted_at": null,
        "manual_lock_scores": 0,
        "manual_lock_flags": 0,
        "crawl_blocked": 0,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": null,
        "safety_score": 100,
        "fraud_score": 2,
        "legitimacy_score": 48,
        "infrastructure_risk_score": 9,
        "score_confidence": 100,
        "tag_confidence": 72,
        "category_confidence": 88,
        "deep_crawl_pages": 50,
        "resolved_ip": "198.54.114.233",
        "category_candidates_json": "[{\"category\":\"Personal: Portfolios & CVs\",\"score\":88}]",
        "page_signals_json": "[{\"path\":\"/contact\",\"status\":200,\"title\":\"Contact | Andrew Benbow\",\"word_count\":54,\"summary_text\":\"Contact | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Contact | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Website feedback Your name Your email address Subject Message Leave this field blank RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentPath\\\":\\\"contact\\\",\\\"currentPathIsAdmin\\\":false,\\\"isFront\\\":false,\\\"currentLanguage\\\":\\\"en\\\"},\\\"pluralDelimiter\\\":\\\"\\\\u0003\\\",\\\"suppressDeprecationErrors\\\":true,\\\"ajaxTrustedUrl\\\":{\\\"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM\\\":true,\\\"\\\\/search\\\\/node\\\":true},\\\"user\\\":{\\\"uid\\\":0,\\\"permissionsHash\\\":\\\"5467\",\"classification_terms\":[\"contact\",\"address\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":1,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/blog\",\"status\":200,\"title\":\"Blog | Andrew Benbow\",\"word_count\":701,\"summary_text\":\"Blog | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Blog | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Blog By abmurrow , 22 February 2026 Thoughts From The Impending Android Lock In Let me preface by saying I wish I didn't have to use any smartphones at all, let alone make choices about the kinds of software I'm allowed to put on them. Tags Blog Android Operating Systems Open Source Rant Advocacy By abmurrow , 18 September 2025 Using Drupal with NixOS I recently contributed to NixOS and nixpkgs to help bring Drupal, my favorite web platform, to NixOS, a stag\",\"classification_terms\":[\"blog\",\"about\",\"help\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/portfolio\",\"status\":200,\"title\":\"Portfolio | Andrew Benbow\",\"word_count\":488,\"summary_text\":\"Portfolio | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Portfolio | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Portfolio By abmurrow , 18 September 2025 Using Drupal with NixOS I recently contributed to NixOS and nixpkgs to help bring Drupal, my favorite web platform, to NixOS, a staggeringly complex, declarative, reproduceable Linux operating system. Here's what I learned along the way. Tags Drupal NixOS Operating Systems Open Source Nixpkgs Guide Contribution Blog Portfolio By abmurrow , 19 August 2023 Rich Results &amp; Structured Data During my work with Bit\",\"classification_terms\":[\"portfolio\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/extras\",\"status\":200,\"title\":\"Extras | Andrew Benbow\",\"word_count\":115,\"summary_text\":\"Extras | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Extras | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Extras Welcome to my digital junk drawer!There’s no point in orginzing anything in here into a blog post or an article, but they still needed a place to live. So, here we are. Feel free to poke around and learn what I’m up to.Uses: a list of hardware, software and tools I use almost every day both at work and professionally.Bookmarks: a curated collection of my favorite web tools, resources, and websites I enjoy. RSS feed ← Fediring → Powered by Drupal {\\\"p\",\"classification_terms\":[\"extras\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/blog/thoughts-impending-android-lock\",\"status\":200,\"title\":\"Thoughts From The Impending Android Lock In | Andrew Benbow\",\"word_count\":1546,\"summary_text\":\"Thoughts From The Impending Android Lock In | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Thoughts From The Impending Android Lock In | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Blog Thoughts From The Impending Android Lock In By abmurrow , 22 February 2026 Let me preface by saying I wish I didn't have to use any smartphones at all, let alone make choices about the kinds of software I'm allowed to put on them.But, since even silly things like parking, banking, boarding a flight, entering entertainment venues, paying street vendors, and negotiating practically every single touch point you can po\",\"classification_terms\":[\"blog/thoughts-impending-android-lock\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/android\",\"status\":200,\"title\":\"Android | Andrew Benbow\",\"word_count\":96,\"summary_text\":\"Android | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Android | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Android By abmurrow , 22 February 2026 Thoughts From The Impending Android Lock In Let me preface by saying I wish I didn't have to use any smartphones at all, let alone make choices about the kinds of software I'm allowed to put on them. Tags Blog Android Operating Systems Open Source Rant Advocacy Android RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentPath\\\":\\\"taxonomy\\\\/term\\\\/64\\\",\\\"currentPathIsAdmin\\\":false,\\\"isFront\",\"classification_terms\":[\"tag/android\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/operating-systems\",\"status\":200,\"title\":\"Operating Systems | Andrew Benbow\",\"word_count\":153,\"summary_text\":\"Operating Systems | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Operating Systems | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Operating Systems By abmurrow , 22 February 2026 Thoughts From The Impending Android Lock In Let me preface by saying I wish I didn't have to use any smartphones at all, let alone make choices about the kinds of software I'm allowed to put on them. Tags Blog Android Operating Systems Open Source Rant Advocacy By abmurrow , 18 September 2025 Using Drupal with NixOS I recently contributed to NixOS and nixpkgs to help bring Drupal, my favorite web\",\"classification_terms\":[\"tag/operating-systems\",\"about\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/open-source\",\"status\":200,\"title\":\"Open Source | Andrew Benbow\",\"word_count\":153,\"summary_text\":\"Open Source | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Open Source | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Open Source By abmurrow , 22 February 2026 Thoughts From The Impending Android Lock In Let me preface by saying I wish I didn't have to use any smartphones at all, let alone make choices about the kinds of software I'm allowed to put on them. Tags Blog Android Operating Systems Open Source Rant Advocacy By abmurrow , 18 September 2025 Using Drupal with NixOS I recently contributed to NixOS and nixpkgs to help bring Drupal, my favorite web platform, to\",\"classification_terms\":[\"tag/open-source\",\"about\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/rant\",\"status\":200,\"title\":\"Rant | Andrew Benbow\",\"word_count\":96,\"summary_text\":\"Rant | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Rant | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Rant By abmurrow , 22 February 2026 Thoughts From The Impending Android Lock In Let me preface by saying I wish I didn't have to use any smartphones at all, let alone make choices about the kinds of software I'm allowed to put on them. Tags Blog Android Operating Systems Open Source Rant Advocacy Rant RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentPath\\\":\\\"taxonomy\\\\/term\\\\/65\\\",\\\"currentPathIsAdmin\\\":false,\\\"isFront\\\":false,\\\"\",\"classification_terms\":[\"tag/rant\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/advocacy\",\"status\":200,\"title\":\"Advocacy | Andrew Benbow\",\"word_count\":96,\"summary_text\":\"Advocacy | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Advocacy | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Advocacy By abmurrow , 22 February 2026 Thoughts From The Impending Android Lock In Let me preface by saying I wish I didn't have to use any smartphones at all, let alone make choices about the kinds of software I'm allowed to put on them. Tags Blog Android Operating Systems Open Source Rant Advocacy Advocacy RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentPath\\\":\\\"taxonomy\\\\/term\\\\/66\\\",\\\"currentPathIsAdmin\\\":false,\\\"isFr\",\"classification_terms\":[\"tag/advocacy\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/blog/using-drupal-nixos\",\"status\":200,\"title\":\"Using Drupal with NixOS | Andrew Benbow\",\"word_count\":2044,\"summary_text\":\"Using Drupal with NixOS | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Using Drupal with NixOS | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Blog Using Drupal with NixOS By abmurrow , 18 September 2025 Installing CMS platforms from scratch has always been a bit of a chore. Take popular content management systems like WordPress and Drupal for example. Neither of them are able to work immediately after you download the code. You have to install and configure a webserver, a database, and the PHP interpreter with all of the correct plugins first.Sometimes it feels like you have to\",\"classification_terms\":[\"blog/using-drupal-nixos\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/drupal\",\"status\":200,\"title\":\"Drupal | Andrew Benbow\",\"word_count\":291,\"summary_text\":\"Drupal | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Drupal | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Drupal By abmurrow , 18 September 2025 Using Drupal with NixOS I recently contributed to NixOS and nixpkgs to help bring Drupal, my favorite web platform, to NixOS, a staggeringly complex, declarative, reproduceable Linux operating system. Here's what I learned along the way. Tags Drupal NixOS Operating Systems Open Source Nixpkgs Guide Contribution Blog Portfolio By abmurrow , 19 August 2023 Rich Results &amp; Structured Data During my work with Bitcookie\",\"classification_terms\":[\"tag/drupal\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/nixos\",\"status\":200,\"title\":\"NixOS | Andrew Benbow\",\"word_count\":97,\"summary_text\":\"NixOS | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } NixOS | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home NixOS By abmurrow , 18 September 2025 Using Drupal with NixOS I recently contributed to NixOS and nixpkgs to help bring Drupal, my favorite web platform, to NixOS, a staggeringly complex, declarative, reproduceable Linux operating system. Here's what I learned along the way. Tags Drupal NixOS Operating Systems Open Source Nixpkgs Guide Contribution Blog Portfolio NixOS RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentP\",\"classification_terms\":[\"tag/nixos\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/nixpkgs\",\"status\":200,\"title\":\"Nixpkgs | Andrew Benbow\",\"word_count\":97,\"summary_text\":\"Nixpkgs | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Nixpkgs | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Nixpkgs By abmurrow , 18 September 2025 Using Drupal with NixOS I recently contributed to NixOS and nixpkgs to help bring Drupal, my favorite web platform, to NixOS, a staggeringly complex, declarative, reproduceable Linux operating system. Here's what I learned along the way. Tags Drupal NixOS Operating Systems Open Source Nixpkgs Guide Contribution Blog Portfolio Nixpkgs RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"cu\",\"classification_terms\":[\"tag/nixpkgs\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/guide\",\"status\":200,\"title\":\"Guide | Andrew Benbow\",\"word_count\":97,\"summary_text\":\"Guide | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Guide | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Guide By abmurrow , 18 September 2025 Using Drupal with NixOS I recently contributed to NixOS and nixpkgs to help bring Drupal, my favorite web platform, to NixOS, a staggeringly complex, declarative, reproduceable Linux operating system. Here's what I learned along the way. Tags Drupal NixOS Operating Systems Open Source Nixpkgs Guide Contribution Blog Portfolio Guide RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentP\",\"classification_terms\":[\"tag/guide\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/contribution\",\"status\":200,\"title\":\"Contribution | Andrew Benbow\",\"word_count\":97,\"summary_text\":\"Contribution | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Contribution | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Contribution By abmurrow , 18 September 2025 Using Drupal with NixOS I recently contributed to NixOS and nixpkgs to help bring Drupal, my favorite web platform, to NixOS, a staggeringly complex, declarative, reproduceable Linux operating system. Here's what I learned along the way. Tags Drupal NixOS Operating Systems Open Source Nixpkgs Guide Contribution Blog Portfolio Contribution RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pat\",\"classification_terms\":[\"tag/contribution\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/blog/using-bottles-run-windows-based-electron-apps-linux\",\"status\":200,\"title\":\"Using Bottles to Run Windows-Based Electron Apps on Linux | Andrew Benbow\",\"word_count\":1088,\"summary_text\":\"Using Bottles to Run Windows-Based Electron Apps on Linux | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Using Bottles to Run Windows-Based Electron Apps on Linux | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Blog Using Bottles to Run Windows-Based Electron Apps on Linux By abmurrow , 24 August 2025 I recently got a hold of a piece of software that I had been eagerly awaiting the arrival of for some time. It came in the mail via USB flash drive and proudly advertised that it would only work on Windows and Mac OSX. Knowing a thing or two about computers, I (perhaps, over-) confidently ignored these instructions\",\"classification_terms\":[\"blog/using-bottles-run-windows-based-electron-apps-linux\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/linux\",\"status\":200,\"title\":\"Linux | Andrew Benbow\",\"word_count\":136,\"summary_text\":\"Linux | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Linux | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Linux By abmurrow , 24 August 2025 Using Bottles to Run Windows-Based Electron Apps on Linux I recently got a hold of a piece of software that I had been eagerly awaiting the arrival of for some time. It came in the mail via USB flash drive and proudly advertised that it would only work on Windows and Mac OSX. Knowing a thing or two about computers, I (perhaps, over-) confidently ignored these instructions and set out to make it work on Linux. Tags Linux So\",\"classification_terms\":[\"tag/linux\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/software\",\"status\":200,\"title\":\"Software | Andrew Benbow\",\"word_count\":185,\"summary_text\":\"Software | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Software | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Software By abmurrow , 24 August 2025 Using Bottles to Run Windows-Based Electron Apps on Linux I recently got a hold of a piece of software that I had been eagerly awaiting the arrival of for some time. It came in the mail via USB flash drive and proudly advertised that it would only work on Windows and Mac OSX. Knowing a thing or two about computers, I (perhaps, over-) confidently ignored these instructions and set out to make it work on Linux. Tags Li\",\"classification_terms\":[\"tag/software\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/developent\",\"status\":200,\"title\":\"Developent | Andrew Benbow\",\"word_count\":136,\"summary_text\":\"Developent | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Developent | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Developent By abmurrow , 24 August 2025 Using Bottles to Run Windows-Based Electron Apps on Linux I recently got a hold of a piece of software that I had been eagerly awaiting the arrival of for some time. It came in the mail via USB flash drive and proudly advertised that it would only work on Windows and Mac OSX. Knowing a thing or two about computers, I (perhaps, over-) confidently ignored these instructions and set out to make it work on Linux. Tag\",\"classification_terms\":[\"tag/developent\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/wine\",\"status\":200,\"title\":\"WINE | Andrew Benbow\",\"word_count\":136,\"summary_text\":\"WINE | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } WINE | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home WINE By abmurrow , 24 August 2025 Using Bottles to Run Windows-Based Electron Apps on Linux I recently got a hold of a piece of software that I had been eagerly awaiting the arrival of for some time. It came in the mail via USB flash drive and proudly advertised that it would only work on Windows and Mac OSX. Knowing a thing or two about computers, I (perhaps, over-) confidently ignored these instructions and set out to make it work on Linux. Tags Linux Soft\",\"classification_terms\":[\"tag/wine\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/emulation\",\"status\":200,\"title\":\"Emulation | Andrew Benbow\",\"word_count\":136,\"summary_text\":\"Emulation | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Emulation | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Emulation By abmurrow , 24 August 2025 Using Bottles to Run Windows-Based Electron Apps on Linux I recently got a hold of a piece of software that I had been eagerly awaiting the arrival of for some time. It came in the mail via USB flash drive and proudly advertised that it would only work on Windows and Mac OSX. Knowing a thing or two about computers, I (perhaps, over-) confidently ignored these instructions and set out to make it work on Linux. Tags\",\"classification_terms\":[\"tag/emulation\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/web-development\",\"status\":200,\"title\":\"Web Development | Andrew Benbow\",\"word_count\":596,\"summary_text\":\"Web Development | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Web Development | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Web Development By abmurrow , 24 August 2025 Using Bottles to Run Windows-Based Electron Apps on Linux I recently got a hold of a piece of software that I had been eagerly awaiting the arrival of for some time. It came in the mail via USB flash drive and proudly advertised that it would only work on Windows and Mac OSX. Knowing a thing or two about computers, I (perhaps, over-) confidently ignored these instructions and set out to make it work on\",\"classification_terms\":[\"tag/web-development\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/electron\",\"status\":200,\"title\":\"Electron | Andrew Benbow\",\"word_count\":136,\"summary_text\":\"Electron | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Electron | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Electron By abmurrow , 24 August 2025 Using Bottles to Run Windows-Based Electron Apps on Linux I recently got a hold of a piece of software that I had been eagerly awaiting the arrival of for some time. It came in the mail via USB flash drive and proudly advertised that it would only work on Windows and Mac OSX. Knowing a thing or two about computers, I (perhaps, over-) confidently ignored these instructions and set out to make it work on Linux. Tags Li\",\"classification_terms\":[\"tag/electron\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/solarpunk\",\"status\":200,\"title\":\"Solarpunk | Andrew Benbow\",\"word_count\":136,\"summary_text\":\"Solarpunk | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Solarpunk | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Solarpunk By abmurrow , 24 August 2025 Using Bottles to Run Windows-Based Electron Apps on Linux I recently got a hold of a piece of software that I had been eagerly awaiting the arrival of for some time. It came in the mail via USB flash drive and proudly advertised that it would only work on Windows and Mac OSX. Knowing a thing or two about computers, I (perhaps, over-) confidently ignored these instructions and set out to make it work on Linux. Tags\",\"classification_terms\":[\"tag/solarpunk\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/blog/lazy-loading-css-background-images\",\"status\":200,\"title\":\"Lazy Loading CSS Background Images | Andrew Benbow\",\"word_count\":759,\"summary_text\":\"Lazy Loading CSS Background Images | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Lazy Loading CSS Background Images | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Blog Lazy Loading CSS Background Images By abmurrow , 18 August 2025 I ran into a little issue lately where I was trying to optimize the performance of a website by making all of the images on the front page use lazy loading.For a traditional &lt;img /&gt; tag, this is pretty trivial. Just add the loading=\\\"lazy\\\" attribute onto the tag.However, the majority of the images I was working on were images that were loaded using the &nb\",\"classification_terms\":[\"blog/lazy-loading-css-background-images\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"codepenassets.com\",\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/javascript\",\"status\":200,\"title\":\"JavaScript | Andrew Benbow\",\"word_count\":109,\"summary_text\":\"JavaScript | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } JavaScript | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home JavaScript By abmurrow , 18 August 2025 Lazy Loading CSS Background Images It is easy enough to set loading to \\\"lazy\\\" for HTML image elements. This make the images load only when the user is about to see them. But how do you get similar performance gains for images that get loaded onto the page using CSS? Tags JavaScript CSS HTML Web Development Web Browsers Frontend Blog JavaScript RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathP\",\"classification_terms\":[\"tag/javascript\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/css\",\"status\":200,\"title\":\"CSS | Andrew Benbow\",\"word_count\":109,\"summary_text\":\"CSS | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } CSS | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home CSS By abmurrow , 18 August 2025 Lazy Loading CSS Background Images It is easy enough to set loading to \\\"lazy\\\" for HTML image elements. This make the images load only when the user is about to see them. But how do you get similar performance gains for images that get loaded onto the page using CSS? Tags JavaScript CSS HTML Web Development Web Browsers Frontend Blog CSS RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentPat\",\"classification_terms\":[\"tag/css\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/html\",\"status\":200,\"title\":\"HTML | Andrew Benbow\",\"word_count\":109,\"summary_text\":\"HTML | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } HTML | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home HTML By abmurrow , 18 August 2025 Lazy Loading CSS Background Images It is easy enough to set loading to \\\"lazy\\\" for HTML image elements. This make the images load only when the user is about to see them. But how do you get similar performance gains for images that get loaded onto the page using CSS? Tags JavaScript CSS HTML Web Development Web Browsers Frontend Blog HTML RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"current\",\"classification_terms\":[\"tag/html\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/web-browsers\",\"status\":200,\"title\":\"Web Browsers | Andrew Benbow\",\"word_count\":161,\"summary_text\":\"Web Browsers | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Web Browsers | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Web Browsers By abmurrow , 18 August 2025 Lazy Loading CSS Background Images It is easy enough to set loading to \\\"lazy\\\" for HTML image elements. This make the images load only when the user is about to see them. But how do you get similar performance gains for images that get loaded onto the page using CSS? Tags JavaScript CSS HTML Web Development Web Browsers Frontend Blog By abmurrow , 6 June 2025 Sensible Alternatives: Web Browsers \\\"Lost in the sa\",\"classification_terms\":[\"tag/web-browsers\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/frontend\",\"status\":200,\"title\":\"Frontend | Andrew Benbow\",\"word_count\":381,\"summary_text\":\"Frontend | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Frontend | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Frontend By abmurrow , 18 August 2025 Lazy Loading CSS Background Images It is easy enough to set loading to \\\"lazy\\\" for HTML image elements. This make the images load only when the user is about to see them. But how do you get similar performance gains for images that get loaded onto the page using CSS? Tags JavaScript CSS HTML Web Development Web Browsers Frontend Blog By abmurrow , 19 August 2023 Rich Results &amp; Structured Data During my work with B\",\"classification_terms\":[\"tag/frontend\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/blog/sensible-alternatives-browser-choices\",\"status\":200,\"title\":\"Sensible Alternatives: Web Browsers | Andrew Benbow\",\"word_count\":1150,\"summary_text\":\"Sensible Alternatives: Web Browsers | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Sensible Alternatives: Web Browsers | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Blog Sensible Alternatives: Web Browsers By abmurrow , 6 June 2025 Technology SucksI don't think that's a wild proclamation. I work in IT, and it's been an eye opening experience learning exactly how bad it is out there.So much modern software is bloated, leaks or steals your personal data under the guise of a lengthy \\\"Terms of Service\\\" that is totally inscrutable. It feels like every day more and more services are finding new\",\"classification_terms\":[\"blog/sensible-alternatives-browser-choices\",\"about\",\"terms\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/alternatives\",\"status\":200,\"title\":\"Alternatives | Andrew Benbow\",\"word_count\":92,\"summary_text\":\"Alternatives | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Alternatives | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Alternatives By abmurrow , 6 June 2025 Sensible Alternatives: Web Browsers \\\"Lost in the sauce\\\" is largely how I would describe my whole digital life. Instead of wallowing in the sweaty nerd energy of it all, what if I talked about it? Tags Software Alternatives Web Browsers About Me Blog Alternatives RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentPath\\\":\\\"taxonomy\\\\/term\\\\/21\\\",\\\"currentPathIsAdmin\\\":false,\\\"isFront\\\":\",\"classification_terms\":[\"tag/alternatives\",\"about\",\"about me\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/about\",\"status\":200,\"title\":\"About | Andrew Benbow\",\"word_count\":210,\"summary_text\":\"About | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } About | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home About By abmurrow , 6 June 2025 Sensible Alternatives: Web Browsers \\\"Lost in the sauce\\\" is largely how I would describe my whole digital life. Instead of wallowing in the sweaty nerd energy of it all, what if I talked about it? Tags Software Alternatives Web Browsers About Me Blog By abmurrow , 4 September 2024 GOTO START: An Introduction Where am I?First, welcome to this place, regardless of how you found it. Depending on where you are reading these words\",\"classification_terms\":[\"tag/about\",\"about\",\"about me\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/me\",\"status\":200,\"title\":\"Me | Andrew Benbow\",\"word_count\":210,\"summary_text\":\"Me | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Me | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Me By abmurrow , 6 June 2025 Sensible Alternatives: Web Browsers \\\"Lost in the sauce\\\" is largely how I would describe my whole digital life. Instead of wallowing in the sweaty nerd energy of it all, what if I talked about it? Tags Software Alternatives Web Browsers About Me Blog By abmurrow , 4 September 2024 GOTO START: An Introduction Where am I?First, welcome to this place, regardless of how you found it. Depending on where you are reading these words they m\",\"classification_terms\":[\"tag/me\",\"about\",\"about me\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/blog/family-reading-list-2024\",\"status\":200,\"title\":\"Books My Family Wishes They Could Re-Read For The First Time | Andrew Benbow\",\"word_count\":311,\"summary_text\":\"Books My Family Wishes They Could Re-Read For The First Time | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Books My Family Wishes They Could Re-Read For The First Time | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Blog Books My Family Wishes They Could Re-Read For The First Time By abmurrow , 3 December 2024 This Thanksgiving, my family was asked to bring a book (or a title of a book) that they wished they could read again for the first time so they could swap books with another person. I took notes on the suggestions and compiled them for personal interest, but I figured they would be worth sharing since there w\",\"classification_terms\":[\"blog/family-reading-list-2024\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/reading-lists\",\"status\":200,\"title\":\"Reading Lists | Andrew Benbow\",\"word_count\":104,\"summary_text\":\"Reading Lists | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Reading Lists | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Reading Lists By abmurrow , 3 December 2024 Books My Family Wishes They Could Re-Read For The First Time This Thanksgiving, my family was asked to bring a book (or a title of a book) that they wished they could read again for the first time so they could swap books with another person. Tags Reading Lists Books Family Blog Reading Lists RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentPath\\\":\\\"taxonomy\\\\/term\\\\/16\\\",\",\"classification_terms\":[\"tag/reading-lists\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/books\",\"status\":200,\"title\":\"Books | Andrew Benbow\",\"word_count\":101,\"summary_text\":\"Books | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Books | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Books By abmurrow , 3 December 2024 Books My Family Wishes They Could Re-Read For The First Time This Thanksgiving, my family was asked to bring a book (or a title of a book) that they wished they could read again for the first time so they could swap books with another person. Tags Reading Lists Books Family Blog Books RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentPath\\\":\\\"taxonomy\\\\/term\\\\/17\\\",\\\"currentPathIsAdmin\\\":fal\",\"classification_terms\":[\"tag/books\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/family\",\"status\":200,\"title\":\"Family | Andrew Benbow\",\"word_count\":101,\"summary_text\":\"Family | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Family | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Family By abmurrow , 3 December 2024 Books My Family Wishes They Could Re-Read For The First Time This Thanksgiving, my family was asked to bring a book (or a title of a book) that they wished they could read again for the first time so they could swap books with another person. Tags Reading Lists Books Family Blog Family RSS feed ← Fediring → Powered by Drupal {\\\"path\\\":{\\\"baseUrl\\\":\\\"\\\\/\\\",\\\"pathPrefix\\\":\\\"\\\",\\\"currentPath\\\":\\\"taxonomy\\\\/term\\\\/18\\\",\\\"currentPathIsAdmin\\\":\",\"classification_terms\":[\"tag/family\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/blog/cartes-noires-creative-writing-exercise\",\"status\":200,\"title\":\"Cartes Noires: A Creative Writing Exercise For Mystery and Detective Fiction | Andrew Benbow\",\"word_count\":1982,\"summary_text\":\"Cartes Noires: A Creative Writing Exercise For Mystery and Detective Fiction | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Cartes Noires: A Creative Writing Exercise For Mystery and Detective Fiction | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Blog Cartes Noires: A Creative Writing Exercise For Mystery and Detective Fiction By abmurrow , 28 September 2024 A couple of months ago, I wrote a Mastodon thread about one of my favorite creative writing exercises known as Cartes Noires or “Black Cards” in English. The response from writers on the Fediverse was really positive. However, I found trying to explain some of the finer detai\",\"classification_terms\":[\"blog/cartes-noires-creative-writing-exercise\",\"about\",\"help\",\"cart\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/oulipo\",\"status\":200,\"title\":\"Oulipo | Andrew Benbow\",\"word_count\":385,\"summary_text\":\"Oulipo | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Oulipo | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Oulipo By abmurrow , 28 September 2024 Cartes Noires: A Creative Writing Exercise For Mystery and Detective Fiction Cartes Noires is a creative writing exercise to help you craft the plot for a mystery novel in about 30 minutes using only a standard deck of playing cards and your imagination. With it, it is possible to make an elaborate, whodunnit story on the fly. Tags Oulipo Constrained Writing Writing Prompts Writing Exercise Mystery Novel Blog By abmur\",\"classification_terms\":[\"tag/oulipo\",\"about\",\"help\",\"cart\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/constrained-writing\",\"status\":200,\"title\":\"Constrained Writing | Andrew Benbow\",\"word_count\":388,\"summary_text\":\"Constrained Writing | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Constrained Writing | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Constrained Writing By abmurrow , 28 September 2024 Cartes Noires: A Creative Writing Exercise For Mystery and Detective Fiction Cartes Noires is a creative writing exercise to help you craft the plot for a mystery novel in about 30 minutes using only a standard deck of playing cards and your imagination. With it, it is possible to make an elaborate, whodunnit story on the fly. Tags Oulipo Constrained Writing Writing Prompts Writing Exercise M\",\"classification_terms\":[\"tag/constrained-writing\",\"about\",\"help\",\"cart\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/writing-prompts\",\"status\":200,\"title\":\"Writing Prompts | Andrew Benbow\",\"word_count\":388,\"summary_text\":\"Writing Prompts | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Writing Prompts | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Writing Prompts By abmurrow , 28 September 2024 Cartes Noires: A Creative Writing Exercise For Mystery and Detective Fiction Cartes Noires is a creative writing exercise to help you craft the plot for a mystery novel in about 30 minutes using only a standard deck of playing cards and your imagination. With it, it is possible to make an elaborate, whodunnit story on the fly. Tags Oulipo Constrained Writing Writing Prompts Writing Exercise Mystery N\",\"classification_terms\":[\"tag/writing-prompts\",\"about\",\"help\",\"cart\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/writing-exercise\",\"status\":200,\"title\":\"Writing Exercise | Andrew Benbow\",\"word_count\":120,\"summary_text\":\"Writing Exercise | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Writing Exercise | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Writing Exercise By abmurrow , 28 September 2024 Cartes Noires: A Creative Writing Exercise For Mystery and Detective Fiction Cartes Noires is a creative writing exercise to help you craft the plot for a mystery novel in about 30 minutes using only a standard deck of playing cards and your imagination. With it, it is possible to make an elaborate, whodunnit story on the fly. Tags Oulipo Constrained Writing Writing Prompts Writing Exercise Mystery\",\"classification_terms\":[\"tag/writing-exercise\",\"about\",\"help\",\"cart\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/mystery\",\"status\":200,\"title\":\"Mystery | Andrew Benbow\",\"word_count\":117,\"summary_text\":\"Mystery | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Mystery | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Mystery By abmurrow , 28 September 2024 Cartes Noires: A Creative Writing Exercise For Mystery and Detective Fiction Cartes Noires is a creative writing exercise to help you craft the plot for a mystery novel in about 30 minutes using only a standard deck of playing cards and your imagination. With it, it is possible to make an elaborate, whodunnit story on the fly. Tags Oulipo Constrained Writing Writing Prompts Writing Exercise Mystery Novel Blog Myster\",\"classification_terms\":[\"tag/mystery\",\"about\",\"help\",\"cart\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"addtoany.com\",\"keepandroidopen.org\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/tag/novel\",\"status\":200,\"title\":\"Novel | Andrew Benbow\",\"word_count\":117,\"summary_text\":\"Novel | Andrew Benbow window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};a2a_config.icon_color = \\\"#a30f0f\\\"; .a2a_svg { border-radius: 2px !important; } Novel | Andrew Benbow Skip to main content Andrew Benbow Menu Search Search Main navigation Home Blog Portfolio Extras Search Search Breadcrumb Home Novel By abmurrow , 28 September 2024 Cartes Noires: A Creative Writing Exercise For Mystery and Detective Fiction Cartes Noires is a creative writing exercise to help you craft the plot for a mystery novel in about 30 minutes using only a standard deck of playing cards and your imagination. With it, it is possible to make an elaborate, whodunnit story on the fly. Tags Oulipo Constrained Writing Writing Prompts Writing Exercise Mystery Novel Blog Novel RSS\",\"classification_terms\":[\"tag/novel\",\"about\",\"help\",\"cart\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\"",
        "score_reasons_json": "[]",
        "route_domain": "abmurrow.com",
        "display_domain": "abmurrow.com"
    },
    "explainability": {
        "summary": "abmurrow.com currently scores 64/100. The score is being shaped by a mixed signal profile rather than one dominant factor. Evidence confidence is strong enough for a relatively stable read. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "High confidence",
                "tone": "good",
                "detail": "100/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Moderate confidence",
                "tone": "caution",
                "detail": "48/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+24.5",
                "tone": "good",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 72/100."
            },
            {
                "label": "Reputation system",
                "points": "+14.6",
                "tone": "caution",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 43/100."
            },
            {
                "label": "Safety system",
                "points": "+32.0",
                "tone": "good",
                "detail": "Fraud, spam, and trust signals from infrastructure, crawl, and registry evidence. Current subsystem score: 100/100."
            },
            {
                "label": "Risk clamp",
                "points": "-7.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "44/100 · trust 68/100",
                "tone": "caution",
                "detail": "119 monthly visitors, 68 organic keywords, brand completeness 59/100, engagement 79/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "1 referring domains",
                "tone": "good",
                "detail": "1 backlinks across 1 referring domains. Diversity 92/100; spam penalty 0."
            },
            {
                "label": "Registry and domain stability",
                "value": "1.6 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 1.6 years · registrar NameCheap, Inc. · expires in 138 days."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 2/100",
                "tone": "good",
                "detail": "Primary tag T · safety 100/100 · fraud 2/100."
            }
        ],
        "positives": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "HTTPS is working, so the site clears a basic transport-security check.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "risks": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-18 23:32:48",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 1mo ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-18 23:32:41",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 1mo ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-19 10:37:29",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-19 10:37:29",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "section_notes": {
            "audience": "Audience geography is estimated from category, country, traffic mix, and brand signals until first-party audience data is collected.",
            "keywords": "Top keywords are estimated from crawl language, brand, category, and visibility signals until tracked keyword snapshots are stored.",
            "history": "Rank history is estimated from the current profile because no stored history exists for this domain yet."
        },
        "base_weighted_score": 71,
        "fraud_clamp_penalty": 7,
        "final_score": 64
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-19T10:37:29+00:00",
        "domain": "abmurrow.com",
        "display_name": "Recent Posts",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 64,
        "authority_score": 44,
        "trust_score": 68,
        "safety_score": 100,
        "fraud_score": 2,
        "confidence_score": 100,
        "traffic_confidence": 48,
        "last_crawled_at": "2026-03-18 23:32:48",
        "crawl_blocked": false,
        "summary": "abmurrow.com currently scores 64/100. The score is being shaped by a mixed signal profile rather than one dominant factor. Evidence confidence is strong enough for a relatively stable read. This is an estimated profile rather than a manually tracked one. Crawler access looks clean.",
        "badges": [
            {
                "label": "Profile",
                "value": "Estimated profile",
                "tone": "unknown",
                "detail": null
            },
            {
                "label": "Evidence confidence",
                "value": "High confidence",
                "tone": "good",
                "detail": "100/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Moderate confidence",
                "tone": "caution",
                "detail": "48/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "HTTPS is working, so the site clears a basic transport-security check.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "top_risk_signals": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-18 23:32:48",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 1mo ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-18 23:32:41",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 1mo ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-19 10:37:29",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-19 10:37:29",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "top_tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown"
            }
        ]
    },
    "is_tracked": false,
    "is_estimated": true,
    "live_state": {
        "status": "processing",
        "status_label": "Cache build running",
        "message": "The refreshed page cache is still being built for this domain.",
        "updated_at": "2026-04-19T14:40:55+00:00"
    },
    "refresh_state": {
        "canRequest": false,
        "queued": true,
        "processing": true,
        "stageKey": "cache-queued",
        "stageLabel": "Cache build running",
        "cooldownUntil": null,
        "message": "The refreshed page cache is still being built for this domain.",
        "action": "/domain/abmurrow.com/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "abmurrow.com",
        "status": "idle",
        "submitted_at": null,
        "completed_at": null,
        "last_checked_at": null,
        "last_error": "",
        "submitted_url": "https://abmurrow.com/",
        "uuid": "",
        "result_url": "",
        "api_result_url": "",
        "visibility": "public",
        "summary": "No urlscan.io report has been requested for this domain yet.",
        "report": [],
        "report_summary": [],
        "is_fresh": false,
        "can_retry": true,
        "poll_after_seconds": 20
    }
}