{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "rolisz.ro",
        "display_name": "rolisz's blog",
        "primary_country_code": "RO",
        "category_name": "Personal"
    },
    "metrics": {
        "global_rank": 26643,
        "country_rank": 136,
        "category_rank": 109,
        "daily_pageviews_per_visitor": 3.92,
        "daily_time_on_site_seconds": 343,
        "bounce_rate": 31.38,
        "search_visits_percent": 38.01,
        "total_sites_linking_in": 2,
        "monthly_unique_visitors": 118,
        "recorded_at": "2026-04-12 17:57:57"
    },
    "audit": {
        "score": 88
    },
    "traffic_sources": {
        "direct_percent": 29.06,
        "search_percent": 34.74,
        "social_percent": 5.21,
        "referral_percent": 14.03,
        "email_percent": 7.29,
        "paid_percent": 9.67
    },
    "seo_profile": {
        "backlinks_total": 2,
        "referring_domains": 2,
        "dofollow_backlinks_percent": 100,
        "organic_keywords": 29,
        "indexed_pages": 28,
        "page_speed_score": 97,
        "mobile_friendliness_score": 81,
        "authority_score": 26,
        "spam_risk_score": 21
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 4,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [
            "No H1 heading was detected."
        ],
        "created_at": "2026-04-12 17:57:57"
    },
    "keywords": [
        {
            "keyword": "rolisz's blog",
            "position": 26,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:47:15",
            "is_estimated": true
        },
        {
            "keyword": "rolisz's blog personal",
            "position": 28,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:47:15",
            "is_estimated": true
        },
        {
            "keyword": "rolisz's blog reviews",
            "position": 30,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:47:15",
            "is_estimated": true
        },
        {
            "keyword": "rolisz",
            "position": 32,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:47:15",
            "is_estimated": true
        },
        {
            "keyword": "blog",
            "position": 34,
            "search_engine": "Estimated",
            "checked_at": "2026-04-17 16:47:15",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 14,
        "label": "Weak",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 17,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 8,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 2,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 2,
                "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": 94,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 34,
                "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": 26,
        "quality_score": 94,
        "reputation_score": 34,
        "safety_score": 100,
        "confidence_score": 100,
        "fraud_score": 0,
        "authority_signals": {
            "backlinks": 2,
            "referring_domains": 2,
            "organic_keywords": 29,
            "indexed_pages": 28,
            "monthly_visitors": 118,
            "global_rank": 26643,
            "engagement_score": 80,
            "crawl_quality_score": 100,
            "brand_completeness_score": 61,
            "link_diversity_score": 93,
            "technical_reliability_score": 90,
            "whois_score": 45,
            "whois_age_years": 0,
            "whois_stability_score": 100,
            "spam_penalty": 0
        },
        "whois_signals": {
            "age_years": 0,
            "days_to_expiry": null,
            "days_since_last_registry_update": null,
            "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": 0,
            "status_count": 0
        }
    },
    "authority_score": 26,
    "trust_score": 16,
    "domain_tags": {
        "primary_tag": "Uncertain",
        "primary_tag_score": 68,
        "primary_candidate": "Uncertain",
        "primary_candidate_score": 68,
        "tag_codes": "Uncertain,T",
        "tags": [
            {
                "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": "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": 64,
                "score": 64,
                "match_percent": 64,
                "threshold_band": "strong"
            }
        ],
        "tag_breakdown": [
            {
                "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": "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": 64,
                "score": 64,
                "match_percent": 64,
                "threshold_band": "strong"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: low trust score.",
                "message": "The current crawl does not show a meaningful caution match.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            },
            {
                "code": "Crypto",
                "label": "Crypto drainer risk",
                "tone": "toxic",
                "description": "Wallet-connect or seed-phrase theft patterns were detected.",
                "reason": "Wallet-connect or seed-phrase theft patterns were detected.",
                "message": "No meaningful crypto-drainer signals were detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "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": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 17,
        "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": "Uncertain (68% match) because the evidence is mixed or only partially corroborated, so the system avoided a harder automated verdict.",
        "external_intel": [],
        "external_decision": [],
        "signal_scores": [
            {
                "label": "Strongest tag heuristic",
                "value": "Uncertain · 68%",
                "tone": "unknown",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "17/100",
                "tone": "spam",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "26/100",
                "tone": "spam",
                "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": "92/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": "0/100",
                "tone": "good",
                "detail": "Lower is better. This reflects phishing, drainer, fake-support, fake-shop, and malware signals."
            },
            {
                "label": "Infrastructure risk",
                "value": "0/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": "—",
                        "tone": "unknown",
                        "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": "—",
                        "tone": "unknown",
                        "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": "2",
                        "tone": "unknown",
                        "detail": "Broader backlink evidence usually improves confidence."
                    },
                    {
                        "label": "Referring domains",
                        "value": "2",
                        "tone": "unknown",
                        "detail": "Unique linking domains are more useful than raw link volume."
                    },
                    {
                        "label": "Organic keywords",
                        "value": "29",
                        "tone": "unknown",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "28",
                        "tone": "caution",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "61/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 · 369 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "1,623",
                        "tone": "good",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "1 schema · meta · no H1",
                        "tone": "caution",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "25 internal · 2 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "97/100 · 81/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": [
            "Trust score is currently very low."
        ]
    },
    "traffic_confidence": 44,
    "whois": {
        "current": {
            "id": 22347,
            "domain": "rolisz.ro",
            "source_type": "whois_text",
            "rdap_url": "",
            "registrar_name": "",
            "registrar_handle": "",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "",
            "created_date": null,
            "updated_date": null,
            "expires_date": null,
            "nameservers_json": "[]",
            "status_json": "[]",
            "dnssec": "unknown",
            "privacy_protected": 0,
            "content_hash": "f7e17c57c5fdd24df1793ece6bff99716369356b90b29c4725ac3ba12a76b72c",
            "history_count": 1,
            "last_checked_at": "2026-04-12 17:57:57",
            "last_changed_at": "2026-03-18 20:23:54",
            "created_at": "2026-03-18 20:23:54",
            "updated_at": "2026-04-12 17:57:57"
        },
        "history": [
            {
                "id": 22779,
                "domain": "rolisz.ro",
                "source_type": "whois_text",
                "registrar_name": "",
                "registrar_handle": "",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "",
                "created_date": null,
                "updated_date": null,
                "expires_date": null,
                "nameservers_json": "[]",
                "status_json": "[]",
                "dnssec": "unknown",
                "privacy_protected": 0,
                "content_hash": "f7e17c57c5fdd24df1793ece6bff99716369356b90b29c4725ac3ba12a76b72c",
                "checked_at": "2026-03-18 20:23:54",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-18 20:23:54"
            }
        ],
        "signals": {
            "age_years": 0,
            "days_to_expiry": null,
            "days_since_last_registry_update": null,
            "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": 0,
            "status_count": 0
        }
    },
    "discovered_domain": {
        "id": 80324,
        "domain": "rolisz.ro",
        "first_seen_at": "2026-03-15 20:24:29",
        "last_crawled_at": "2026-04-12 17:57:57",
        "last_title": "rolisz's blog",
        "last_http_status": 200,
        "discovered_from_domain": "personalsit.es",
        "depth": 0,
        "backlinks_count": 2,
        "rating_cache": 24,
        "spam_score": 24,
        "risk_label": "good",
        "category_name": "Personal",
        "primary_country_code": "RO",
        "internal_links_count": 25,
        "external_links_count": 2,
        "social_profiles_count": 0,
        "content_word_count": 1623,
        "title_quality_score": 79,
        "has_meta_description": 1,
        "has_h1": 0,
        "language_code": "en",
        "response_time_ms": 369,
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 4,
        "quality_score": 92,
        "site_name": "rolisz's blog",
        "canonical_domain": "",
        "favicon_present": 0,
        "schema_org_count": 1,
        "noindex_detected": 0,
        "feed_links_count": 1,
        "https_working": 1,
        "estimated_authority_score": 25,
        "trust_score": 16,
        "nsfw_score": 0,
        "overall_rank_estimate": 3757946,
        "primary_tag": "D",
        "tag_codes": "D,Phish",
        "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": 0,
        "legitimacy_score": 49,
        "infrastructure_risk_score": 0,
        "score_confidence": 100,
        "tag_confidence": 72,
        "category_confidence": 30,
        "deep_crawl_pages": 50,
        "resolved_ip": "159.69.92.197",
        "category_candidates_json": "[{\"category\":\"Personal\",\"score\":28},{\"category\":\"Business\",\"score\":22},{\"category\":\"Health\",\"score\":22},{\"category\":\"Personal\",\"score\":22}]",
        "page_signals_json": "[{\"path\":\"/contact\",\"status\":200,\"title\":\"Contact\",\"word_count\":467,\"summary_text\":\"Contact Contact @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColor = accentCol\",\"classification_terms\":[\"contact\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":2,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":1,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":1},{\"path\":\"/about-me/\",\"status\":200,\"title\":\"About Me\",\"word_count\":602,\"summary_text\":\"About Me About Me @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColor = accentCo\",\"classification_terms\":[\"about-me\",\"about\",\"about me\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":1},{\"path\":\"/2026/to-ai-and-back-platonic-bliss/\",\"status\":200,\"title\":\"To AI and back - Platonic Bliss\",\"word_count\":1410,\"summary_text\":\"To AI and back - Platonic Bliss To AI and back - Platonic Bliss @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) {\",\"classification_terms\":[\"2026/to-ai-and-back-platonic-bliss\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\",\"twitter.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2026/to-ai-and-back-part-1/\",\"status\":200,\"title\":\"To AI and back - part 1\",\"word_count\":1292,\"summary_text\":\"To AI and back - part 1 To AI and back - part 1 @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentC\",\"classification_terms\":[\"2026/to-ai-and-back-part-1\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":1},{\"path\":\"/2026/til-pytz-can-return-ancient-timezone/\",\"status\":200,\"title\":\"TIL: pytz can return ancient timezone\",\"word_count\":731,\"summary_text\":\"TIL: pytz can return ancient timezone TIL: pytz can return ancient timezone @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length ==\",\"classification_terms\":[\"2026/til-pytz-can-return-ancient-timezone\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2025/a-wild-rolisz-reappears/\",\"status\":200,\"title\":\"A wild rolisz reappears\",\"word_count\":1102,\"summary_text\":\"A wild rolisz reappears A wild rolisz reappears @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentC\",\"classification_terms\":[\"2025/a-wild-rolisz-reappears\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2025/tia-cod-liver-with-boiled-egg/\",\"status\":200,\"title\":\"TIA: Cod liver with boiled egg\",\"word_count\":873,\"summary_text\":\"TIA: Cod liver with boiled egg TIA: Cod liver with boiled egg @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) {\",\"classification_terms\":[\"2025/tia-cod-liver-with-boiled-egg\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2024/til-caddy/\",\"status\":200,\"title\":\"TIL: Caddy\",\"word_count\":790,\"summary_text\":\"TIL: Caddy TIL: Caddy @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColor = accent\",\"classification_terms\":[\"2024/til-caddy\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2024/til-git-push-to-deploy/\",\"status\":200,\"title\":\"TIL: Git push to deploy\",\"word_count\":812,\"summary_text\":\"TIL: Git push to deploy TIL: Git push to deploy @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentC\",\"classification_terms\":[\"2024/til-git-push-to-deploy\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2024/blog-updates/\",\"status\":200,\"title\":\"Blog updates\",\"word_count\":930,\"summary_text\":\"Blog updates Blog updates @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColor = acce\",\"classification_terms\":[\"2024/blog-updates\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2024/wait-times-at-the-er/\",\"status\":200,\"title\":\"Wait times at the ER\",\"word_count\":1245,\"summary_text\":\"Wait times at the ER Wait times at the ER @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColo\",\"classification_terms\":[\"2024/wait-times-at-the-er\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2024/growing-roots/\",\"status\":200,\"title\":\"Growing roots\",\"word_count\":1168,\"summary_text\":\"Growing roots Growing roots @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColor = acc\",\"classification_terms\":[\"2024/growing-roots\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2024/keeping-track-of-podcasts/\",\"status\":200,\"title\":\"Keeping track of podcasts\",\"word_count\":1384,\"summary_text\":\"Keeping track of podcasts Keeping track of podcasts @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accen\",\"classification_terms\":[\"2024/keeping-track-of-podcasts\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2024/blogging-in-2024/\",\"status\":200,\"title\":\"Blogging in 2024\",\"word_count\":1068,\"summary_text\":\"Blogging in 2024 Blogging in 2024 @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColor =\",\"classification_terms\":[\"2024/blogging-in-2024\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2024/fastapi-server-stuck-on-windows/\",\"status\":200,\"title\":\"FastAPI server stuck on Windows\",\"word_count\":847,\"summary_text\":\"FastAPI server stuck on Windows FastAPI server stuck on Windows @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) {\",\"classification_terms\":[\"2024/fastapi-server-stuck-on-windows\",\"api\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2024/pushing-git-repos-between-random-machines/\",\"status\":200,\"title\":\"Pushing Git repos between random machines\",\"word_count\":867,\"summary_text\":\"Pushing Git repos between random machines Pushing Git repos between random machines @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.lengt\",\"classification_terms\":[\"2024/pushing-git-repos-between-random-machines\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2023/using-custom-ssh-keys-with-git/\",\"status\":200,\"title\":\"Using custom SSH keys with Git\",\"word_count\":731,\"summary_text\":\"Using custom SSH keys with Git Using custom SSH keys with Git @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) {\",\"classification_terms\":[\"2023/using-custom-ssh-keys-with-git\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2023/custom-titles-for-jupyter/\",\"status\":200,\"title\":\"Per folder custom titles for Jupyter notebooks\",\"word_count\":1078,\"summary_text\":\"Per folder custom titles for Jupyter notebooks Per folder custom titles for Jupyter notebooks @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.\",\"classification_terms\":[\"2023/custom-titles-for-jupyter\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2023/setting-up-systemd/\",\"status\":200,\"title\":\"Setting up systemd services\",\"word_count\":1091,\"summary_text\":\"Setting up systemd services Setting up systemd services @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { acc\",\"classification_terms\":[\"2023/setting-up-systemd\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2023/telegram-notifications-from-jupyter-notebooks/\",\"status\":200,\"title\":\"Telegram notifications from Jupyter Notebooks\",\"word_count\":1344,\"summary_text\":\"Telegram notifications from Jupyter Notebooks Telegram notifications from Jupyter Notebooks @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.l\",\"classification_terms\":[\"2023/telegram-notifications-from-jupyter-notebooks\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2023/tmux-socket/\",\"status\":200,\"title\":\"TIL: Recreating tmux socket\",\"word_count\":818,\"summary_text\":\"TIL: Recreating tmux socket TIL: Recreating tmux socket @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { acc\",\"classification_terms\":[\"2023/tmux-socket\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/2023/interview-about-deep-fakes/\",\"status\":200,\"title\":\"Interview about deep fakes\",\"word_count\":808,\"summary_text\":\"Interview about deep fakes Interview about deep fakes @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { acce\",\"classification_terms\":[\"2023/interview-about-deep-fakes\",\"about\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":1},{\"path\":\"/2023/making-a-loudness-monitor/\",\"status\":200,\"title\":\"Making a loudness monitor for online meetings\",\"word_count\":1405,\"summary_text\":\"Making a loudness monitor for online meetings Making a loudness monitor for online meetings @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.l\",\"classification_terms\":[\"2023/making-a-loudness-monitor\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":1},{\"path\":\"/2022/transcribing-podcasts-with-whisper/\",\"status\":200,\"title\":\"Learning in public: Transcribing podcasts with Whisper\",\"word_count\":840,\"summary_text\":\"Learning in public: Transcribing podcasts with Whisper Learning in public: Transcribing podcasts with Whisper @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (acce\",\"classification_terms\":[\"2022/transcribing-podcasts-with-whisper\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":1},{\"path\":\"/page/2/\",\"status\":200,\"title\":\"rolisz's blog (Page 2)\",\"word_count\":1665,\"summary_text\":\"rolisz's blog (Page 2) rolisz&#x27;s blog (Page 2) @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { acc\",\"classification_terms\":[\"page/2\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":3,\"depth\":1},{\"path\":\"/tag/personal/\",\"status\":200,\"title\":\"personal - rolisz's blog\",\"word_count\":1014,\"summary_text\":\"personal - rolisz's blog personal - rolisz&#x27;s blog @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { a\",\"classification_terms\":[\"tag/personal\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":3,\"depth\":2},{\"path\":\"/author/roland/\",\"status\":200,\"title\":\"Roland Szabo - rolisz's blog\",\"word_count\":992,\"summary_text\":\"Roland Szabo - rolisz's blog Roland Szabo - rolisz&#x27;s blog @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3)\",\"classification_terms\":[\"author/roland\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":3,\"depth\":2},{\"path\":\"/2013/receiptbudget/\",\"status\":200,\"title\":\"ReceiptBudget\",\"word_count\":1150,\"summary_text\":\"ReceiptBudget ReceiptBudget @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColor = acc\",\"classification_terms\":[\"2013/receiptbudget\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":2},{\"path\":\"/tag/food/\",\"status\":200,\"title\":\"food - rolisz's blog\",\"word_count\":681,\"summary_text\":\"food - rolisz's blog food - rolisz&#x27;s blog @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accen\",\"classification_terms\":[\"tag/food\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/tag/til/\",\"status\":200,\"title\":\"til - rolisz's blog\",\"word_count\":741,\"summary_text\":\"til - rolisz's blog til - rolisz&#x27;s blog @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accent\",\"classification_terms\":[\"tag/til\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/tag/git/\",\"status\":200,\"title\":\"git - rolisz's blog\",\"word_count\":691,\"summary_text\":\"git - rolisz's blog git - rolisz&#x27;s blog @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accent\",\"classification_terms\":[\"tag/git\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/tag/blog/\",\"status\":200,\"title\":\"blog - rolisz's blog\",\"word_count\":1032,\"summary_text\":\"blog - rolisz's blog blog - rolisz&#x27;s blog @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accen\",\"classification_terms\":[\"tag/blog\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2020/moving-to-ghost/\",\"status\":200,\"title\":\"Moving to Ghost\",\"word_count\":1108,\"summary_text\":\"Moving to Ghost Moving to Ghost @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColor = a\",\"classification_terms\":[\"2020/moving-to-ghost\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":2},{\"path\":\"/2020/blogs-are-best-served-static/\",\"status\":200,\"title\":\"Blogs are best served static\",\"word_count\":1509,\"summary_text\":\"Blogs are best served static Blogs are best served static @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { ac\",\"classification_terms\":[\"2020/blogs-are-best-served-static\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":2},{\"path\":\"/2018/11/05/epistaxis/\",\"status\":200,\"title\":\"Epistaxis\",\"word_count\":1138,\"summary_text\":\"Epistaxis Epistaxis @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColor = accentC\",\"classification_terms\":[\"2018/11/05/epistaxis\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":2},{\"path\":\"/tag/programming/\",\"status\":200,\"title\":\"programming - rolisz's blog\",\"word_count\":1049,\"summary_text\":\"programming - rolisz's blog programming - rolisz&#x27;s blog @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3)\",\"classification_terms\":[\"tag/programming\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/tag/windows/\",\"status\":200,\"title\":\"windows - rolisz's blog\",\"word_count\":1012,\"summary_text\":\"windows - rolisz's blog windows - rolisz&#x27;s blog @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { ac\",\"classification_terms\":[\"tag/windows\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2018/08/12/setting-up-ssh-keys/\",\"status\":200,\"title\":\"Setting up SSH keys\",\"word_count\":943,\"summary_text\":\"Setting up SSH keys Setting up SSH keys @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColor\",\"classification_terms\":[\"2018/08/12/setting-up-ssh-keys\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":2},{\"path\":\"/2023/09/25/using-custom-ssh-keys-with-git/\",\"status\":200,\"title\":\"Using custom SSH keys with Git\",\"word_count\":731,\"summary_text\":\"Using custom SSH keys with Git Using custom SSH keys with Git @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) {\",\"classification_terms\":[\"2023/09/25/using-custom-ssh-keys-with-git\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":2},{\"path\":\"/tag/interview/\",\"status\":200,\"title\":\"interview - rolisz's blog\",\"word_count\":570,\"summary_text\":\"interview - rolisz's blog interview - rolisz&#x27;s blog @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) {\",\"classification_terms\":[\"tag/interview\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2020/02/07/interview-about-wfh/\",\"status\":200,\"title\":\"Interview about working from home\",\"word_count\":829,\"summary_text\":\"Interview about working from home Interview about working from home @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3)\",\"classification_terms\":[\"2020/02/07/interview-about-wfh\",\"about\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":2},{\"path\":\"/2022/03/15/on-the-usefulness-of-a-little-bit-of-programming/\",\"status\":200,\"title\":\"On the usefulness of a little bit of programming\",\"word_count\":1272,\"summary_text\":\"On the usefulness of a little bit of programming On the usefulness of a little bit of programming @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColo\",\"classification_terms\":[\"2022/03/15/on-the-usefulness-of-a-little-bit-of-programming\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":2},{\"path\":\"/tag/learning/\",\"status\":200,\"title\":\"learning - rolisz's blog\",\"word_count\":577,\"summary_text\":\"learning - rolisz's blog learning - rolisz&#x27;s blog @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { a\",\"classification_terms\":[\"tag/learning\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2021/11/16/learning-in-public-exploring-the-bt-ipay-api/\",\"status\":200,\"title\":\"Learning in Public: Exploring the BT iPay API\",\"word_count\":1001,\"summary_text\":\"Learning in Public: Exploring the BT iPay API Learning in Public: Exploring the BT iPay API @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.l\",\"classification_terms\":[\"2021/11/16/learning-in-public-exploring-the-bt-ipay-api\",\"api\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":2},{\"path\":\"/2022/traveling-again/\",\"status\":200,\"title\":\"Where's rolisz?\",\"word_count\":1285,\"summary_text\":\"Where's rolisz? Where&#x27;s rolisz? @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length === 3) { accentColo\",\"classification_terms\":[\"2022/traveling-again\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":2},{\"path\":\"/2022/horse-riding/\",\"status\":200,\"title\":\"Roland tries new things: Horse riding\",\"word_count\":1296,\"summary_text\":\"Roland tries new things: Horse riding Roland tries new things: Horse riding @font-face { font-family: \\\"Inter\\\"; font-style: normal; font-weight: 100 900; font-display: optional; src: url(/assets/fonts/inter-roman.woff2?v=4f6480c1f5) format(\\\"woff2\\\"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { --background-color: #ffffff } /* The script for calculating the color contrast has been taken from https://gomakethings.com/dynamically-changing-the-text-color-based-on-background-color-contrast-with-vanilla-js/ */ var accentColor = getComputedStyle(document.documentElement).getPropertyValue('--background-color'); accentColor = accentColor.trim().slice(1); if (accentColor.length ==\",\"classification_terms\":[\"2022/horse-riding\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"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\":[\"jsdelivr.net\",\"googletagmanager.com\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":2},{\"path\":\"/2022/to-change/\",\"status\":200,\"title\":\"To changes\",\"word_count\":1145,\"summary_text\":\"To changes To changes @font-face { font-family: \\\"Int",
        "score_reasons_json": "[\"Category confidence was reduced, so the classifier fell back to the broader parent category.\",\"Category evidence stayed thin, so the output was softened to a broader classification.\",\"Overall rating is now capped by evidence confidence to prevent inflated scores from thin signals.\"]",
        "route_domain": "rolisz.ro",
        "display_domain": "rolisz.ro"
    },
    "explainability": {
        "summary": "rolisz.ro currently scores 14/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": "44/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+32.0",
                "tone": "good",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 94/100."
            },
            {
                "label": "Reputation system",
                "points": "+11.6",
                "tone": "risk",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 34/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": "-62.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "26/100 · trust 16/100",
                "tone": "risk",
                "detail": "118 monthly visitors, 29 organic keywords, brand completeness 61/100, engagement 80/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "2 referring domains",
                "tone": "good",
                "detail": "2 backlinks across 2 referring domains. Diversity 93/100; spam penalty 0."
            },
            {
                "label": "Registry and domain stability",
                "value": "0.0 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 0.0 years."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 0/100",
                "tone": "good",
                "detail": "Primary tag Uncertain · safety 100/100 · fraud 0/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": [
            "Trust score is currently very low.",
            "Traffic and reach estimates are still low confidence, so commercial scale signals may move after more evidence is collected."
        ],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-04-12 17:57:57",
                "tone": "caution",
                "detail": "Crawl and page content sample. Age: 4d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-12 17:57:57",
                "tone": "caution",
                "detail": "Registry profile and stability signals. Age: 4d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-17 16:47:15",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-17 16:47:15",
                "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": 76,
        "fraud_clamp_penalty": 62,
        "final_score": 14
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-17T16:47:15+00:00",
        "domain": "rolisz.ro",
        "display_name": "rolisz's blog",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 14,
        "authority_score": 26,
        "trust_score": 16,
        "safety_score": 100,
        "fraud_score": 0,
        "confidence_score": 100,
        "traffic_confidence": 44,
        "last_crawled_at": "2026-04-12 17:57:57",
        "crawl_blocked": false,
        "summary": "rolisz.ro currently scores 14/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": "44/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": [
            "Trust score is currently very low.",
            "Traffic and reach estimates are still low confidence, so commercial scale signals may move after more evidence is collected."
        ],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-04-12 17:57:57",
                "tone": "caution",
                "detail": "Crawl and page content sample. Age: 4d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-12 17:57:57",
                "tone": "caution",
                "detail": "Registry profile and stability signals. Age: 4d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-17 16:47:15",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-17 16:47:15",
                "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": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown"
            },
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good"
            }
        ]
    },
    "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-17T20:58:58+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/rolisz.ro/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "rolisz.ro",
        "status": "idle",
        "submitted_at": null,
        "completed_at": null,
        "last_checked_at": null,
        "last_error": "",
        "submitted_url": "https://rolisz.ro/",
        "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
    }
}