{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "eugene-andrienko.com",
        "display_name": "Dragon’s notes",
        "primary_country_code": "",
        "category_name": "Art & Design"
    },
    "metrics": {
        "global_rank": 4227,
        "country_rank": 2170,
        "category_rank": 1,
        "daily_pageviews_per_visitor": 4.11,
        "daily_time_on_site_seconds": 329,
        "bounce_rate": 30.44,
        "search_visits_percent": 41.11,
        "total_sites_linking_in": 4,
        "monthly_unique_visitors": 225,
        "recorded_at": "2026-03-31 04:00:29"
    },
    "audit": {
        "score": 99
    },
    "traffic_sources": {
        "direct_percent": 28.56,
        "search_percent": 36.14,
        "social_percent": 6.61,
        "referral_percent": 13.31,
        "email_percent": 6.61,
        "paid_percent": 8.77
    },
    "seo_profile": {
        "backlinks_total": 4,
        "referring_domains": 4,
        "dofollow_backlinks_percent": 75,
        "organic_keywords": 86,
        "indexed_pages": 109,
        "page_speed_score": 100,
        "mobile_friendliness_score": 95,
        "authority_score": 48,
        "spam_risk_score": 34
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 109,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [],
        "created_at": "2026-03-31 04:00:29"
    },
    "keywords": [
        {
            "keyword": "Dragon’s notes",
            "position": 18,
            "search_engine": "Estimated",
            "checked_at": "2026-05-01 10:00:13",
            "is_estimated": true
        },
        {
            "keyword": "Dragon’s notes art & design",
            "position": 20,
            "search_engine": "Estimated",
            "checked_at": "2026-05-01 10:00:13",
            "is_estimated": true
        },
        {
            "keyword": "Dragon’s notes reviews",
            "position": 22,
            "search_engine": "Estimated",
            "checked_at": "2026-05-01 10:00:13",
            "is_estimated": true
        },
        {
            "keyword": "dragon",
            "position": 24,
            "search_engine": "Estimated",
            "checked_at": "2026-05-01 10:00:13",
            "is_estimated": true
        },
        {
            "keyword": "notes",
            "position": 26,
            "search_engine": "Estimated",
            "checked_at": "2026-05-01 10:00:13",
            "is_estimated": true
        },
        {
            "keyword": "eugene",
            "position": 28,
            "search_engine": "Estimated",
            "checked_at": "2026-05-01 10:00:13",
            "is_estimated": true
        },
        {
            "keyword": "andrienko",
            "position": 30,
            "search_engine": "Estimated",
            "checked_at": "2026-05-01 10:00:13",
            "is_estimated": true
        },
        {
            "keyword": "posts",
            "position": 32,
            "search_engine": "Estimated",
            "checked_at": "2026-05-01 10:00:13",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 64,
        "label": "Healthy",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 18,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 15,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 5,
                "max": 18
            },
            {
                "label": "Search visibility",
                "score": 4,
                "max": 12
            },
            {
                "label": "Engagement & retention",
                "score": 9,
                "max": 10
            },
            {
                "label": "Channels & diversification",
                "score": 4,
                "max": 6
            },
            {
                "label": "Registry stability",
                "score": 6,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 52,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 98,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 50,
                "max": 100
            }
        ],
        "authority_score": 50,
        "quality_score": 100,
        "reputation_score": 52,
        "safety_score": 100,
        "confidence_score": 98,
        "fraud_score": 0,
        "authority_signals": {
            "backlinks": 4,
            "referring_domains": 4,
            "organic_keywords": 86,
            "indexed_pages": 109,
            "monthly_visitors": 225,
            "global_rank": 4227,
            "engagement_score": 82,
            "crawl_quality_score": 100,
            "brand_completeness_score": 78,
            "link_diversity_score": 94,
            "technical_reliability_score": 99,
            "whois_score": 75,
            "whois_age_years": 10.2,
            "whois_stability_score": 100,
            "spam_penalty": 3
        },
        "whois_signals": {
            "age_years": 10.2,
            "days_to_expiry": 294,
            "days_since_last_registry_update": 88,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": true,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 4,
            "status_count": 2
        }
    },
    "authority_score": 50,
    "trust_score": 72,
    "domain_tags": {
        "primary_tag": "T",
        "primary_tag_score": 85,
        "primary_candidate": "T",
        "primary_candidate_score": 85,
        "tag_codes": "T",
        "tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 85,
                "score": 85,
                "match_percent": 85,
                "threshold_band": "strong"
            }
        ],
        "tag_breakdown": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 85,
                "score": 85,
                "match_percent": 85,
                "threshold_band": "strong"
            },
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "",
                "message": "The evidence does not currently look notably uncertain.",
                "priority": 18,
                "score": 18,
                "match_percent": 18,
                "threshold_band": "none"
            },
            {
                "code": "Infra",
                "label": "Risky infrastructure",
                "tone": "caution",
                "description": "The hosting / registrar / nameserver neighbourhood looks unusually risky.",
                "reason": "The infrastructure neighbourhood looks riskier than normal.",
                "message": "Infrastructure risk does not currently stand out.",
                "priority": 1,
                "score": 1,
                "match_percent": 1,
                "threshold_band": "none"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: mixed trust signals.",
                "message": "The current crawl does not show a meaningful caution match.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            },
            {
                "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"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 76,
        "manual": {
            "has_changes": false,
            "verified_status": "",
            "tag_codes": "",
            "rating_delta": 0,
            "authority_delta": 0,
            "trust_delta": 0,
            "note": "",
            "adjusted_by": 0,
            "adjusted_at": "",
            "lock_scores": false,
            "lock_flags": false
        },
        "summary": "Trusted (85% match) because low spam indicators plus strong trust, quality, registry, and stability signals were detected.",
        "external_intel": [],
        "external_decision": [],
        "signal_scores": [
            {
                "label": "Strongest tag heuristic",
                "value": "T · 85%",
                "tone": "good",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "76/100",
                "tone": "good",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "52/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "11/100",
                "tone": "good",
                "detail": "Lower is better. This blends spam indicators with false-positive protections for legitimate sites."
            },
            {
                "label": "Quality score",
                "value": "100/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": "1/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": "10.2 years",
                        "tone": "good",
                        "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": "294",
                        "tone": "good",
                        "detail": "Very short renewal windows can be a weak trust signal."
                    },
                    {
                        "label": "Registrar / ownership changes",
                        "value": "0 / 0",
                        "tone": "good",
                        "detail": "Frequent ownership churn can weaken trust."
                    },
                    {
                        "label": "Nameserver changes",
                        "value": "0",
                        "tone": "good",
                        "detail": "Repeated infrastructure changes can indicate instability."
                    },
                    {
                        "label": "DNSSEC / privacy",
                        "value": "DNSSEC on · privacy off",
                        "tone": "good",
                        "detail": "DNSSEC strengthens DNS trust; privacy is neutral on its own."
                    }
                ]
            },
            {
                "title": "Reputation & search evidence",
                "items": [
                    {
                        "label": "Backlinks",
                        "value": "4",
                        "tone": "unknown",
                        "detail": "Broader backlink evidence usually improves confidence."
                    },
                    {
                        "label": "Referring domains",
                        "value": "4",
                        "tone": "unknown",
                        "detail": "Unique linking domains are more useful than raw link volume."
                    },
                    {
                        "label": "Organic keywords",
                        "value": "86",
                        "tone": "caution",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "109",
                        "tone": "good",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "78/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 · 139 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "202",
                        "tone": "caution",
                        "detail": "Thin pages are harder to trust and easier to manipulate."
                    },
                    {
                        "label": "Schema / structure",
                        "value": "1 schema · meta · H1",
                        "tone": "caution",
                        "detail": "Structured markup and basic on-page hygiene improve quality confidence."
                    },
                    {
                        "label": "Links on page",
                        "value": "31 internal · 8 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "100/100 · 95/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": [
            "Established domain age: 10.2 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence.",
            "DNSSEC is enabled."
        ],
        "risks": []
    },
    "traffic_confidence": 71,
    "whois": {
        "current": {
            "id": 27132,
            "domain": "eugene-andrienko.com",
            "source_type": "rdap",
            "rdap_url": "https://rdap.verisign.com/com/v1/domain/EUGENE-ANDRIENKO.COM",
            "registrar_name": "Porkbun LLC",
            "registrar_handle": "1861",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "abuse@porkbun.com",
            "created_date": "2016-02-19 17:32:25",
            "updated_date": "2026-02-01 23:07:16",
            "expires_date": "2027-02-19 17:32:25",
            "nameservers_json": "[\"curitiba.ns.porkbun.com\",\"fortaleza.ns.porkbun.com\",\"maceio.ns.porkbun.com\",\"salvador.ns.porkbun.com\"]",
            "status_json": "[\"client delete prohibited\",\"client transfer prohibited\"]",
            "dnssec": "signed",
            "privacy_protected": 0,
            "content_hash": "e5e848a4b1dbf48bc5e6cf2c1be6748f0ecbd75724bae76b7ab076b22c954851",
            "history_count": 1,
            "last_checked_at": "2026-03-19 01:05:24",
            "last_changed_at": "2026-03-19 01:05:24",
            "created_at": "2026-03-19 01:05:25",
            "updated_at": "2026-03-19 01:05:25"
        },
        "history": [
            {
                "id": 27751,
                "domain": "eugene-andrienko.com",
                "source_type": "rdap",
                "registrar_name": "Porkbun LLC",
                "registrar_handle": "1861",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "abuse@porkbun.com",
                "created_date": "2016-02-19 17:32:25",
                "updated_date": "2026-02-01 23:07:16",
                "expires_date": "2027-02-19 17:32:25",
                "nameservers_json": "[\"curitiba.ns.porkbun.com\",\"fortaleza.ns.porkbun.com\",\"maceio.ns.porkbun.com\",\"salvador.ns.porkbun.com\"]",
                "status_json": "[\"client delete prohibited\",\"client transfer prohibited\"]",
                "dnssec": "signed",
                "privacy_protected": 0,
                "content_hash": "e5e848a4b1dbf48bc5e6cf2c1be6748f0ecbd75724bae76b7ab076b22c954851",
                "checked_at": "2026-03-19 01:05:24",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-19 01:05:24"
            }
        ],
        "signals": {
            "age_years": 10.2,
            "days_to_expiry": 294,
            "days_since_last_registry_update": 88,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": true,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 4,
            "status_count": 2
        }
    },
    "discovered_domain": {
        "id": 93305,
        "domain": "eugene-andrienko.com",
        "first_seen_at": "2026-03-15 21:29:58",
        "last_crawled_at": "2026-03-31 04:00:29",
        "last_title": "Dragon’s notes | Posts about IT, photography and bicycles.",
        "last_http_status": 200,
        "discovered_from_domain": "xaselgio.net",
        "depth": 0,
        "backlinks_count": 4,
        "rating_cache": 53,
        "spam_score": 24,
        "risk_label": "good",
        "category_name": "Art & Design",
        "primary_country_code": "",
        "internal_links_count": 31,
        "external_links_count": 8,
        "social_profiles_count": 1,
        "content_word_count": 202,
        "title_quality_score": 93,
        "has_meta_description": 1,
        "has_h1": 1,
        "language_code": "en",
        "response_time_ms": 139,
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 109,
        "quality_score": 100,
        "site_name": "Dragon’s notes",
        "canonical_domain": "",
        "favicon_present": 1,
        "schema_org_count": 1,
        "noindex_detected": 0,
        "feed_links_count": 1,
        "https_working": 1,
        "estimated_authority_score": 43,
        "trust_score": 76,
        "nsfw_score": 0,
        "overall_rank_estimate": 2104109,
        "primary_tag": "C",
        "tag_codes": "C,T,Uncertain",
        "manual_verified_status": "",
        "manual_tag_codes": "",
        "manual_rating_delta": 0,
        "manual_authority_delta": 0,
        "manual_trust_delta": 0,
        "manual_note": null,
        "manual_adjusted_by": null,
        "manual_adjusted_at": null,
        "manual_lock_scores": 0,
        "manual_lock_flags": 0,
        "crawl_blocked": 0,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": null,
        "safety_score": 100,
        "fraud_score": 0,
        "legitimacy_score": 59,
        "infrastructure_risk_score": 1,
        "score_confidence": 98,
        "tag_confidence": 72,
        "category_confidence": 47,
        "deep_crawl_pages": 50,
        "resolved_ip": "217.197.84.141",
        "category_candidates_json": "[{\"category\":\"Art & Design\",\"score\":44},{\"category\":\"Business\",\"score\":22},{\"category\":\"Personal\",\"score\":22},{\"category\":\"Social Media\",\"score\":22}]",
        "page_signals_json": "[{\"path\":\"/about\",\"status\":200,\"title\":\"About | Dragon’s notes\",\"word_count\":441,\"summary_text\":\"About | Dragon’s notes About | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"About\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/about.html\\\"} Dragon's notes NOW ABOUT LINKS RSS About My name is Eugene. Hello, and welcome to my blog! I would say that when the thought: \\\"Wow, I did something unique and incredible!\\\" — comes to my head — I can't wait to share it with the whole world!😊 In my blog you can find posts about my main hobbies: I love IT! You\",\"classification_terms\":[\"about\",\"blog\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/now.html\",\"status\":200,\"title\":\"Now | Dragon’s notes\",\"word_count\":112,\"summary_text\":\"Now | Dragon’s notes Now | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"Now\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/now.html\\\"} Dragon's notes NOW ABOUT LINKS RSS Now Updated: 2026-02-28 Here's what I do now: Hobbies Working on bringing back PDAs as Personal Digital Assistants with my Palm Tungsten E2 Contributing to OSM Enjoying photography Building personal fileserver for homelab Reading Yamamoto Tsunetomo: \\\"Hagakure Kikigaki\\\" (葉隠聞書) St\",\"classification_terms\":[\"now.html\",\"about\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/about.html\",\"status\":200,\"title\":\"About | Dragon’s notes\",\"word_count\":441,\"summary_text\":\"About | Dragon’s notes About | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"About\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/about.html\\\"} Dragon's notes NOW ABOUT LINKS RSS About My name is Eugene. Hello, and welcome to my blog! I would say that when the thought: \\\"Wow, I did something unique and incredible!\\\" — comes to my head — I can't wait to share it with the whole world!😊 In my blog you can find posts about my main hobbies: I love IT! You\",\"classification_terms\":[\"about.html\",\"about\",\"blog\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":1,\"depth\":1},{\"path\":\"/links.html\",\"status\":200,\"title\":\"Links | Dragon’s notes\",\"word_count\":1724,\"summary_text\":\"Links | Dragon’s notes Links | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"Links\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/links.html\\\"} Dragon's notes NOW ABOUT LINKS RSS Links Updated: 2026-03-24 TOC Blogs Cool articles About Web, Internet and enshittification Retrocomputing BSD LLMs and consequences X11/XLibre Unsorted Podcasts Quotes Blogs https://vas3k.blog/ — Вастрик. https://xaselgio.net/ — the blog of an an indigo dragoness. https://\",\"classification_terms\":[\"links.html\",\"about\",\"blog\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":3,\"depth\":1},{\"path\":\"/it/2026/03/24/freebsd-thinkpad-specific-keys.html\",\"status\":200,\"title\":\"FreeBSD and Thinkpad-specific keys and indicators | Dragon’s notes\",\"word_count\":1473,\"summary_text\":\"FreeBSD and Thinkpad-specific keys and indicators | Dragon’s notes FreeBSD and Thinkpad-specific keys and indicators | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2026-03-24T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2026-03-24T00:00:00+03:00\\\",\\\"description\\\":\\\"Thinkpad laptops, e.g. mine Thinkpad X220, has a lot of functional keys. Some of them work without any problems — they are passed by the underlying kernel to the X server and it recognizes them as a usual key symbols: XF86AudioMute, XF86AudioRaiseVolume, XF86AudioNext, etc. But some special keys are not passed to the X server from the underlying OS layers.\\\",\\\"headline\\\":\\\"FreeBSD and Thinkpad-specific keys and indicators\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/freebsd-thinkpad-specific-keys-header.png\\\",\\\"mai\",\"classification_terms\":[\"it/2026/03/24/freebsd-thinkpad-specific-keys.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/it/2026/01/22/freebsd-15-0-xlibre.html\",\"status\":200,\"title\":\"How to switch from Xorg to XLibre in FreeBSD 15.0 | Dragon’s notes\",\"word_count\":347,\"summary_text\":\"How to switch from Xorg to XLibre in FreeBSD 15.0 | Dragon’s notes How to switch from Xorg to XLibre in FreeBSD 15.0 | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2026-01-22T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2026-01-22T00:00:00+03:00\\\",\\\"description\\\":\\\"TOC&amp;#xa0;&amp;#xa0;&amp;#xa0; Prerequisites How to switch Prerequisites The XLibre X server exists in the binary repositories since FreeBSD 15.0. So this version of OS or higher is necessary.\\\",\\\"headline\\\":\\\"How to switch from Xorg to XLibre in FreeBSD 15.0\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/freebsd-15-0-xlibre.png\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/it/2026/01/22/freebsd-15-0-xlibre.html\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\",\"classification_terms\":[\"it/2026/01/22/freebsd-15-0-xlibre.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":1},{\"path\":\"/it/2025/11/07/install-openhab4-to-netbsd.html\",\"status\":200,\"title\":\"How-to install OpenHAB4 to the NetBSD | Dragon’s notes\",\"word_count\":1519,\"summary_text\":\"How-to install OpenHAB4 to the NetBSD | Dragon’s notes How-to install OpenHAB4 to the NetBSD | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-11-07T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-11-07T00:00:00+03:00\\\",\\\"description\\\":\\\"I spent few hours trying to launch home automation software — OpenHAB (4th version) — to the my NetBSD box. If installation didn&#39;t cause any problems, then I got some tricky error about JNA1 while the system was starting up.\\\",\\\"headline\\\":\\\"How-to install OpenHAB4 to the NetBSD\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/it/2025/11/07/install-openhab4-to-netbsd.html\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://\",\"classification_terms\":[\"it/2025/11/07/install-openhab4-to-netbsd.html\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":1},{\"path\":\"/photo/2025/11/05/summer-photos-2025.html\",\"status\":200,\"title\":\"Best summer 2025 photos | Dragon’s notes\",\"word_count\":75,\"summary_text\":\"Best summer 2025 photos | Dragon’s notes Best summer 2025 photos | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-11-05T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-11-05T00:00:00+03:00\\\",\\\"description\\\":\\\"Birbs! A lot of them!\\\",\\\"headline\\\":\\\"Best summer 2025 photos\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/summer-photos-2025.jpg\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/photo/2025/11/05/summer-photos-2025.html\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/photo/2025/11/05/summer-photos-2025.html\\\"} html .page-banner .page-banner-img>*:first-child{opacity:.6} D\",\"classification_terms\":[\"photo/2025/11/05/summer-photos-2025.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":1},{\"path\":\"/it/2025/10/10/emacs-ditch-use-package.html\",\"status\":200,\"title\":\"Why and how I ditched use-package? | Dragon’s notes\",\"word_count\":2015,\"summary_text\":\"Why and how I ditched use-package? | Dragon’s notes Why and how I ditched use-package? | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-10-10T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-10-10T00:00:00+03:00\\\",\\\"description\\\":\\\"The use-package. It is a very popular part of Emacs software, which can be met in the various configuration examples, installation instructions for other packages, etc. TOC&amp;#xa0;&amp;#xa0;&amp;#xa0; Pros Cons Switching from use-package to &quot;old-school&quot; configuration Loading packages Delighting modes Hooks Keybindings Configuration variables Code Modes Custom faces Note about readability Results Notes Pros I&#39;ve used this package even before it was added to the Emacs distribution. First, it helps me to install packag\",\"classification_terms\":[\"it/2025/10/10/emacs-ditch-use-package.html\",\"about\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":2,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":1},{\"path\":\"/it/2025/09/20/slidgram-netbsd-install-howto.html\",\"status\":200,\"title\":\"Install Slidgram in NetBSD | Dragon’s notes\",\"word_count\":330,\"summary_text\":\"Install Slidgram in NetBSD | Dragon’s notes Install Slidgram in NetBSD | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-09-20T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-09-20T00:00:00+03:00\\\",\\\"description\\\":\\\"This little instruction covers Slidgram1 installation in NetBSD OS.\\\",\\\"headline\\\":\\\"Install Slidgram in NetBSD\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/it/2025/09/20/slidgram-netbsd-install-howto.html\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/it/2025/09/20/slidgram-netbsd-install-howto.html\\\"} Dragon's notes NOW A\",\"classification_terms\":[\"it/2025/09/20/slidgram-netbsd-install-howto.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":1},{\"path\":\"/it/2025/09/15/sandboxctl-netbsd-little-howto.html\",\"status\":200,\"title\":\"Using sandboxctl for program sandboxing in NetBSD | Dragon’s notes\",\"word_count\":1794,\"summary_text\":\"Using sandboxctl for program sandboxing in NetBSD | Dragon’s notes Using sandboxctl for program sandboxing in NetBSD | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-09-15T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-09-15T00:00:00+03:00\\\",\\\"description\\\":\\\"Disclaimer: I&#39;m not a professional system administrator. I&#39;m just worked as sysadmin for a few years, so I know something, but that&#39;s all. So this guide is not some professional-grade instruction and should be used with caution.\\\",\\\"headline\\\":\\\"Using sandboxctl for program sandboxing in NetBSD\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/it/2025/09/15/sandboxctl-netbsd-little-howto.html\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\",\"classification_terms\":[\"it/2025/09/15/sandboxctl-netbsd-little-howto.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":1},{\"path\":\"/it/2025/07/28/speed-up-suspend-resume-freebsd.html\",\"status\":200,\"title\":\"Speed up suspend/resume for FreeBSD | Dragon’s notes\",\"word_count\":5114,\"summary_text\":\"Speed up suspend/resume for FreeBSD | Dragon’s notes Speed up suspend/resume for FreeBSD | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-07-28T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-07-28T00:00:00+03:00\\\",\\\"description\\\":\\\"TOC&amp;#xa0;&amp;#xa0;&amp;#xa0; Preamble Studying the Libreboot log Studying the FreeBSD dmesg log Removing non-existent battery Replacing iwm driver with iwlwifi Turning off unnecessary USB devices Results Preamble Since I took my laptop (Thinkpad X220) from the shelf, hacked it, and installed FreeBSD 14.2 and Coreboot on it — I found that suspend/resume times are longer than before. When I was using this laptop with FreeBSD 11 and proprietary BIOS — it was suspending slightly faster. And resuming almost immediately — I was abl\",\"classification_terms\":[\"it/2025/07/28/speed-up-suspend-resume-freebsd.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":584,\"depth\":1},{\"path\":\"/it/2025/07/24/x11-configuration-simple.html\",\"status\":200,\"title\":\"How to configure X11 in a simple way | Dragon’s notes\",\"word_count\":9946,\"summary_text\":\"How to configure X11 in a simple way | Dragon’s notes How to configure X11 in a simple way | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-07-24T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-07-24T00:00:00+03:00\\\",\\\"description\\\":\\\"TOC&amp;#xa0;&amp;#xa0;&amp;#xa0; Preamble High DPI Update 2026-01-22 Keyboard configuration Rewrite configuration for xorg.conf Multimedia keys Pointing devices Touchpad Trackpoint Trackball Mouse Drawing tablet Screensaver Disable screensaver for fullscreen videos Update 2025-12-13 (xlock): Compositor (no, not that thing from Wayland) Changing size of usual windows Transparent splash screens Sliding dialog windows Effects for Emacs Librewolf: menu fix Effects for StumpWM parts Disabling unwanted outputs Juggling with displays T\",\"classification_terms\":[\"it/2025/07/24/x11-configuration-simple.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":71,\"depth\":1},{\"path\":\"/it/2025/07/09/update-libreboot-to-25-06.html\",\"status\":200,\"title\":\"Updating Libreboot to the 25.06 (Luminous Lemon) | Dragon’s notes\",\"word_count\":547,\"summary_text\":\"Updating Libreboot to the 25.06 (Luminous Lemon) | Dragon’s notes Updating Libreboot to the 25.06 (Luminous Lemon) | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-07-09T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-07-09T00:00:00+03:00\\\",\\\"description\\\":\\\"Before, I wrote a lot of rumblings about my problems with FreeBSD Stage 3 loader with removed graphics support (because of Netflix) and with Libreboot (corebootfb version): here, here and here. But at one good night I was searching in the Internet for information about how well the Libreboot supports *BSD OSes — and suddenly found that there is a separate page on the libreboot.org about this topic: Install a BSD operating system on Libreboot. With this section, important for me — FreeBSD and corebootfb:\\\",\\\"headline\\\":\\\"U\",\"classification_terms\":[\"it/2025/07/09/update-libreboot-to-25-06.html\",\"about\",\"support\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":1},{\"path\":\"/it/2025/07/06/freebsd-zfs-boot-environment-boot2.html\",\"status\":200,\"title\":\"How to restore FreeBSD with ZFS boot environments and boot2 loader | Dragon’s notes\",\"word_count\":1105,\"summary_text\":\"How to restore FreeBSD with ZFS boot environments and boot2 loader | Dragon’s notes How to restore FreeBSD with ZFS boot environments and boot2 loader | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-07-06T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-07-06T00:00:00+03:00\\\",\\\"description\\\":\\\"### # ### ### # # # # # # # # # # # # # # # # ### # # # # # # # #### ### # #\\\",\\\"headline\\\":\\\"How to restore FreeBSD with ZFS boot environments and boot2 loader\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/it/2025/07/06/freebsd-zfs-boot-environment-boot2.html\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https:\",\"classification_terms\":[\"it/2025/07/06/freebsd-zfs-boot-environment-boot2.html\",\"blog\",\"store\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":11,\"depth\":1},{\"path\":\"/it/2025/06/30/my-emacs-configuration-common.html\",\"status\":200,\"title\":\"My Emacs configuration (common parts) | Dragon’s notes\",\"word_count\":15799,\"summary_text\":\"My Emacs configuration (common parts) | Dragon’s notes My Emacs configuration (common parts) | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-06-30T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-06-30T00:00:00+03:00\\\",\\\"description\\\":\\\"This blog post is a part of series of posts about my Emacs configuration. I tried to describe all at once, but with the good advice from @lfa@hostux.social I decided to split my writings to the series of posts. Instead it will be incredibly long😀.\\\",\\\"headline\\\":\\\"My Emacs configuration (common parts)\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/header-emacs-configuration-common.jpg\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/it/2025/06/30/my-emacs-configuration-common.html\\\"},\\\"publisher\\\":{\\\"@typ\",\"classification_terms\":[\"it/2025/06/30/my-emacs-configuration-common.html\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":1,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":32,\"depth\":1},{\"path\":\"/photo/2025/06/15/spring-photos-2025.html\",\"status\":200,\"title\":\"Best spring 2025 photos (95 photos, 52 Mb) | Dragon’s notes\",\"word_count\":436,\"summary_text\":\"Best spring 2025 photos (95 photos, 52 Mb) | Dragon’s notes Best spring 2025 photos (95 photos, 52 Mb) | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-06-15T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-06-15T00:00:00+03:00\\\",\\\"description\\\":\\\"This spring I made a lot of photos. Especially the photos of reptiles and snakes on the local festival.\\\",\\\"headline\\\":\\\"Best spring 2025 photos (95 photos, 52 Mb)\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/header-photos-spring-2025.jpg\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/photo/2025/06/15/spring-photos-2025.html\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https:/\",\"classification_terms\":[\"photo/2025/06/15/spring-photos-2025.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":1},{\"path\":\"/it/2025/05/25/internet-slow-death.html\",\"status\":200,\"title\":\"Network provincialism and balkanization | Dragon’s notes\",\"word_count\":964,\"summary_text\":\"Network provincialism and balkanization | Dragon’s notes Network provincialism and balkanization | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-05-25T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-05-25T00:00:00+03:00\\\",\\\"description\\\":\\\"____ __ ___ /\\\\\\\\ _`\\\\\\\\ /\\\\\\\\ \\\\\\\\ /\\\\\\\\_ \\\\\\\\ \\\\\\\\ \\\\\\\\ \\\\\\\\L\\\\\\\\ \\\\\\\\_ __ __ __ ___ ___\\\\\\\\ \\\\\\\\ \\\\\\\\____\\\\\\\\//\\\\\\\\ \\\\\\\\ __ \\\\\\\\ \\\\\\\\ ,__/\\\\\\\\`&#39;__\\\\\\\\/&#39;__`\\\\\\\\ /&#39;__`\\\\\\\\ /&#39; __` __`\\\\\\\\ \\\\\\\\ &#39;__`\\\\\\\\ \\\\\\\\ \\\\\\\\ \\\\\\\\ /&#39;__`\\\\\\\\ \\\\\\\\ \\\\\\\\ \\\\\\\\/\\\\\\\\ \\\\\\\\ \\\\\\\\//\\\\\\\\ __//\\\\\\\\ \\\\\\\\L\\\\\\\\.\\\\\\\\_/\\\\\\\\ \\\\\\\\/\\\\\\\\ \\\\\\\\/\\\\\\\\ \\\\\\\\ \\\\\\\\ \\\\\\\\L\\\\\\\\ \\\\\\\\ \\\\\\\\_\\\\\\\\ \\\\\\\\_/\\\\\\\\ __/ \\\\\\\\ \\\\\\\\_\\\\\\\\ \\\\\\\\ \\\\\\\\_\\\\\\\\\\\\\\\\ \\\\\\\\____\\\\\\\\ \\\\\\\\__/.\\\\\\\\_\\\\\\\\ \\\\\\\\_\\\\\\\\ \\\\\\\\_\\\\\\\\ \\\\\\\\_\\\\\\\\ \\\\\\\\_,__/ /\\\\\\\\____\\\\\\\\ \\\\\\\\____\\\\\\\\ \\\\\\\\/_/ \\\\\\\\/_/ \\\\\\\\/____/\\\\\\\\/__/\\\\\\\\/_/\\\\\\\\/_/\\\\\\\\/_/\\\\\\\\/_/\\\\\\\\/___/ \\\\\\\\/____/\\\\\\\\/____/\\\",\\\"headline\\\":\\\"Network provincialism and balkanization\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets\",\"classification_terms\":[\"it/2025/05/25/internet-slow-death.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":5,\"depth\":1},{\"path\":\"/it/2025/03/30/freebsd-pkgs-wout-unwanted-deps.html\",\"status\":200,\"title\":\"My way to remove “Linuxisms” from FreeBSD | Dragon’s notes\",\"word_count\":4344,\"summary_text\":\"My way to remove “Linuxisms” from FreeBSD | Dragon’s notes My way to remove “Linuxisms” from FreeBSD | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-03-30T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-03-30T00:00:00+03:00\\\",\\\"description\\\":\\\"TOC&amp;#xa0;&amp;#xa0;&amp;#xa0; Preamble Poudriere installation Removing unwanted dependencies More complex examples of deWaylandization Ports flavors Patching Makefile Results and thoughts Notes Preamble My everyday FreeBSD system has two good old components for graphics and sound — the X Server and the OSS. There are simple reasons to use these components — they are mature, they have tons of user documentation, use case examples, etc. I also like the way these things have been used in the FreeBSD world. Let me quote verm\",\"classification_terms\":[\"it/2025/03/30/freebsd-pkgs-wout-unwanted-deps.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":19,\"depth\":1},{\"path\":\"/photo/2025/03/16/winter-photos-2024-2025.html\",\"status\":200,\"title\":\"Winter photos (2024-2025) | Dragon’s notes\",\"word_count\":182,\"summary_text\":\"Winter photos (2024-2025) | Dragon’s notes Winter photos (2024-2025) | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-03-16T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-03-16T00:00:00+03:00\\\",\\\"description\\\":\\\"This winter I have photographed much less than usual — because of the mud on the roads, the temperature around -15°C…-20°C, the almost permanent absence of sunshine and the gray clouds that completely cover the sky —as much as possible motivates me to keep my nose out of the street.\\\",\\\"headline\\\":\\\"Winter photos (2024-2025)\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/header-winter-2024-2025.jpg\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/photo/2025/03/16/winter-photos-2024-2025.html\\\"},\\\"publisher\\\":{\\\"@type\",\"classification_terms\":[\"photo/2025/03/16/winter-photos-2024-2025.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":10,\"depth\":1},{\"path\":\"/photo/2025/03/16/winter-photos-2024-2025-ru.html\",\"status\":200,\"title\":\"Фотографии зимы 2024-2025 | Dragon’s notes\",\"word_count\":146,\"summary_text\":\"Фотографии зимы 2024-2025 | Dragon’s notes Фотографии зимы 2024-2025 | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-03-16T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-03-16T00:00:00+03:00\\\",\\\"description\\\":\\\"Этой зимой я фотографировал гораздо меньше обычного — потому что грязь на дорогах, холод в районе -15°C…-20°C, практически постоянное отсутствие солнца и низковисящие серые облака, полностью закрывающие небо — максимально мотивируют не высовывать и носа на улицу.\\\",\\\"headline\\\":\\\"Фотографии зимы 2024-2025\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/header-winter-2024-2025.jpg\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/photo/2025/03/16/winter-photos-2024-2025-ru.html\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\",\"classification_terms\":[\"photo/2025/03/16/winter-photos-2024-2025-ru.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":10,\"depth\":1},{\"path\":\"/it/2025/03/10/freebsd14-2-thinkpad-x220.html\",\"status\":200,\"title\":\"FreeBSD 14.2 and Thinkpad X220 | Dragon’s notes\",\"word_count\":5874,\"summary_text\":\"FreeBSD 14.2 and Thinkpad X220 | Dragon’s notes FreeBSD 14.2 and Thinkpad X220 | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-03-10T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-03-10T00:00:00+03:00\\\",\\\"description\\\":\\\"Since I&#39;ve wrote post about my specific FreeBSD settings for Thinkpad X220 near 5 years have passed. That post has a lot of additions and become a bit messy. So, after I updated FreeBSD on my laptop up to 14.2 version and finally found some time to carefully read a &quot;FreeBSD handbook&quot;, I decided to write a new article about my configuration and about few useful utilities and tricks.\\\",\\\"headline\\\":\\\"FreeBSD 14.2 and Thinkpad X220\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/freebsd14-2-thinkpad.jpg\\\",\\\"mainEntityOfPage\\\":\",\"classification_terms\":[\"it/2025/03/10/freebsd14-2-thinkpad-x220.html\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":53,\"depth\":1},{\"path\":\"/it/2025/02/08/motorola-defy-2021-lineage-os.html\",\"status\":200,\"title\":\"LineageOS 21 on the Motorola Defy (2021) | Dragon’s notes\",\"word_count\":5492,\"summary_text\":\"LineageOS 21 on the Motorola Defy (2021) | Dragon’s notes LineageOS 21 on the Motorola Defy (2021) | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-02-08T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-02-08T00:00:00+03:00\\\",\\\"description\\\":\\\"I have been using the Motorola Defy (2021) smartphone for almost 3 years. There is one of the rugged phones that has an IP68 and a decent thickness — it fits perfectly in my pocket. It looks like a normal phone in the case, but there is no case — there is a phone body.\\\",\\\"headline\\\":\\\"LineageOS 21 on the Motorola Defy (2021)\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/header-lineageos.jpg\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/it/2025/02/08/motorola-defy-2021-lineage-os.html\\\"},\\\"publis\",\"classification_terms\":[\"it/2025/02/08/motorola-defy-2021-lineage-os.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":8,\"depth\":1},{\"path\":\"/it/2025/02/08/motorola-defy-2021-lineage-os-ru.html\",\"status\":200,\"title\":\"LineageOS 21 на Motorola Defy (2021) | Dragon’s notes\",\"word_count\":5008,\"summary_text\":\"LineageOS 21 на Motorola Defy (2021) | Dragon’s notes LineageOS 21 на Motorola Defy (2021) | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-02-08T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-02-08T00:00:00+03:00\\\",\\\"description\\\":\\\"Вот уже около 3 лет я пользуюсь смартфоном Motorola Defy (2021). Это один из немногих защищённых телефонов с поддержкой стандарта IP68, который не выделяется своей толщиной и влезает в обычный карман. Со стороны кажется будто это просто обычный телефон в чехле, но на самом деле это не чехол, а корпус самого телефона.\\\",\\\"headline\\\":\\\"LineageOS 21 на Motorola Defy (2021)\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/header-lineageos.jpg\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/it/2025/02/08/mot\",\"classification_terms\":[\"it/2025/02/08/motorola-defy-2021-lineage-os-ru.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":8,\"depth\":1},{\"path\":\"/page-2\",\"status\":200,\"title\":\"Dragon’s notes | Posts about IT, photography and bicycles.\",\"word_count\":213,\"summary_text\":\"Dragon’s notes | Posts about IT, photography and bicycles. Dragon’s notes | Posts about IT, photography and bicycles. {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"Dragon’s notes\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/page-2.html\\\"} Dragon's notes NOW ABOUT LINKS RSS Dragon's notes Force sand to think 2024.12.21  How I installed opensource firmware instead of BIOS to Thinkpad X220 2024.12.21  Как я заменил BIOS в Thinkpad X220 свободной прошивкой 2024.12.16  Autumn photos (2024) 2024.12.16 \",\"classification_terms\":[\"page-2\",\"about\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":21,\"depth\":1},{\"path\":\"/changelog.html\",\"status\":200,\"title\":\"ChangeLog | Dragon’s notes\",\"word_count\":922,\"summary_text\":\"ChangeLog | Dragon’s notes ChangeLog | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"ChangeLog\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/changelog.html\\\"} Dragon's notes NOW ABOUT LINKS RSS ChangeLog Date Changes 2026-02-17 Add og:image OpenGraph tag for each page and blogpost without a header image. 2026-02-16 Drew my own favicon with the help of GrafX2. There are 64x64, 32x32 and 16x16 versions of the icon 2026-02-13 Reduced images sizes with pn\",\"classification_terms\":[\"changelog.html\",\"about\",\"help\",\"blog\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":48,\"depth\":1},{\"path\":\"/tags.html\",\"status\":200,\"title\":\"Tags | Dragon’s notes\",\"word_count\":524,\"summary_text\":\"Tags | Dragon’s notes Tags | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"Tags\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/tags.html\\\"} Dragon's notes NOW ABOUT LINKS RSS C 2012.01.11 Профилировка программ в Linux'е 2012.01.01 Статический анализ кода на C в Linux'е 2011.12.31 CUnit — фреймворк для юнит-тестирования программ на C 2011.10.14 Умер Деннис Ритчи :-( 2011.01.13 CMSIS — code less, create more! 2010.11.21 Пишем драйвер ЖКИ для стенда\",\"classification_terms\":[\"tags.html\",\"about\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":65,\"depth\":1},{\"path\":\"/categories.html\",\"status\":200,\"title\":\"Categories | Dragon’s notes\",\"word_count\":734,\"summary_text\":\"Categories | Dragon’s notes Categories | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"Categories\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/categories.html\\\"} Dragon's notes NOW ABOUT LINKS RSS cycling 2021.05.17 Открытие велосезона с INSLED 2021.04.12 Северное открытие летнего сезона 2021 с «Балтийской звездой» 2021.04.08 Типажи подписчиков велосипедных групп из ВК 2020.05.17 Спасибо что живой? 2012.07.02 Велопробег «За велогород», 1 июля 2012.07.\",\"classification_terms\":[\"categories.html\",\"about\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":97,\"depth\":1},{\"path\":\"/archives.html\",\"status\":200,\"title\":\"Archives | Dragon’s notes\",\"word_count\":740,\"summary_text\":\"Archives | Dragon’s notes Archives | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"Archives\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/archives.html\\\"} Dragon's notes NOW ABOUT LINKS RSS 2026 2026.03.24 FreeBSD and Thinkpad-specific keys and indicators 2026.01.22 How to switch from Xorg to XLibre in FreeBSD 15.0 2025 2025.11.07 How-to install OpenHAB4 to the NetBSD 2025.11.05 Best summer 2025 photos 2025.10.10 Why and how I ditched use-package? 20\",\"classification_terms\":[\"archives.html\",\"about\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":97,\"depth\":1},{\"path\":\"/en/it/2024/07/07/thinkpad-x220-second-life\",\"status\":200,\"title\":\"Thinkpad X220 second life | Dragon’s notes\",\"word_count\":11189,\"summary_text\":\"Thinkpad X220 second life | Dragon’s notes Thinkpad X220 second life | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2024-07-07T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2024-07-07T00:00:00+03:00\\\",\\\"description\\\":\\\"Lenovo Thinkpad X220 is one of my favorite laptop models (the other one is Panasonic Toughbook CF-19). It has a beautiful seven-row keyboard with space for all the necessary buttons — there are even separate buttons for Home, End, Pause1 and Insert! Rugged magnesium alloy case covered with some kind of rubber for better grip. A memorable appearance — an angular black rectangle that looks austere and at the same time quite retro-futuristic. And relatively powerful hardware, which can be used to this day.\\\",\\\"headline\\\":\\\"Thinkpad X220 second lif\",\"classification_terms\":[\"en/it/2024/07/07/thinkpad-x220-second-life\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":9,\"depth\":1},{\"path\":\"/uses.html\",\"status\":200,\"title\":\"Uses | Dragon’s notes\",\"word_count\":3744,\"summary_text\":\"Uses | Dragon’s notes Uses | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"Uses\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/uses.html\\\"} Dragon's notes NOW ABOUT LINKS RSS Uses Updated: 2025-10-19 Below are the lists of things I use every day. TOC Hardware Desktop computer Laptop Mobile phone Software General purpose computers Android DIY Electronics Leathercraft Note-taking Hardware Desktop computer I've been using the single desktop PC since\",\"classification_terms\":[\"uses.html\",\"about\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":2},{\"path\":\"/cv.html\",\"status\":200,\"title\":\"CV | Dragon’s notes\",\"word_count\":336,\"summary_text\":\"CV | Dragon’s notes CV | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"CV\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/cv.html\\\"} Dragon's notes NOW ABOUT LINKS RSS EUGENE ANDRIENKOJAVA DEVELOPER evg.andrienko@gmail.com | LinkedIn Download this CV in PDF SUMMARY Java developer with 6+ years experience. Worked in warehouse management systems development (backend) and in embedded software development. TECHNICAL STRENGTHS Java, Java 8, Linux, Doc\",\"classification_terms\":[\"cv.html\",\"about\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/en/it/2025/03/30/freebsd-pkgs-wout-unwanted-deps.html\",\"status\":200,\"title\":\"My way to remove “Linuxisms” from FreeBSD | Dragon’s notes\",\"word_count\":4344,\"summary_text\":\"My way to remove “Linuxisms” from FreeBSD | Dragon’s notes My way to remove “Linuxisms” from FreeBSD | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-03-30T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-03-30T00:00:00+03:00\\\",\\\"description\\\":\\\"TOC&amp;#xa0;&amp;#xa0;&amp;#xa0; Preamble Poudriere installation Removing unwanted dependencies More complex examples of deWaylandization Ports flavors Patching Makefile Results and thoughts Notes Preamble My everyday FreeBSD system has two good old components for graphics and sound — the X Server and the OSS. There are simple reasons to use these components — they are mature, they have tons of user documentation, use case examples, etc. I also like the way these things have been used in the FreeBSD world. Let me quote verm\",\"classification_terms\":[\"en/it/2025/03/30/freebsd-pkgs-wout-unwanted-deps.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":19,\"depth\":2},{\"path\":\"/en/it/2024/07/07/thinkpad-x220-second-life.html\",\"status\":200,\"title\":\"Thinkpad X220 second life | Dragon’s notes\",\"word_count\":11189,\"summary_text\":\"Thinkpad X220 second life | Dragon’s notes Thinkpad X220 second life | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2024-07-07T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2024-07-07T00:00:00+03:00\\\",\\\"description\\\":\\\"Lenovo Thinkpad X220 is one of my favorite laptop models (the other one is Panasonic Toughbook CF-19). It has a beautiful seven-row keyboard with space for all the necessary buttons — there are even separate buttons for Home, End, Pause1 and Insert! Rugged magnesium alloy case covered with some kind of rubber for better grip. A memorable appearance — an angular black rectangle that looks austere and at the same time quite retro-futuristic. And relatively powerful hardware, which can be used to this day.\\\",\\\"headline\\\":\\\"Thinkpad X220 second lif\",\"classification_terms\":[\"en/it/2024/07/07/thinkpad-x220-second-life.html\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":9,\"depth\":2},{\"path\":\"/en/it/2024/12/21/thinkpad-x220-libreboot.html\",\"status\":200,\"title\":\"How I installed opensource firmware instead of BIOS to Thinkpad X220 | Dragon’s notes\",\"word_count\":4853,\"summary_text\":\"How I installed opensource firmware instead of BIOS to Thinkpad X220 | Dragon’s notes How I installed opensource firmware instead of BIOS to Thinkpad X220 | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2024-12-21T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2024-12-21T00:00:00+03:00\\\",\\\"description\\\":\\\"I think almost everyone who reads my blog knows that the BIOS is the first program that runs when the computer is turned on. Usually, the only actions user can do with this program — open the BIOS menu and change the boot order, change date/time, change peripheral settings and so on. Or, if the user is lucky, he can find and install the BIOS modified by hackers (but he can&#39;t look inside this BIOS without reverse engineering skills). Unfortunately, the BIOS source code is closed and initializati\",\"classification_terms\":[\"en/it/2024/12/21/thinkpad-x220-libreboot.html\",\"blog\",\"source code\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":12,\"depth\":2},{\"path\":\"/en/it/2025/03/10/freebsd14-2-thinkpad-x220\",\"status\":200,\"title\":\"FreeBSD 14.2 and Thinkpad X220 | Dragon’s notes\",\"word_count\":5874,\"summary_text\":\"FreeBSD 14.2 and Thinkpad X220 | Dragon’s notes FreeBSD 14.2 and Thinkpad X220 | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-03-10T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-03-10T00:00:00+03:00\\\",\\\"description\\\":\\\"Since I&#39;ve wrote post about my specific FreeBSD settings for Thinkpad X220 near 5 years have passed. That post has a lot of additions and become a bit messy. So, after I updated FreeBSD on my laptop up to 14.2 version and finally found some time to carefully read a &quot;FreeBSD handbook&quot;, I decided to write a new article about my configuration and about few useful utilities and tricks.\\\",\\\"headline\\\":\\\"FreeBSD 14.2 and Thinkpad X220\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/freebsd14-2-thinkpad.jpg\\\",\\\"mainEntityOfPage\\\":\",\"classification_terms\":[\"en/it/2025/03/10/freebsd14-2-thinkpad-x220\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":53,\"depth\":2},{\"path\":\"/en/it/2025/03/30/freebsd-pkgs-wout-unwanted-deps\",\"status\":200,\"title\":\"My way to remove “Linuxisms” from FreeBSD | Dragon’s notes\",\"word_count\":4344,\"summary_text\":\"My way to remove “Linuxisms” from FreeBSD | Dragon’s notes My way to remove “Linuxisms” from FreeBSD | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2025-03-30T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2025-03-30T00:00:00+03:00\\\",\\\"description\\\":\\\"TOC&amp;#xa0;&amp;#xa0;&amp;#xa0; Preamble Poudriere installation Removing unwanted dependencies More complex examples of deWaylandization Ports flavors Patching Makefile Results and thoughts Notes Preamble My everyday FreeBSD system has two good old components for graphics and sound — the X Server and the OSS. There are simple reasons to use these components — they are mature, they have tons of user documentation, use case examples, etc. I also like the way these things have been used in the FreeBSD world. Let me quote verm\",\"classification_terms\":[\"en/it/2025/03/30/freebsd-pkgs-wout-unwanted-deps\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":19,\"depth\":2},{\"path\":\"/en/it/2024/12/01/emacs-plugin-jekyll-blog.html\",\"status\":200,\"title\":\"How I wrote an Emacs plugin to build my blog | Dragon’s notes\",\"word_count\":6132,\"summary_text\":\"How I wrote an Emacs plugin to build my blog | Dragon’s notes How I wrote an Emacs plugin to build my blog | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2024-12-01T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2024-12-01T00:00:00+03:00\\\",\\\"description\\\":\\\"TOC&amp;#xa0;&amp;#xa0;&amp;#xa0; Introduction First version of OrgMode to HTML translator Jekyll-blog generation with Emacs Lisp Org to HTML conversion Custom function to copy files in temporary catalog HTML files patching Static files export Call Jekyll from Emacs New blogpost creation Local server start Jekyll&#39;s working directory cleanup UI (transient) Emacs plugin specific code Loading plugin in Emacs Source code What else could be improved? Notes Introduction In this post I&#39;ll tell you about my little Emacs p\",\"classification_terms\":[\"en/it/2024/12/01/emacs-plugin-jekyll-blog.html\",\"about\",\"blog\",\"source code\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":26,\"depth\":2},{\"path\":\"/it/2020/09/26/thinkpad-x220-freebsd\",\"status\":200,\"title\":\"Setting up FreeBSD for Lenovo Thinkpad X220 (2011 year) | Dragon’s notes\",\"word_count\":1600,\"summary_text\":\"Setting up FreeBSD for Lenovo Thinkpad X220 (2011 year) | Dragon’s notes Setting up FreeBSD for Lenovo Thinkpad X220 (2011 year) | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2020-09-26T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2020-09-26T00:00:00+03:00\\\",\\\"description\\\":\\\"There are a bunch of tips and tricks about FreeBSD setup for Thinkpad X220 in this little note. I wrote it to not forget non-obvious actions, wchich should be done after system installation. Used Thinkpad came from 2011 year — from that times, when it used decent design from IBM with blue Enter and 7-row keyboard.\\\",\\\"headline\\\":\\\"Setting up FreeBSD for Lenovo Thinkpad X220 (2011 year)\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/it/202\",\"classification_terms\":[\"it/2020/09/26/thinkpad-x220-freebsd\",\"about\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":12,\"depth\":2},{\"path\":\"/en/it/2024/12/21/thinkpad-x220-libreboot\",\"status\":200,\"title\":\"How I installed opensource firmware instead of BIOS to Thinkpad X220 | Dragon’s notes\",\"word_count\":4853,\"summary_text\":\"How I installed opensource firmware instead of BIOS to Thinkpad X220 | Dragon’s notes How I installed opensource firmware instead of BIOS to Thinkpad X220 | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2024-12-21T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2024-12-21T00:00:00+03:00\\\",\\\"description\\\":\\\"I think almost everyone who reads my blog knows that the BIOS is the first program that runs when the computer is turned on. Usually, the only actions user can do with this program — open the BIOS menu and change the boot order, change date/time, change peripheral settings and so on. Or, if the user is lucky, he can find and install the BIOS modified by hackers (but he can&#39;t look inside this BIOS without reverse engineering skills). Unfortunately, the BIOS source code is closed and initializati\",\"classification_terms\":[\"en/it/2024/12/21/thinkpad-x220-libreboot\",\"blog\",\"source code\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":12,\"depth\":2},{\"path\":\"/en/it/2024/01/02/life-in-console\",\"status\":200,\"title\":\"I spent 18 years in the Linux console and I don’t regret it | Dragon’s notes\",\"word_count\":4910,\"summary_text\":\"I spent 18 years in the Linux console and I don’t regret it | Dragon’s notes I spent 18 years in the Linux console and I don’t regret it | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2024-01-02T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2024-01-02T00:00:00+03:00\\\",\\\"description\\\":\\\"At first, this article was going to be a grumbling about well-known ideas like: &quot;Let&#39;s add support for objects in Bash instead of ObSoLeTe text and add support for images and GIFs in the commands&#39; output.&quot;\\\",\\\"headline\\\":\\\"I spent 18 years in the Linux console and I don’t regret it\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/assets/static/header-life-in-console.jpg\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://eugene-andrienko.com/it/2024/01/02/life-in-console.html\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"O\",\"classification_terms\":[\"en/it/2024/01/02/life-in-console\",\"about\",\"support\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":6,\"depth\":2},{\"path\":\"/uses\",\"status\":200,\"title\":\"Uses | Dragon’s notes\",\"word_count\":3744,\"summary_text\":\"Uses | Dragon’s notes Uses | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"description\\\":\\\"Dragon’s cave with posts about IT, photography, bicycles and different DIY.\\\",\\\"headline\\\":\\\"Uses\\\",\\\"image\\\":\\\"https://eugene-andrienko.com/avatar.png\\\",\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://eugene-andrienko.com/assets/images/home.jpg\\\"},\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"url\\\":\\\"https://eugene-andrienko.com/uses.html\\\"} Dragon's notes NOW ABOUT LINKS RSS Uses Updated: 2025-10-19 Below are the lists of things I use every day. TOC Hardware Desktop computer Laptop Mobile phone Software General purpose computers Android DIY Electronics Leathercraft Note-taking Hardware Desktop computer I've been using the single desktop PC since\",\"classification_terms\":[\"uses\",\"about\",\"links\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":4,\"depth\":2},{\"path\":\"/it/2024/12/21/thinkpad-x220-libreboot.html\",\"status\":200,\"title\":\"How I installed opensource firmware instead of BIOS to Thinkpad X220 | Dragon’s notes\",\"word_count\":4853,\"summary_text\":\"How I installed opensource firmware instead of BIOS to Thinkpad X220 | Dragon’s notes How I installed opensource firmware instead of BIOS to Thinkpad X220 | Dragon’s notes {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Eugene Andrienko\\\"},\\\"dateModified\\\":\\\"2024-12-21T00:00:00+03:00\\\",\\\"datePublished\\\":\\\"2024-12-21T00:00:00+03:00\\\",\\\"description\\\":\\\"I think almost everyone who reads my blog knows that the BIOS is the first program that runs when the computer is turned on. Usually, the only actions user can do with this program — open the BIOS menu and change the boot order, change date/time, change peripheral settings and so on. Or, if the user is lucky, ",
        "score_reasons_json": "[\"Category confidence was reduced, so the classifier fell back to the broader parent category.\",\"Trusted status now requires clean crawl access and stronger confidence, so this result was downgraded to caution.\"]",
        "route_domain": "eugene-andrienko.com",
        "display_domain": "eugene-andrienko.com"
    },
    "explainability": {
        "summary": "eugene-andrienko.com currently scores 64/100. Technical and crawl-quality evidence are doing most of the lifting for the score. 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": "98/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Solid confidence",
                "tone": "good",
                "detail": "71/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "weighted_contributions": [
            {
                "label": "Quality system",
                "points": "+34.0",
                "tone": "good",
                "detail": "Technical quality, crawl depth, page structure, and implementation hygiene. Current subsystem score: 100/100."
            },
            {
                "label": "Reputation system",
                "points": "+17.7",
                "tone": "caution",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 52/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": "-20.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "50/100 · trust 72/100",
                "tone": "caution",
                "detail": "225 monthly visitors, 86 organic keywords, brand completeness 78/100, engagement 82/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "4 referring domains",
                "tone": "good",
                "detail": "4 backlinks across 4 referring domains. Diversity 94/100; spam penalty 3."
            },
            {
                "label": "Registry and domain stability",
                "value": "10.2 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 10.2 years · registrar Porkbun LLC · expires in 294 days."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 0/100",
                "tone": "good",
                "detail": "Primary tag T · safety 100/100 · fraud 0/100."
            }
        ],
        "positives": [
            "Established domain age: 10.2 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence.",
            "DNSSEC is enabled.",
            "Registry history looks stable, which supports legitimacy and trust."
        ],
        "risks": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-31 04:00:29",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 1mo ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-19 01:05:24",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 1mo ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-05-01 10:00:13",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-05-01 10:00:13",
                "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": 84,
        "fraud_clamp_penalty": 20,
        "final_score": 64
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-05-01T10:00:13+00:00",
        "domain": "eugene-andrienko.com",
        "display_name": "Dragon’s notes",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 64,
        "authority_score": 50,
        "trust_score": 72,
        "safety_score": 100,
        "fraud_score": 0,
        "confidence_score": 98,
        "traffic_confidence": 71,
        "last_crawled_at": "2026-03-31 04:00:29",
        "crawl_blocked": false,
        "summary": "eugene-andrienko.com currently scores 64/100. Technical and crawl-quality evidence are doing most of the lifting for the score. 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": "98/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Solid confidence",
                "tone": "good",
                "detail": "71/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Established domain age: 10.2 years.",
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence.",
            "DNSSEC is enabled."
        ],
        "top_risk_signals": [],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-03-31 04:00:29",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 1mo ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-03-19 01:05:24",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 1mo ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-05-01 10:00:13",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-05-01 10:00:13",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "top_tags": [
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good"
            }
        ]
    },
    "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-05-03T08:13:55+00:00"
    },
    "refresh_state": {
        "canRequest": false,
        "queued": true,
        "processing": true,
        "stageKey": "cache-queued",
        "stageLabel": "Cache build running",
        "cooldownUntil": null,
        "message": "The refreshed page cache is still being built for this domain.",
        "action": "/domain/eugene-andrienko.com/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "eugene-andrienko.com",
        "status": "idle",
        "submitted_at": null,
        "completed_at": null,
        "last_checked_at": null,
        "last_error": "",
        "submitted_url": "https://eugene-andrienko.com/",
        "uuid": "",
        "result_url": "",
        "api_result_url": "",
        "visibility": "public",
        "summary": "No urlscan.io report has been requested for this domain yet.",
        "report": [],
        "report_summary": [],
        "is_fresh": false,
        "can_retry": true,
        "poll_after_seconds": 20
    }
}