{
    "ready": true,
    "site": {
        "id": 0,
        "domain": "devops.nz",
        "display_name": "DevOps New Zealand",
        "primary_country_code": "NZ",
        "category_name": "Developer Tools"
    },
    "metrics": {
        "global_rank": 11535,
        "country_rank": 9,
        "category_rank": 3232,
        "daily_pageviews_per_visitor": 4.19,
        "daily_time_on_site_seconds": 375,
        "bounce_rate": 24.96,
        "search_visits_percent": 41.79,
        "total_sites_linking_in": 1,
        "monthly_unique_visitors": 143,
        "recorded_at": "2026-04-02 00:15:07"
    },
    "audit": {
        "score": 98
    },
    "traffic_sources": {
        "direct_percent": 26.68,
        "search_percent": 36.57,
        "social_percent": 6.49,
        "referral_percent": 17.01,
        "email_percent": 6.49,
        "paid_percent": 6.76
    },
    "seo_profile": {
        "backlinks_total": 1,
        "referring_domains": 1,
        "dofollow_backlinks_percent": 0,
        "organic_keywords": 81,
        "indexed_pages": 733,
        "page_speed_score": 97,
        "mobile_friendliness_score": 91,
        "authority_score": 39,
        "spam_risk_score": 37
    },
    "crawl_report": {
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 733,
        "crawl_blocked": false,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": "",
        "notes": [],
        "created_at": "2026-04-02 00:15:07"
    },
    "keywords": [
        {
            "keyword": "DevOps New Zealand",
            "position": 21,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 14:42:27",
            "is_estimated": true
        },
        {
            "keyword": "DevOps New Zealand developer tools",
            "position": 23,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 14:42:27",
            "is_estimated": true
        },
        {
            "keyword": "DevOps New Zealand reviews",
            "position": 25,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 14:42:27",
            "is_estimated": true
        },
        {
            "keyword": "devops",
            "position": 27,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 14:42:27",
            "is_estimated": true
        },
        {
            "keyword": "new",
            "position": 29,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 14:42:27",
            "is_estimated": true
        },
        {
            "keyword": "zealand",
            "position": 31,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 14:42:27",
            "is_estimated": true
        },
        {
            "keyword": "kiwi",
            "position": 33,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 14:42:27",
            "is_estimated": true
        },
        {
            "keyword": "collaboration",
            "position": 35,
            "search_engine": "Estimated",
            "checked_at": "2026-04-18 14:42:27",
            "is_estimated": true
        }
    ],
    "rating": {
        "overall": 14,
        "label": "Weak",
        "breakdown": [
            {
                "label": "Technical foundation",
                "score": 18,
                "max": 18
            },
            {
                "label": "Authority & trust",
                "score": 12,
                "max": 30
            },
            {
                "label": "Reach & market presence",
                "score": 2,
                "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": 3,
                "max": 6
            },
            {
                "label": "Quality system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Reputation system",
                "score": 41,
                "max": 100
            },
            {
                "label": "Safety system",
                "score": 100,
                "max": 100
            },
            {
                "label": "Evidence confidence",
                "score": 99,
                "max": 100
            },
            {
                "label": "External intelligence",
                "score": 52,
                "max": 100
            },
            {
                "label": "API intelligence",
                "score": 54,
                "max": 100
            }
        ],
        "authority_score": 39,
        "quality_score": 100,
        "reputation_score": 41,
        "safety_score": 100,
        "confidence_score": 99,
        "fraud_score": 0,
        "authority_signals": {
            "backlinks": 1,
            "referring_domains": 1,
            "organic_keywords": 81,
            "indexed_pages": 733,
            "monthly_visitors": 143,
            "global_rank": 11535,
            "engagement_score": 85,
            "crawl_quality_score": 100,
            "brand_completeness_score": 75,
            "link_diversity_score": 92,
            "technical_reliability_score": 94,
            "whois_score": 45,
            "whois_age_years": 0,
            "whois_stability_score": 100,
            "spam_penalty": 3
        },
        "whois_signals": {
            "age_years": 0,
            "days_to_expiry": null,
            "days_since_last_registry_update": null,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 0,
            "status_count": 0
        }
    },
    "authority_score": 39,
    "trust_score": 16,
    "domain_tags": {
        "primary_tag": "Uncertain",
        "primary_tag_score": 68,
        "primary_candidate": "Uncertain",
        "primary_candidate_score": 68,
        "tag_codes": "Uncertain,T,C",
        "tags": [
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed and external checks stayed inconclusive, so the system kept an uncertainty buffer instead of a harder automated verdict.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 68,
                "score": 68,
                "match_percent": 68,
                "threshold_band": "strong"
            },
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 66,
                "score": 66,
                "match_percent": 66,
                "threshold_band": "strong"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: low trust score. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The signal mix leans cautious and the site should be treated carefully until more evidence arrives.",
                "priority": 62,
                "score": 62,
                "match_percent": 62,
                "threshold_band": "strong"
            }
        ],
        "tag_breakdown": [
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown",
                "description": "External checks stayed inconclusive, so the model avoided a harder verdict.",
                "reason": "The evidence is mixed and external checks stayed inconclusive, so the system kept an uncertainty buffer instead of a harder automated verdict.",
                "message": "The evidence is materially mixed or partially corroborated, so the model is avoiding a harder verdict.",
                "priority": 68,
                "score": 68,
                "match_percent": 68,
                "threshold_band": "strong"
            },
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good",
                "description": "Strong trust, stability, and low-risk signals were detected.",
                "reason": "Low spam indicators plus strong trust, quality, registry, and stability signals were detected. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The site shows a reasonably trustworthy and stable profile.",
                "priority": 66,
                "score": 66,
                "match_percent": 66,
                "threshold_band": "strong"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution",
                "description": "Signals are mixed or weak, so this domain should be treated carefully.",
                "reason": "Review carefully: low trust score. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "The signal mix leans cautious and the site should be treated carefully until more evidence arrives.",
                "priority": 62,
                "score": 62,
                "match_percent": 62,
                "threshold_band": "strong"
            },
            {
                "code": "Crypto",
                "label": "Crypto drainer risk",
                "tone": "toxic",
                "description": "Wallet-connect or seed-phrase theft patterns were detected.",
                "reason": "Wallet-connect or seed-phrase theft patterns were detected.",
                "message": "No meaningful crypto-drainer signals were detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            },
            {
                "code": "D",
                "label": "Dangerous",
                "tone": "toxic",
                "description": "Strong signs of phishing, malware, or other harmful behaviour were detected.",
                "reason": "Multiple high-risk signals pushed this domain into the dangerous range. Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
                "message": "No meaningful dangerous-signal match was detected.",
                "priority": 0,
                "score": 0,
                "match_percent": 0,
                "threshold_band": "none"
            }
        ],
        "nsfw_score": 0,
        "trust_score": 17,
        "manual": {
            "has_changes": false,
            "verified_status": "",
            "tag_codes": "",
            "rating_delta": 0,
            "authority_delta": 0,
            "trust_delta": 0,
            "note": "",
            "adjusted_by": 0,
            "adjusted_at": "",
            "lock_scores": false,
            "lock_flags": false
        },
        "summary": "Uncertain (68% match) because the evidence is mixed and external checks stayed inconclusive, so the system kept an uncertainty buffer instead of a harder automated verdict.",
        "external_intel": {
            "domain": "devops.nz",
            "candidate_tag": "",
            "checked_at": "2026-03-19T13:51:01+00:00",
            "status": "fresh",
            "snapshot_version": 9,
            "summary": "Showing the stored external intelligence snapshot. New search and review intelligence only runs after a visitor uses Refresh data manually.",
            "search_intelligence": {
                "queries": [
                    "site:trustpilot.com \"devops.nz\" -site:devops.nz -site:www.devops.nz",
                    "site:bbb.org \"devops.nz\" -site:devops.nz -site:www.devops.nz"
                ],
                "focused_queries": [
                    "site:trustpilot.com \"devops.nz\" -site:devops.nz -site:www.devops.nz",
                    "site:bbb.org \"devops.nz\" -site:devops.nz -site:www.devops.nz"
                ],
                "relaxed_queries": [
                    "site:wikipedia.org \"devops.nz\"",
                    "site:en.wikipedia.org \"devops.nz\"",
                    "site:wikipedia.org \"devops\"",
                    "site:en.wikipedia.org \"devops\"",
                    "devops company profile",
                    "devops reviews",
                    "devops wikipedia",
                    "devops linkedin",
                    "devops crunchbase"
                ],
                "providers": [
                    "brave"
                ],
                "provider_result_counts": {
                    "brave": 0
                },
                "provider_query_attempts": {
                    "brave": 2
                },
                "provider_error_counts": {
                    "brave": 2
                },
                "provider_failure_reasons": {
                    "brave": "Brave hourly hard cap reached."
                },
                "provider_block_signals": [],
                "results_found": 1,
                "external_results_found": 0,
                "used_direct_fallback": true,
                "results": [
                    {
                        "provider": "direct-domain-fallback",
                        "url": "https://devops.nz/",
                        "host": "devops.nz",
                        "title": "devops.nz",
                        "snippet": "First-party fallback captured directly from the domain when public search engines returned no usable results.",
                        "is_direct_fallback": true,
                        "source_meta": {
                            "host": "devops.nz",
                            "source_type": "official_site",
                            "label": "Official site",
                            "trust_weight": 55,
                            "evidence_weight": 26,
                            "noise_penalty": 0,
                            "requires_exact_domain_match": true,
                            "supports_positive_verdicts": false,
                            "supports_negative_verdicts": false,
                            "freshness_ttl_days": 21
                        },
                        "entity": {
                            "score": 100,
                            "exactness": "exact_domain",
                            "reasons": [
                                "The result host matches the exact domain.",
                                "The exact domain is mentioned in the page snippet or document text.",
                                "The result URL contains the exact domain string."
                            ]
                        },
                        "query": "direct-fallback",
                        "rank": 1
                    }
                ],
                "source_mix": {
                    "official_site": 1
                },
                "entity_coverage_score": 100,
                "high_trust_result_count": 0,
                "exact_match_result_count": 1,
                "high_entity_result_count": 1,
                "query_hit_count": 0,
                "query_count": 2,
                "used_failover_provider": false,
                "inferred_candidate_tag": "",
                "used_relaxed_queries": false,
                "search_passes": [
                    {
                        "name": "focused-primary",
                        "queries": 2,
                        "providers": [
                            "brave"
                        ],
                        "results_added": 0,
                        "external_results_added": 0,
                        "deadline_hit": false
                    }
                ],
                "deadline_hit": false
            },
            "review_intelligence": {
                "documents_fetched": 1,
                "external_documents_fetched": 0,
                "documents": [
                    {
                        "provider": "direct-domain-fallback",
                        "url": "https://devops.nz/",
                        "host": "devops.nz",
                        "title": "devops.nz",
                        "snippet": "First-party fallback captured directly from the domain when public search engines returned no usable results.",
                        "is_direct_fallback": true,
                        "source_meta": {
                            "host": "devops.nz",
                            "source_type": "official_site",
                            "label": "Official site",
                            "trust_weight": 55,
                            "evidence_weight": 26,
                            "noise_penalty": 0,
                            "requires_exact_domain_match": true,
                            "supports_positive_verdicts": false,
                            "supports_negative_verdicts": false,
                            "freshness_ttl_days": 21
                        },
                        "entity": {
                            "score": 100,
                            "exactness": "exact_domain",
                            "reasons": [
                                "The result host matches the exact domain.",
                                "The exact domain is mentioned in the page snippet or document text.",
                                "The result URL contains the exact domain string."
                            ]
                        },
                        "query": "direct-fallback",
                        "rank": 1,
                        "body": "DevOps New Zealand | Kiwi Collaboration, Culture and Technolology DevOps New Zealand About Contact DevOps, Security, and Getting It Right First Time New Zealand's small size is our superpower. With tight-knit teams and limited resources, we can't afford to get things wrong. Security and reliability aren't just nice-to-haves, they're essential. Our national identity is built on making things work with what we've got, and that means getting software delivery right the first time.DevOps and strong security practices help us punch above our weight. Smaller budgets and teams mean we must be smarter, faster, and more secure from day one. This beach is full of silicon dioxide, but do we have a Silicon Beach?PostsStatica - how I run some of my favourite AppSec toolsStatic analysis is a powerful technique for catching security issues. But tools that depend on compilation aren’t always easy, especially if you don’t have the right dependencies or you’re stuck on Apple Silicon with legacy code.So I built Oct 3, 2025Pipeline Pull Request Pain on ADO?I ran into this issue a couple of times recently, so here’s my notes on the matter.I’ve needed to make a YAML pipeline on Azure DevOps, using ADO Git hosting. It’...Oct 31, 2022Securikube Part 1: Linting and Vulnerability Checking( this post carries on from Securikube Part 0) It’s all good to secure your servers, be they Kubernetes or anything else. Sometimes the applications make that job harder: the applications will break if you stop them doing insec...Oct 18, 2022Addition on the command lineHow much did our household spend on power last year? I wish I had an app that would parse all my bank statements and tell me what it costs just to stay alive, but my bank doesn’t do integrations well. In fact, given that my power company sunset their consumer API, things seem to be even less ...Jun 25, 2022Securikube, part 0I’ve been avoiding unnecessary outings because of COVID cases in our household. This is a perfect opportunity to do some research. I’ve done plenty with Docker: I’ve found it great for externalizing dependencies in development environments. I have also done security work around the edges of <...Jun 6, 2022The fish rots from the headers downOK, the real saying is the fish rots from the head down: if your CEO allows awful behaviours to happen at work without intervention, then they should take the blame when those behaviours become normalised in the organisation that they r...Jan 26, 2022Misadventures in securing IaCI’ve had an Infrastructure-as-Code repo since around 2005. That used to be Puppet code, and included config for bind, apache/nginx, dovecot IMAP, and postfix. There were a few years of apathy in which I hosted DNS elsewhere: this cascaded into all sorts of pain.I’ve since pulled ne...Aug 7, 2021Using SAST tools to prevent disasterStatic analysis tools help people write better software, by telling them how they goofed. SAST tools are the evolution of static analysis: tools that point out the security goofs in your code. No tool is perfect, or the ...May 25, 2021Site improvementsI’ve had a little time to clean up this website. There were a few issues:The site still had stylesheets loading for Bulma, which I stopped using in favour of my own minimal CSS. I also had references to Bulma classes because the stylesheet was still there.I hadn’t...May 21, 20213 lessons learned from a decade in startupsI’m currently working in the 5th venture funded organisation in my career. It’s almost 10 years since I started working with Neo4j: I was consulting for them around the 3rd quarter of 2011, an…",
                        "html": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>DevOps New Zealand | Kiwi Collaboration, Culture and Technolology</title><meta name=\"generator\" content=\"Jekyll v4.4.1\"/><meta property=\"og:title\" content=\"DevOps New Zealand\"/><meta property=\"og:locale\" content=\"en_US\"/><meta name=\"description\" content=\"DevOps New Zealand is an irreverent look at DevOps from a New Zealand perspective.\"/><meta property=\"og:description\" content=\"DevOps New Zealand is an irreverent look at DevOps from a New Zealand perspective.\"/><link rel=\"canonical\" href=\"https://devops.nz/\"/><meta property=\"og:url\" content=\"https://devops.nz/\"/><meta property=\"og:site_name\" content=\"DevOps New Zealand\"/><meta property=\"og:type\" content=\"website\"/><link rel=\"next\" href=\"https://devops.nz/page/2/index.html\"/><meta name=\"twitter:card\" content=\"summary\"/><meta property=\"twitter:title\" content=\"DevOps New Zealand\"/><script type=\"application/ld+json\"> {\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"description\":\"DevOps New Zealand is an irreverent look at DevOps from a New Zealand perspective.\",\"headline\":\"DevOps New Zealand\",\"name\":\"DevOps New Zealand\",\"url\":\"https://devops.nz/\"}</script><link type=\"application/atom+xml\" rel=\"alternate\" href=\"https://devops.nz/feed.xml\" title=\"DevOps New Zealand\"/><link href=\"/style.css\" rel=\"stylesheet\"><link href=\"/github.css\" rel=\"stylesheet\"><link rel=\"alternate\" type=\"application/rss+xml\" title=\"DevOps New Zealand\" href=\"/feed.xml\"><script async defer src=\"https://beampipe.io/js/tracker.js\" data-beampipe-domain=\"devops.nz\"></script></head><link rel=\"preload\" href=\"/style.css\" as=\"style\"><link rel=\"stylesheet\" href=\"/style.css\"><body><header class=\"site-header\"><nav class=\"navbar\" aria-label=\"main navigation\"><div class=\"navbar-menu\"><a class=\"navbar-item navbar-title\" href=\"/\"><h1 class=\"title\"> DevOps New Zealand </h1></a><a class=\"navbar-item\" href=\"/about.html\"><h1 class=\"title\"> About </h1></a><a class=\"navbar-item\" href=\"/contact.html\"><h1 class=\"title\"> Contact </h1></a></div></nav></header><section class=\"section\"><section class=\"home-content\"><div class=\"hero\"><h2 class=\"title\"> DevOps, Security, and Getting It Right First Time </h2><p>New Zealand's small size is our superpower. With tight-knit teams and limited resources, we can't afford to get things wrong. Security and reliability aren't just nice-to-haves, they're essential. Our national identity is built on making things work with what we've got, and that means getting software delivery right the first time.</p><p>DevOps and strong security practices help us punch above our weight. Smaller budgets and teams mean we must be smarter, faster, and more secure from day one. </p><div class=\"hero-media\"><figure class=\"image\"><img src=\"/assets/beach3.webp\" alt=\"a beach in New Zealand\" class=\"hero-image\" width=\"400\" height=\"300\" loading=\"lazy\"><figcaption>This beach is full of silicon dioxide, but do we have a Silicon Beach?</figcaption></figure></div></div></section><section class=\"home-posts\"><hr/><h2 class=\"title\">Posts</h2><div class=\"card\"><div class=\"card-content\"><div class=\"media\"><div class=\"media-content\"><a class=\"post-link\" href=\"/2025/10/03/statica-a-tool-to-run-some-of-my-favourite-appsec-tools.html\">Statica - how I run some of my favourite AppSec tools</a></div></div><div class=\"content\"><blockquote><p>Static analysis is a powerful technique for catching security issues. But tools that depend on compilation aren’t always easy, especially if you don’t have the right dependencies or you’re stuck on Apple Silicon with legacy code.</p><p>So I built <a href=\"https://github.com/simpsonjulian/sta...</blockquote></div><time datetime=\"2025-10-03T16:20:45+13:00\">Oct 3, 2025</time></div></div><div class=\"card\"><div class=\"card-content\"><div class=\"media\"><div class=\"media-content\"><a class=\"post-link\" href=\"/2022/10/31/pipeline-pull-request-pain-on-ado.html\">Pipeline Pull Request Pain on ADO?</a></div></div><div class=\"content\"><blockquote><p>I ran into this issue a couple of times recently, so here’s my notes on the matter.</p><p>I’ve needed to make a <a href=\"https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/yaml-pipeline-editor?view=azure-devops\">YAML pipeline</a> on Azure DevOps, using ADO Git hosting. It’...</blockquote></div><time datetime=\"2022-10-31T18:47:42+13:00\">Oct 31, 2022</time></div></div><div class=\"card\"><div class=\"card-content\"><div class=\"media\"><div class=\"media-content\"><a class=\"post-link\" href=\"/2022/10/18/securikube-part-1-linting.html\">Securikube Part 1: Linting and Vulnerability Checking</a></div></div><div class=\"content\"><blockquote><p>( this post carries on from <a href=\"https://devops.nz/2022/06/06/securikube-part-0.html\">Securikube Part 0</a>) It’s all good to secure your servers, be they Kubernetes or anything else. Sometimes the applications make that job harder: the applications will break if you stop them doing insec...</blockquote></div><time datetime=\"2022-10-18T17:16:55+13:00\">Oct 18, 2022</time></div></div><div class=\"card\"><div class=\"card-content\"><div class=\"media\"><div class=\"media-content\"><a cl…",
                        "status_code": 200,
                        "final_url": "https://devops.nz/"
                    }
                ],
                "facts": [],
                "ignored_candidates": [],
                "blocked_candidates": 0,
                "source_diversity": 0,
                "host_coverage": 1,
                "source_type_coverage": 1,
                "exact_match_documents": 1,
                "external_exact_match_documents": 0,
                "elapsed_ms": 442,
                "candidates_considered": 1,
                "fetch_success_rate": 100,
                "avg_source_trust": 55,
                "avg_entity_score": 100
            },
            "provider_enrichment": {
                "providers": {
                    "safebrowsing": {
                        "status": "disabled"
                    },
                    "abuseipdb": {
                        "status": "quota_exhausted",
                        "confidence": 0,
                        "budget": {
                            "provider": "abuseipdb",
                            "window_key": "2026-03-19",
                            "used": 850,
                            "limit": 850,
                            "remaining": 0,
                            "updated_at": "2026-03-19T06:46:15+00:00"
                        }
                    },
                    "ipinfo": {
                        "status": "ok",
                        "confidence": 54,
                        "ip": "76.76.21.98",
                        "asn": "AS16509",
                        "as_name": "Amazon.com, Inc.",
                        "as_domain": "amazon.com",
                        "country_code": "US",
                        "country": "United States",
                        "region": "",
                        "city": "",
                        "flags": [],
                        "highlights": [
                            "IPinfo resolved the primary IP to US on AS16509."
                        ],
                        "citations": [
                            {
                                "title": "IPinfo IP enrichment",
                                "url": "https://ipinfo.io/developers",
                                "host": "ipinfo.io",
                                "snippet": "Primary IP 76.76.21.98 geolocates to US.",
                                "source_type": "ip_enrichment"
                            }
                        ]
                    },
                    "censys": {
                        "status": "disabled"
                    },
                    "sslmate": {
                        "status": "error",
                        "error": "HTTP 429: {\"code\":\"rate_limited\",\"message\":\"You have exceeded the domain search rate limit for the SSLMate CT Search API. Please try again later, or upgrade your Cert Spotter plan by visiting .\"}"
                    }
                },
                "facts": [],
                "citations": [
                    {
                        "title": "IPinfo IP enrichment",
                        "url": "https://ipinfo.io/developers",
                        "host": "ipinfo.io",
                        "snippet": "Primary IP 76.76.21.98 geolocates to US.",
                        "source_type": "ip_enrichment"
                    }
                ],
                "highlights": [
                    "IPinfo resolved the primary IP to US on AS16509."
                ],
                "resolved_ips": [
                    "76.76.21.98",
                    "76.76.21.241"
                ],
                "primary_ip": "76.76.21.98",
                "quality": {
                    "provider_diversity_score": 25,
                    "provider_confidence_score": 54,
                    "provider_fact_count": 0
                }
            },
            "evidence": {
                "scores": {
                    "legit": 0,
                    "safe": 0,
                    "trusted": 0,
                    "caution": 0,
                    "scam": 0,
                    "dangerous": 0,
                    "spam": 0,
                    "nsfw": 0
                },
                "counts": {
                    "official_presence": 0,
                    "business_profiles": 0,
                    "positive_reviews": 0,
                    "negative_reviews": 0,
                    "scam_reports": 0,
                    "dangerous_reports": 0,
                    "spam_reports": 0,
                    "adult_reports": 0
                },
                "tag_support": [],
                "top_supporting_facts": [],
                "top_positive_facts": []
            },
            "quality": {
                "source_diversity_score": 0,
                "entity_coverage_score": 100,
                "freshness_score": 18,
                "confidence": 24,
                "documents_fetched": 1,
                "external_documents_fetched": 0,
                "fact_count": 0,
                "avg_source_trust": 55,
                "avg_entity_score": 100,
                "fetch_success_rate": 100,
                "exact_match_score": 0,
                "query_coverage_score": 20,
                "host_coverage_score": 20,
                "source_type_coverage_score": 25,
                "qualified_evidence_score": 0,
                "exact_match_documents": 0,
                "blocked_candidates": 0,
                "used_direct_fallback": true,
                "external_results_found": 0,
                "provider_diversity_score": 25,
                "provider_confidence_score": 54,
                "provider_fact_count": 0
            },
            "decision": {
                "state": "insufficient",
                "uncertainty": true,
                "candidate_support": 0,
                "candidate_contradiction": 0,
                "supports": {
                    "dangerous": false,
                    "scam": false,
                    "spam": false,
                    "nsfw": false,
                    "trusted": false
                },
                "evidence_quality": "low",
                "state_label": "Inconclusive",
                "state_reason": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
            },
            "signals": {
                "scores": {
                    "legit": 0,
                    "safe": 0,
                    "trusted": 0,
                    "caution": 0,
                    "scam": 0,
                    "dangerous": 0,
                    "spam": 0,
                    "nsfw": 0
                },
                "counts": {
                    "official_presence": 0,
                    "business_profiles": 0,
                    "positive_reviews": 0,
                    "negative_reviews": 0,
                    "scam_reports": 0,
                    "dangerous_reports": 0,
                    "spam_reports": 0,
                    "adult_reports": 0
                },
                "candidate_support": 0,
                "candidate_contradiction": 0,
                "highlights": [
                    "IPinfo resolved the primary IP to US on AS16509.",
                    "External evidence remained inconclusive because diversity, exact matching, or confidence was still too weak."
                ]
            },
            "citations": [
                {
                    "title": "IPinfo IP enrichment",
                    "url": "https://ipinfo.io/developers",
                    "host": "ipinfo.io",
                    "snippet": "Primary IP 76.76.21.98 geolocates to US.",
                    "source_type": "ip_enrichment"
                }
            ],
            "urlscan": {
                "domain": "devops.nz",
                "status": "error",
                "submitted_at": "2026-03-19T13:51:00+00:00",
                "completed_at": null,
                "last_checked_at": "2026-03-19T13:51:00+00:00",
                "last_error": "Rate limit for 'public' exceeded. Limit is 500 per hour. Reset in 538 seconds.",
                "submitted_url": "https://devops.nz/",
                "uuid": "",
                "result_url": "",
                "api_result_url": "",
                "visibility": "public",
                "summary": "urlscan.io scan submission failed.",
                "report": [],
                "report_summary": [],
                "is_fresh": false,
                "can_retry": false,
                "poll_after_seconds": 20
            },
            "eligibility": {
                "budget_ms": 4200,
                "search_budget_ms": 1600,
                "review_budget_ms": 2600,
                "query_cap": 2,
                "provider_cap": 1,
                "result_cap": 6,
                "review_document_cap": 4,
                "search_connect_timeout": 2,
                "search_timeout": 3,
                "review_connect_timeout": 2,
                "review_timeout": 3,
                "allowed": true,
                "mode": "normal",
                "decision_code": "run_normal",
                "reason": "page-request",
                "summary": "Running a standard intelligence pass because the current signals need third-party corroboration.",
                "cooldown": {
                    "active": false,
                    "empty_attempts": 0,
                    "next_allowed_at": "",
                    "reason": "",
                    "provider_retry_at": ""
                },
                "suffix": {
                    "tld": "nz",
                    "registered_suffix": "nz",
                    "class": "high_confidence",
                    "reserved": false
                },
                "signals": {
                    "trust_score": 0,
                    "quality_score": 0,
                    "safety_score": 0,
                    "fraud_score": 0,
                    "spam_score": 0,
                    "nsfw_score": 0,
                    "score_confidence": 0,
                    "risk_label": "good",
                    "crawl_blocked": false,
                    "last_http_status": 0,
                    "content_word_count": 0,
                    "internal_links_count": 0,
                    "site_name": "",
                    "title": "",
                    "is_tracked": false
                }
            },
            "cooldown": {
                "empty_attempts": 1,
                "next_allowed_at": "2026-03-26T13:51:01+00:00",
                "reason": "Recent intelligence runs produced no qualified third-party evidence, so retries are cooled down to save budget.",
                "provider_retry_at": "",
                "last_reason": "page-request"
            },
            "debug": {
                "top_supporting_facts": [],
                "top_positive_facts": [],
                "ignored_candidates": [],
                "budget_ms": 4200,
                "search_budget_ms": 1600,
                "review_budget_ms": 2600,
                "search_mode": "page-request",
                "query_cap": 2,
                "provider_cap": 1,
                "result_cap": 6,
                "review_document_cap": 4,
                "reason": "page-request",
                "priority": 80,
                "eligibility_decision": "run_normal",
                "provider_statuses": {
                    "safebrowsing": "disabled",
                    "abuseipdb": "quota_exhausted",
                    "ipinfo": "ok",
                    "censys": "disabled",
                    "sslmate": "error"
                }
            },
            "last_good": {
                "checked_at": "2026-03-19T13:51:01+00:00",
                "summary": "External checks ran, but the verified result set was still too sparse to harden the verdict.",
                "decision": {
                    "state": "insufficient",
                    "uncertainty": true,
                    "candidate_support": 0,
                    "candidate_contradiction": 0,
                    "supports": {
                        "dangerous": false,
                        "scam": false,
                        "spam": false,
                        "nsfw": false,
                        "trusted": false
                    },
                    "evidence_quality": "low",
                    "state_label": "Inconclusive",
                    "state_reason": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
                },
                "signals": {
                    "scores": {
                        "legit": 0,
                        "safe": 0,
                        "trusted": 0,
                        "caution": 0,
                        "scam": 0,
                        "dangerous": 0,
                        "spam": 0,
                        "nsfw": 0
                    },
                    "counts": {
                        "official_presence": 0,
                        "business_profiles": 0,
                        "positive_reviews": 0,
                        "negative_reviews": 0,
                        "scam_reports": 0,
                        "dangerous_reports": 0,
                        "spam_reports": 0,
                        "adult_reports": 0
                    },
                    "candidate_support": 0,
                    "candidate_contradiction": 0,
                    "highlights": [
                        "IPinfo resolved the primary IP to US on AS16509.",
                        "External evidence remained inconclusive because diversity, exact matching, or confidence was still too weak."
                    ]
                },
                "citations": [
                    {
                        "title": "IPinfo IP enrichment",
                        "url": "https://ipinfo.io/developers",
                        "host": "ipinfo.io",
                        "snippet": "Primary IP 76.76.21.98 geolocates to US.",
                        "source_type": "ip_enrichment"
                    }
                ]
            }
        },
        "external_decision": {
            "state": "insufficient",
            "uncertainty": true,
            "candidate_support": 0,
            "candidate_contradiction": 0,
            "supports": {
                "dangerous": false,
                "scam": false,
                "spam": false,
                "nsfw": false,
                "trusted": false
            },
            "evidence_quality": "low",
            "state_label": "Inconclusive",
            "state_reason": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
        },
        "signal_scores": [
            {
                "label": "Strongest tag heuristic",
                "value": "Uncertain · 68%",
                "tone": "unknown",
                "detail": "The highest raw tag match from the heuristic engine before visibility thresholds and manual overrides."
            },
            {
                "label": "Trust score",
                "value": "17/100",
                "tone": "spam",
                "detail": "Confidence derived from authority, crawl quality, stability, and risk signals."
            },
            {
                "label": "Authority score",
                "value": "39/100",
                "tone": "caution",
                "detail": "A higher authority score usually means broader reputation and backlink confidence."
            },
            {
                "label": "Spam risk",
                "value": "19/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": "0/100",
                "tone": "good",
                "detail": "Lower is better. This reflects the IP, registrar, and nameserver neighbourhood seen by the crawler."
            },
            {
                "label": "Evidence confidence",
                "value": "100/100",
                "tone": "good",
                "detail": "Higher means the crawler had enough pages and registry evidence to make a stronger call."
            },
            {
                "label": "External evidence",
                "value": "Low",
                "tone": "unknown",
                "detail": "Quality of the structured search and review evidence cluster."
            },
            {
                "label": "External decision",
                "value": "Inconclusive",
                "tone": "unknown",
                "detail": "How third-party evidence compares with the current candidate tag."
            },
            {
                "label": "NSFW score",
                "value": "0/100",
                "tone": "good",
                "detail": "Context-aware adult-content detection with medical / educational false-positive reduction."
            },
            {
                "label": "Registry stability",
                "value": "100/100",
                "tone": "good",
                "detail": "Based on age, expiry runway, and the amount of ownership / registrar churn."
            }
        ],
        "signal_sections": [
            {
                "title": "Registry & ownership",
                "items": [
                    {
                        "label": "Domain age",
                        "value": "—",
                        "tone": "unknown",
                        "detail": "Older domains generally carry more historical trust than very new ones."
                    },
                    {
                        "label": "Stability score",
                        "value": "100/100",
                        "tone": "good",
                        "detail": "Penalised by registrar, ownership, and nameserver churn."
                    },
                    {
                        "label": "Days to expiry",
                        "value": "—",
                        "tone": "unknown",
                        "detail": "Very short renewal windows can be a weak trust signal."
                    },
                    {
                        "label": "Registrar / ownership changes",
                        "value": "0 / 0",
                        "tone": "good",
                        "detail": "Frequent ownership churn can weaken trust."
                    },
                    {
                        "label": "Nameserver changes",
                        "value": "0",
                        "tone": "good",
                        "detail": "Repeated infrastructure changes can indicate instability."
                    },
                    {
                        "label": "DNSSEC / privacy",
                        "value": "DNSSEC off · privacy off",
                        "tone": "caution",
                        "detail": "DNSSEC strengthens DNS trust; privacy is neutral on its own."
                    }
                ]
            },
            {
                "title": "Reputation & search evidence",
                "items": [
                    {
                        "label": "Backlinks",
                        "value": "1",
                        "tone": "unknown",
                        "detail": "Broader backlink evidence usually improves confidence."
                    },
                    {
                        "label": "Referring domains",
                        "value": "1",
                        "tone": "unknown",
                        "detail": "Unique linking domains are more useful than raw link volume."
                    },
                    {
                        "label": "Organic keywords",
                        "value": "81",
                        "tone": "caution",
                        "detail": "Search footprint helps distinguish real sites from thin shells."
                    },
                    {
                        "label": "Indexed pages",
                        "value": "733",
                        "tone": "good",
                        "detail": "Larger index coverage usually means more evidence to classify from."
                    },
                    {
                        "label": "Brand strength",
                        "value": "75/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 · 350 ms",
                        "tone": "good",
                        "detail": "Slow or broken technical signals weaken confidence."
                    },
                    {
                        "label": "Content words",
                        "value": "178",
                        "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": "14 internal · 5 external",
                        "tone": "good",
                        "detail": "Link patterns help detect thin directories and promo pages."
                    },
                    {
                        "label": "Page speed / mobile",
                        "value": "97/100 · 91/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": "Public search did not yield usable third-party matches, so the system fell back to first-party inspection only."
                    },
                    {
                        "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": "Active",
                        "tone": "caution",
                        "detail": "Prevents thin or mixed external evidence from forcing a stronger tag than the evidence can justify."
                    }
                ]
            }
        ],
        "positives": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence."
        ],
        "risks": [
            "Trust score is currently very low.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting."
        ]
    },
    "traffic_confidence": 54,
    "whois": {
        "current": {
            "id": 37963,
            "domain": "devops.nz",
            "source_type": "whois_text",
            "rdap_url": "",
            "registrar_name": "",
            "registrar_handle": "",
            "registrant_name": "",
            "registrant_org": "",
            "registrant_country": "",
            "registrant_email": "",
            "abuse_email": "",
            "created_date": null,
            "updated_date": null,
            "expires_date": null,
            "nameservers_json": "[]",
            "status_json": "[]",
            "dnssec": "unknown",
            "privacy_protected": 0,
            "content_hash": "f7e17c57c5fdd24df1793ece6bff99716369356b90b29c4725ac3ba12a76b72c",
            "history_count": 1,
            "last_checked_at": "2026-04-02 00:15:06",
            "last_changed_at": "2026-03-19 16:22:03",
            "created_at": "2026-03-19 16:22:04",
            "updated_at": "2026-04-02 00:15:06"
        },
        "history": [
            {
                "id": 38808,
                "domain": "devops.nz",
                "source_type": "whois_text",
                "registrar_name": "",
                "registrar_handle": "",
                "registrant_name": "",
                "registrant_org": "",
                "registrant_country": "",
                "registrant_email": "",
                "abuse_email": "",
                "created_date": null,
                "updated_date": null,
                "expires_date": null,
                "nameservers_json": "[]",
                "status_json": "[]",
                "dnssec": "unknown",
                "privacy_protected": 0,
                "content_hash": "f7e17c57c5fdd24df1793ece6bff99716369356b90b29c4725ac3ba12a76b72c",
                "checked_at": "2026-03-19 16:22:03",
                "change_summary": "Initial WHOIS snapshot captured.",
                "created_at": "2026-03-19 16:22:03"
            }
        ],
        "signals": {
            "age_years": 0,
            "days_to_expiry": null,
            "days_since_last_registry_update": null,
            "stability_score": 100,
            "registrar_changes": 0,
            "ownership_changes": 0,
            "nameserver_changes": 0,
            "status_changes": 0,
            "history_entries": 1,
            "privacy_protected": false,
            "dnssec_enabled": false,
            "has_registrant_country": false,
            "registrant_country": "",
            "nameserver_count": 0,
            "status_count": 0
        }
    },
    "discovered_domain": {
        "id": 95919,
        "domain": "devops.nz",
        "first_seen_at": "2026-03-15 21:47:22",
        "last_crawled_at": "2026-04-02 00:15:07",
        "last_title": "DevOps New Zealand | Kiwi Collaboration, Culture and Technolology",
        "last_http_status": 200,
        "discovered_from_domain": "512kb.club",
        "depth": 0,
        "backlinks_count": 1,
        "rating_cache": 24,
        "spam_score": 28,
        "risk_label": "good",
        "category_name": "Developer Tools",
        "primary_country_code": "NZ",
        "internal_links_count": 14,
        "external_links_count": 5,
        "social_profiles_count": 2,
        "content_word_count": 178,
        "title_quality_score": 93,
        "has_meta_description": 1,
        "has_h1": 1,
        "language_code": "en",
        "response_time_ms": 350,
        "robots_status": 200,
        "sitemap_status": 200,
        "sitemap_total_urls": 733,
        "quality_score": 100,
        "site_name": "DevOps New Zealand",
        "canonical_domain": "",
        "favicon_present": 0,
        "schema_org_count": 1,
        "noindex_detected": 0,
        "feed_links_count": 2,
        "https_working": 1,
        "estimated_authority_score": 37,
        "trust_score": 16,
        "nsfw_score": 0,
        "overall_rank_estimate": 2592084,
        "primary_tag": "D",
        "tag_codes": "D,Phish",
        "manual_verified_status": "",
        "manual_tag_codes": "",
        "manual_rating_delta": 0,
        "manual_authority_delta": 0,
        "manual_trust_delta": 0,
        "manual_note": null,
        "manual_adjusted_by": null,
        "manual_adjusted_at": null,
        "manual_lock_scores": 0,
        "manual_lock_flags": 0,
        "crawl_blocked": 0,
        "crawl_blocked_by": "",
        "crawl_blocked_reason": null,
        "safety_score": 100,
        "fraud_score": 0,
        "legitimacy_score": 61,
        "infrastructure_risk_score": 0,
        "score_confidence": 98,
        "tag_confidence": 72,
        "category_confidence": 55,
        "deep_crawl_pages": 50,
        "resolved_ip": "76.76.21.241",
        "category_candidates_json": "[{\"category\":\"Developer Tools\",\"score\":50},{\"category\":\"Business\",\"score\":22},{\"category\":\"News & Media\",\"score\":17},{\"category\":\"Travel\",\"score\":17}]",
        "page_signals_json": "[{\"path\":\"/about.html\",\"status\":200,\"title\":\"About | DevOps New Zealand\",\"word_count\":316,\"summary_text\":\"About | DevOps New Zealand About | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"description\\\":\\\"About DevOps New Zealand, by Julian Simpson\\\",\\\"headline\\\":\\\"About\\\",\\\"url\\\":\\\"https://devops.nz/about.html\\\"} DevOps New Zealand About Contact AboutThis site is developed and maintained by Julian Simpson. Julian’s mission is to help everyone get their code into production as soon as they can. Software is better when it works for us, not when we lose it in the cracks between teams.Julian has been a:Unix Systems AdministratorBuild and release consultant at ThoughtWorks and other companiesSystems administrator, Puppet coder and operations manager at a startup.DevOps Consultant at the Build Doctor LimitedMany, many things at startups.Presently he is a Security Consultant at Safe Advisory.Articles and publicati\",\"classification_terms\":[\"about.html\",\"about\",\"contact\",\"help\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/contact.html\",\"status\":200,\"title\":\"Contact | DevOps New Zealand\",\"word_count\":27,\"summary_text\":\"Contact | DevOps New Zealand Contact | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"description\\\":\\\"Kiwi Collaboration, Culture and Technolology\\\",\\\"headline\\\":\\\"Contact\\\",\\\"url\\\":\\\"https://devops.nz/contact.html\\\"} DevOps New Zealand About Contact ContactYour EmailYour NameMessageSubmit DevOps New Zealand simpsonjulianbuilddoctor.bsky.socialjuliansimpson Kiwi Collaboration, Culture and Technolology\",\"classification_terms\":[\"contact.html\",\"about\",\"contact\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":1,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":1,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/2025/10/03/statica-a-tool-to-run-some-of-my-favourite-appsec-tools.html\",\"status\":200,\"title\":\"Statica - how I run some of my favourite AppSec tools | DevOps New Zealand\",\"word_count\":287,\"summary_text\":\"Statica - how I run some of my favourite AppSec tools | DevOps New Zealand Statica - how I run some of my favourite AppSec tools | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2025-10-03T16:20:45+13:00\\\",\\\"datePublished\\\":\\\"2025-10-03T16:20:45+13:00\\\",\\\"description\\\":\\\"Static analysis is a powerful technique for catching security issues. But tools that depend on compilation aren’t always easy, especially if you don’t have the right dependencies or you’re stuck on Apple Silicon with legacy code.\\\",\\\"headline\\\":\\\"Statica - how I run some of my favourite AppSec tools\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2025/10/03/statica-a-tool-to-run-some-of-my-favourite-appsec-tools.html\\\"},\\\"url\\\":\\\"https://devops.nz/2025/10/03/statica-a-tool-to-run-some-of-my-favourite-ap\",\"classification_terms\":[\"2025/10/03/statica-a-tool-to-run-some-of-my-favourite-appsec-tools.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/2022/10/31/pipeline-pull-request-pain-on-ado.html\",\"status\":200,\"title\":\"Pipeline Pull Request Pain on ADO? | DevOps New Zealand\",\"word_count\":295,\"summary_text\":\"Pipeline Pull Request Pain on ADO? | DevOps New Zealand Pipeline Pull Request Pain on ADO? | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2022-10-31T18:47:42+13:00\\\",\\\"datePublished\\\":\\\"2022-10-31T18:47:42+13:00\\\",\\\"description\\\":\\\"I ran into this issue a couple of times recently, so here’s my notes on the matter.\\\",\\\"headline\\\":\\\"Pipeline Pull Request Pain on ADO?\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2022/10/31/pipeline-pull-request-pain-on-ado.html\\\"},\\\"url\\\":\\\"https://devops.nz/2022/10/31/pipeline-pull-request-pain-on-ado.html\\\"} DevOps New Zealand About Contact Pipeline Pull Request Pain on ADO? Oct 31, 2022 • Julian SimpsonShare:I ran into this issue a couple of times recently, so here’s my notes on the matter.I’ve needed to make a YA\",\"classification_terms\":[\"2022/10/31/pipeline-pull-request-pain-on-ado.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/2022/10/18/securikube-part-1-linting.html\",\"status\":200,\"title\":\"Securikube Part 1: Linting and Vulnerability Checking | DevOps New Zealand\",\"word_count\":793,\"summary_text\":\"Securikube Part 1: Linting and Vulnerability Checking | DevOps New Zealand Securikube Part 1: Linting and Vulnerability Checking | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2022-10-18T17:16:55+13:00\\\",\\\"datePublished\\\":\\\"2022-10-18T17:16:55+13:00\\\",\\\"description\\\":\\\"( this post carries on from Securikube Part 0) It’s all good to secure your servers, be they Kubernetes or anything else. Sometimes the applications make that job harder: the applications will break if you stop them doing insecure things, like running as root. In this post we’ll look at two approaches: linting Dockerfiles, and scanning Docker images for vulnerabilities.\\\",\\\"headline\\\":\\\"Securikube Part 1: Linting and Vulnerability Checking\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2022/10/18/s\",\"classification_terms\":[\"2022/10/18/securikube-part-1-linting.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":18,\"depth\":1},{\"path\":\"/2022/06/06/securikube-part-0.html\",\"status\":200,\"title\":\"Securikube, part 0 | DevOps New Zealand\",\"word_count\":588,\"summary_text\":\"Securikube, part 0 | DevOps New Zealand Securikube, part 0 | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2022-06-06T18:34:02+12:00\\\",\\\"datePublished\\\":\\\"2022-06-06T18:34:02+12:00\\\",\\\"description\\\":\\\"I’ve been avoiding unnecessary outings because of COVID cases in our household. This is a perfect opportunity to do some research. I’ve done plenty with Docker: I’ve found it great for externalizing dependencies in development environments. I have also done security work around the edges of AKS or EKS. Next I’m interested in digging deeper into Kubernetes security inside the cluster, but I’d like to deploy a cluster or two for myself first.\\\",\\\"headline\\\":\\\"Securikube, part 0\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2022/06/06\",\"classification_terms\":[\"2022/06/06/securikube-part-0.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/2022/06/25/addition-on-the-command-line.html\",\"status\":200,\"title\":\"Addition on the command line | DevOps New Zealand\",\"word_count\":232,\"summary_text\":\"Addition on the command line | DevOps New Zealand Addition on the command line | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2022-06-25T16:50:54+12:00\\\",\\\"datePublished\\\":\\\"2022-06-25T16:50:54+12:00\\\",\\\"description\\\":\\\"How much did our household spend on power last year? I wish I had an app that would parse all my bank statements and tell me what it costs just to stay alive, but my bank doesn’t do integrations well. In fact, given that my power company sunset their consumer API, things seem to be even less connected.\\\",\\\"headline\\\":\\\"Addition on the command line\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2022/06/25/addition-on-the-command-line.html\\\"},\\\"url\\\":\\\"https://devops.nz/2022/06/25/addition-on-the-command-line.html\\\"} DevOps New Z\",\"classification_terms\":[\"2022/06/25/addition-on-the-command-line.html\",\"company\",\"api\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/2022/01/26/the-fish-rots-from-the-headers-down.html\",\"status\":200,\"title\":\"The fish rots from the headers down | DevOps New Zealand\",\"word_count\":238,\"summary_text\":\"The fish rots from the headers down | DevOps New Zealand The fish rots from the headers down | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2022-01-26T19:14:23+13:00\\\",\\\"datePublished\\\":\\\"2022-01-26T19:14:23+13:00\\\",\\\"description\\\":\\\"OK, the real saying is the fish rots from the head down: if your CEO allows awful behaviours to happen at work without intervention, then they should take the blame when those behaviours become normalised in the organisation that they run. This post is not about that.\\\",\\\"headline\\\":\\\"The fish rots from the headers down\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2022/01/26/the-fish-rots-from-the-headers-down.html\\\"},\\\"url\\\":\\\"https://devops.nz/2022/01/26/the-fish-rots-from-the-headers-down.html\\\"} DevOps New Zealand\",\"classification_terms\":[\"2022/01/26/the-fish-rots-from-the-headers-down.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/2021/08/07/misadventures-in-securing-iac.html\",\"status\":200,\"title\":\"Misadventures in securing IaC | DevOps New Zealand\",\"word_count\":637,\"summary_text\":\"Misadventures in securing IaC | DevOps New Zealand Misadventures in securing IaC | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2021-08-07T16:24:30+12:00\\\",\\\"datePublished\\\":\\\"2021-08-07T16:24:30+12:00\\\",\\\"description\\\":\\\"I’ve had an Infrastructure-as-Code repo since around 2005. That used to be Puppet code, and included config for bind, apache/nginx, dovecot IMAP, and postfix. There were a few years of apathy in which I hosted DNS elsewhere: this cascaded into all sorts of pain.\\\",\\\"headline\\\":\\\"Misadventures in securing IaC\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2021/08/07/misadventures-in-securing-iac.html\\\"},\\\"url\\\":\\\"https://devops.nz/2021/08/07/misadventures-in-securing-iac.html\\\"} DevOps New Zealand About Contact Misadventures in\",\"classification_terms\":[\"2021/08/07/misadventures-in-securing-iac.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/2021/05/25/using-sast-tools-to-prevent-disaster.html\",\"status\":200,\"title\":\"Using SAST tools to prevent disaster | DevOps New Zealand\",\"word_count\":416,\"summary_text\":\"Using SAST tools to prevent disaster | DevOps New Zealand Using SAST tools to prevent disaster | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2021-05-25T11:46:22+12:00\\\",\\\"datePublished\\\":\\\"2021-05-25T11:46:22+12:00\\\",\\\"description\\\":\\\"Static analysis tools help people write better software, by telling them how they goofed. SAST tools are the evolution of static analysis: tools that point out the security goofs in your code. No tool is perfect, or the replacement for a very skilled reviewer with a lot of time: for example, SAST tools will generate false positives. They’re also very low-effort method of getting feedback for developers.\\\",\\\"headline\\\":\\\"Using SAST tools to prevent disaster\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2021/05/25/u\",\"classification_terms\":[\"2021/05/25/using-sast-tools-to-prevent-disaster.html\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/2021/05/21/site-improvements.html\",\"status\":200,\"title\":\"Site improvements | DevOps New Zealand\",\"word_count\":200,\"summary_text\":\"Site improvements | DevOps New Zealand Site improvements | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2021-05-21T12:02:53+12:00\\\",\\\"datePublished\\\":\\\"2021-05-21T12:02:53+12:00\\\",\\\"description\\\":\\\"I’ve had a little time to clean up this website. There were a few issues:\\\",\\\"headline\\\":\\\"Site improvements\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2021/05/21/site-improvements.html\\\"},\\\"url\\\":\\\"https://devops.nz/2021/05/21/site-improvements.html\\\"} DevOps New Zealand About Contact Site improvements May 21, 2021 • Julian SimpsonShare:I’ve had a little time to clean up this website. There were a few issues:The site still had stylesheets loading for Bulma, which I stopped using in favour of my own minimal CSS. I also had references\",\"classification_terms\":[\"2021/05/21/site-improvements.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/2021/04/27/3-lessons-learned-from-a-decade-in-startups.html\",\"status\":200,\"title\":\"3 lessons learned from a decade in startups | DevOps New Zealand\",\"word_count\":443,\"summary_text\":\"3 lessons learned from a decade in startups | DevOps New Zealand 3 lessons learned from a decade in startups | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2021-04-27T23:00:35+12:00\\\",\\\"datePublished\\\":\\\"2021-04-27T23:00:35+12:00\\\",\\\"description\\\":\\\"I’m currently working in the 5th venture funded organisation in my career. It’s almost 10 years since I started working with Neo4j: I was consulting for them around the 3rd quarter of 2011, and then joined full-time for the next few years. Here’s some idle thoughts around startups:\\\",\\\"headline\\\":\\\"3 lessons learned from a decade in startups\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2021/04/27/3-lessons-learned-from-a-decade-in-startups.html\\\"},\\\"url\\\":\\\"https://devops.nz/2021/04/27/3-lessons-learned-from-a\",\"classification_terms\":[\"2021/04/27/3-lessons-learned-from-a-decade-in-startups.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":1},{\"path\":\"/page/2/index.html\",\"status\":200,\"title\":\"Page 2 of 52 for DevOps New Zealand - page 2 | DevOps New Zealand\",\"word_count\":672,\"summary_text\":\"Page 2 of 52 for DevOps New Zealand - page 2 | DevOps New Zealand Page 2 of 52 for DevOps New Zealand - page 2 | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"description\\\":\\\"DevOps New Zealand is an irreverent look at DevOps from a New Zealand perspective.\\\",\\\"headline\\\":\\\"DevOps New Zealand - page 2\\\",\\\"url\\\":\\\"https://devops.nz/page/2/\\\"} DevOps New Zealand About Contact DevOps, Security, and Getting It Right First Time New Zealand's small size is our superpower. With tight-knit teams and limited resources, we can't afford to get things wrong. Security and reliability aren't just nice-to-haves, they're essential. Our national identity is built on making things work with what we've got, and that means getting software delivery right the first time.DevOps and strong security practices help us punch above our weight. Smaller budgets and tea\",\"classification_terms\":[\"page/2/index.html\",\"about\",\"contact\",\"help\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":1},{\"path\":\"/2021/02/07/lost-in-the-weeds.html\",\"status\":200,\"title\":\"Lost in the weeds | DevOps New Zealand\",\"word_count\":245,\"summary_text\":\"Lost in the weeds | DevOps New Zealand Lost in the weeds | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2021-02-07T18:54:30+13:00\\\",\\\"datePublished\\\":\\\"2021-02-07T18:54:30+13:00\\\",\\\"description\\\":\\\"We live on a corner section, and I mow a lot of lawns. Not just ours, but the berm on the 2 streets of the corner. There’s so much grass that I’ve given up on mowing with a catcher: I’d rather not have garden waste trucked off to be composted.\\\",\\\"headline\\\":\\\"Lost in the weeds\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2021/02/07/lost-in-the-weeds.html\\\"},\\\"url\\\":\\\"https://devops.nz/2021/02/07/lost-in-the-weeds.html\\\"} DevOps New Zealand About Contact Lost in the weeds Feb 7, 2021 • Julian SimpsonShare:We live on a corner section, an\",\"classification_terms\":[\"2021/02/07/lost-in-the-weeds.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2021/01/23/analytics-without-dramatics.html\",\"status\":200,\"title\":\"Analytics without dramatics | DevOps New Zealand\",\"word_count\":466,\"summary_text\":\"Analytics without dramatics | DevOps New Zealand Analytics without dramatics | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2021-01-23T17:26:52+13:00\\\",\\\"datePublished\\\":\\\"2021-01-23T17:26:52+13:00\\\",\\\"description\\\":\\\"Web analytics was a garish business before Google released their analytics service. I’ve spent a lot of time tinkering with log analyzers like Analog and AWStats to find out how web properties were being used; managing log archives is fiddly, configuring the analytics apps is fiddly (though special mention to GoAccess, because you can run it in a terminal to see what one host is up to).\\\",\\\"headline\\\":\\\"Analytics without dramatics\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2021/01/23/analytics-without-dramatics.html\\\"},\\\"\",\"classification_terms\":[\"2021/01/23/analytics-without-dramatics.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2020/12/30/2020.html\",\"status\":200,\"title\":\"2020 | DevOps New Zealand\",\"word_count\":254,\"summary_text\":\"2020 | DevOps New Zealand 2020 | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2020-12-30T15:12:19+13:00\\\",\\\"datePublished\\\":\\\"2020-12-30T15:12:19+13:00\\\",\\\"description\\\":\\\"What did I learn in 2020?\\\",\\\"headline\\\":\\\"2020\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2020/12/30/2020.html\\\"},\\\"url\\\":\\\"https://devops.nz/2020/12/30/2020.html\\\"} DevOps New Zealand About Contact 2020 Dec 30, 2020 • Julian SimpsonShare:What did I learn in 2020?Humans are terrible at assessing risksThe things that we often take for granted are fragileThere’s a lot we can do away withMost of the year, I was just relieved to be employed, and in the comparative safety of New Zealand. I did do a little freelance work this year; it was nice to write\",\"classification_terms\":[\"2020/12/30/2020.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2020/05/27/agile-conversations.html\",\"status\":200,\"title\":\"Agile Conversations | DevOps New Zealand\",\"word_count\":377,\"summary_text\":\"Agile Conversations | DevOps New Zealand Agile Conversations | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2020-05-27T16:04:22+12:00\\\",\\\"datePublished\\\":\\\"2020-05-27T16:04:22+12:00\\\",\\\"description\\\":\\\"… once they got done counting their money, marketing the spinoffs, soaking up the adulation of others in the hacker community, they all came to the realization that what made this place a success was not the collision-avoidance algorithms or the bouncer daemons or any of that other stuff. It was Juanita’s faces.\\\",\\\"headline\\\":\\\"Agile Conversations\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2020/05/27/agile-conversations.html\\\"},\\\"url\\\":\\\"https://devops.nz/2020/05/27/agile-conversations.html\\\"} DevOps New Zealand About Contact Agile\",\"classification_terms\":[\"2020/05/27/agile-conversations.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2020/04/22/my-problem-with-wsl.html\",\"status\":200,\"title\":\"My problem with WSL | DevOps New Zealand\",\"word_count\":461,\"summary_text\":\"My problem with WSL | DevOps New Zealand My problem with WSL | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2020-04-22T10:54:35+12:00\\\",\\\"datePublished\\\":\\\"2020-04-22T10:54:35+12:00\\\",\\\"description\\\":\\\"In retrospect, I should have asked for a MacBook Pro when I joined my last employer. In fact, I ended up with a Windows 10 machine. This isn’t the worst thing in the world; one of my roles is to do some governance on our IT contractors, so I have an appetite for a certain amount of dogfood. Where that falls over is when I want to use WSL for non-trivial things.\\\",\\\"headline\\\":\\\"My problem with WSL\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2020/04/22/my-problem-with-wsl.html\\\"},\\\"url\\\":\\\"https://devops.nz/2020/04/22/my-problem-with\",\"classification_terms\":[\"2020/04/22/my-problem-with-wsl.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2020/04/15/the-application-is-you.html\",\"status\":200,\"title\":\"The Application is You | DevOps New Zealand\",\"word_count\":347,\"summary_text\":\"The Application is You | DevOps New Zealand The Application is You | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2020-04-15T12:57:24+12:00\\\",\\\"datePublished\\\":\\\"2020-04-15T12:57:24+12:00\\\",\\\"description\\\":\\\"In the dark times (when businesses had offices, LANs and lunchrooms) it was quite common to see MS Access applications. Or FileMaker for the posh businesses. They’d be shared via SMB on the local network. Some of these networks didn’t run TCP/IP.\\\",\\\"headline\\\":\\\"The Application is You\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2020/04/15/the-application-is-you.html\\\"},\\\"url\\\":\\\"https://devops.nz/2020/04/15/the-application-is-you.html\\\"} DevOps New Zealand About Contact The Application is You Apr 15, 2020 • Julian SimpsonShare:In\",\"classification_terms\":[\"2020/04/15/the-application-is-you.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2020/02/16/jamstack-tomorrow.html\",\"status\":200,\"title\":\"Jamstack Today | DevOps New Zealand\",\"word_count\":313,\"summary_text\":\"Jamstack Today | DevOps New Zealand Jamstack Today | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2020-02-16T13:11:24+13:00\\\",\\\"datePublished\\\":\\\"2020-02-16T13:11:24+13:00\\\",\\\"description\\\":\\\"It turns out that this site is almost built using JAM Stack. There’s not much JavaScript or API usage, but it’s definitely Markup.\\\",\\\"headline\\\":\\\"Jamstack Today\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2020/02/16/jamstack-tomorrow.html\\\"},\\\"url\\\":\\\"https://devops.nz/2020/02/16/jamstack-tomorrow.html\\\"} DevOps New Zealand About Contact Jamstack Today Feb 16, 2020 • Julian SimpsonShare:It turns out that this site is almost built using JAM Stack. There’s not much JavaScript or API usage, but it’s definitely Markup.Deployment was on an N\",\"classification_terms\":[\"2020/02/16/jamstack-tomorrow.html\",\"about\",\"contact\",\"api\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2018/09/02/terraform.-omg.html\",\"status\":200,\"title\":\"Terraform. OMG | DevOps New Zealand\",\"word_count\":157,\"summary_text\":\"Terraform. OMG | DevOps New Zealand Terraform. OMG | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2018-09-02T16:54:21+12:00\\\",\\\"datePublished\\\":\\\"2018-09-02T16:54:21+12:00\\\",\\\"description\\\":\\\"Recently I found myself in the rare situation of needing to interview for a job ( spoiler: I got it). They asked for a technical test, so I made a thing.\\\",\\\"headline\\\":\\\"Terraform. OMG\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2018/09/02/terraform.-omg.html\\\"},\\\"url\\\":\\\"https://devops.nz/2018/09/02/terraform.-omg.html\\\"} DevOps New Zealand About Contact Terraform. OMG Sep 2, 2018 • Julian SimpsonShare:Recently I found myself in the rare situation of needing to interview for a job ( spoiler: I got it). They asked for a technical test, s\",\"classification_terms\":[\"2018/09/02/terraform.-omg.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2018/06/11/ersatz-aws-cost-allocation.html\",\"status\":200,\"title\":\"Ersatz AWS Cost Allocation | DevOps New Zealand\",\"word_count\":331,\"summary_text\":\"Ersatz AWS Cost Allocation | DevOps New Zealand Ersatz AWS Cost Allocation | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2018-06-11T12:51:41+12:00\\\",\\\"datePublished\\\":\\\"2018-06-11T12:51:41+12:00\\\",\\\"description\\\":\\\"I’m evaluating a tool to help keep tabs on our AWS spend. One challenge is that they don’t yet support AWS Cost Allocation tags. I find these to be a godsend for working out who created AWS resources. So I agreed to whip up a quick lambda script to get the cost allocation tag and expose as a plain user tag.\\\",\\\"headline\\\":\\\"Ersatz AWS Cost Allocation\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2018/06/11/ersatz-aws-cost-allocation.html\\\"},\\\"url\\\":\\\"https://devops.nz/2018/06/11/ersatz-aws-cost-allocation.html\\\"} DevOps New Zeal\",\"classification_terms\":[\"2018/06/11/ersatz-aws-cost-allocation.html\",\"support\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/2018/04/30/devops-days-nz-2018.html\",\"status\":200,\"title\":\"DevOps Days NZ 2018 | DevOps New Zealand\",\"word_count\":179,\"summary_text\":\"DevOps Days NZ 2018 | DevOps New Zealand DevOps Days NZ 2018 | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2018-04-30T16:37:07+12:00\\\",\\\"datePublished\\\":\\\"2018-04-30T16:37:07+12:00\\\",\\\"description\\\":\\\"I’m very happy to be a member of a highly effective distributed team. We get things done, we look after each other, and enjoy doing what we do.\\\",\\\"headline\\\":\\\"DevOps Days NZ 2018\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2018/04/30/devops-days-nz-2018.html\\\"},\\\"url\\\":\\\"https://devops.nz/2018/04/30/devops-days-nz-2018.html\\\"} DevOps New Zealand About Contact DevOps Days NZ 2018 Apr 30, 2018 • Julian SimpsonShare:I’m very happy to be a member of a highly effective distributed team. We get things done, we look after each other, and\",\"classification_terms\":[\"2018/04/30/devops-days-nz-2018.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":2},{\"path\":\"/index.html\",\"status\":200,\"title\":\"DevOps New Zealand | Kiwi Collaboration, Culture and Technolology\",\"word_count\":178,\"summary_text\":\"DevOps New Zealand | Kiwi Collaboration, Culture and Technolology DevOps New Zealand | Kiwi Collaboration, Culture and Technolology {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebSite\\\",\\\"description\\\":\\\"DevOps New Zealand is an irreverent look at DevOps from a New Zealand perspective.\\\",\\\"headline\\\":\\\"DevOps New Zealand\\\",\\\"name\\\":\\\"DevOps New Zealand\\\",\\\"url\\\":\\\"https://devops.nz/\\\"} DevOps New Zealand About Contact DevOps, Security, and Getting It Right First Time New Zealand's small size is our superpower. With tight-knit teams and limited resources, we can't afford to get things wrong. Security and reliability aren't just nice-to-haves, they're essential. Our national identity is built on making things work with what we've got, and that means getting software delivery right the first time.DevOps and strong security practices help us punch above our weight. Smaller bud\",\"classification_terms\":[\"index.html\",\"about\",\"contact\",\"help\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/page/3/index.html\",\"status\":200,\"title\":\"Page 3 of 52 for DevOps New Zealand - page 3 | DevOps New Zealand\",\"word_count\":599,\"summary_text\":\"Page 3 of 52 for DevOps New Zealand - page 3 | DevOps New Zealand Page 3 of 52 for DevOps New Zealand - page 3 | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"description\\\":\\\"DevOps New Zealand is an irreverent look at DevOps from a New Zealand perspective.\\\",\\\"headline\\\":\\\"DevOps New Zealand - page 3\\\",\\\"url\\\":\\\"https://devops.nz/page/3/\\\"} DevOps New Zealand About Contact DevOps, Security, and Getting It Right First Time New Zealand's small size is our superpower. With tight-knit teams and limited resources, we can't afford to get things wrong. Security and reliability aren't just nice-to-haves, they're essential. Our national identity is built on making things work with what we've got, and that means getting software delivery right the first time.DevOps and strong security practices help us punch above our weight. Smaller budgets and tea\",\"classification_terms\":[\"page/3/index.html\",\"about\",\"contact\",\"help\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":2},{\"path\":\"/2018/03/10/long-distance-travel-tips.html\",\"status\":200,\"title\":\"Long distance travel tips | DevOps New Zealand\",\"word_count\":625,\"summary_text\":\"Long distance travel tips | DevOps New Zealand Long distance travel tips | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2018-03-10T13:53:26+13:00\\\",\\\"datePublished\\\":\\\"2018-03-10T13:53:26+13:00\\\",\\\"description\\\":\\\"We’re a long way from anywhere in New Zealand, exception for Australia or Fiji. There’s a lot more conferences outside of our region. Travelling 12 hours or more is hard.\\\",\\\"headline\\\":\\\"Long distance travel tips\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2018/03/10/long-distance-travel-tips.html\\\"},\\\"url\\\":\\\"https://devops.nz/2018/03/10/long-distance-travel-tips.html\\\"} DevOps New Zealand About Contact Long distance travel tips Mar 10, 2018 • Julian SimpsonShare:We’re a long way from anywhere in New Zealand, exception for Au\",\"classification_terms\":[\"2018/03/10/long-distance-travel-tips.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":3},{\"path\":\"/2018/02/17/across-the-ditch.html\",\"status\":200,\"title\":\"Across the ditch | DevOps New Zealand\",\"word_count\":325,\"summary_text\":\"Across the ditch | DevOps New Zealand Across the ditch | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2018-02-17T12:33:26+13:00\\\",\\\"datePublished\\\":\\\"2018-02-17T12:33:26+13:00\\\",\\\"description\\\":\\\"I’m a huge AWS fan, but I have some reservations about using it for this site:\\\",\\\"headline\\\":\\\"Across the ditch\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2018/02/17/across-the-ditch.html\\\"},\\\"url\\\":\\\"https://devops.nz/2018/02/17/across-the-ditch.html\\\"} DevOps New Zealand About Contact Across the ditch Feb 17, 2018 • Julian SimpsonShare:I’m a huge AWS fan, but I have some reservations about using it for this site:It’s an NZ site: I don’t expect there to be an NZ region for quite some timeIt’s fine to use the bells and whistles like A\",\"classification_terms\":[\"2018/02/17/across-the-ditch.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":3},{\"path\":\"/2018/02/07/goodbye-snap-hello-acquisitions.html\",\"status\":200,\"title\":\"Goodbye SnapCI (and other news) | DevOps New Zealand\",\"word_count\":350,\"summary_text\":\"Goodbye SnapCI (and other news) | DevOps New Zealand Goodbye SnapCI (and other news) | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2018-02-07T21:44:56+13:00\\\",\\\"datePublished\\\":\\\"2018-02-07T21:44:56+13:00\\\",\\\"description\\\":\\\"So after my gushing post about the wonders of Snap, ThoughtWorks shut it down. The official, off the record line was that they didn’t have the user engagement numbers to justify the development efforts. I can also understand that they wanted to simplify the portfolio before they were sold to private equity.\\\",\\\"headline\\\":\\\"Goodbye SnapCI (and other news)\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2018/02/07/goodbye-snap-hello-acquisitions.html\\\"},\\\"url\\\":\\\"https://devops.nz/2018/02/07/goodbye-snap-hello-acquisitions.ht\",\"classification_terms\":[\"2018/02/07/goodbye-snap-hello-acquisitions.html\",\"about\",\"news\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":3},{\"path\":\"/2016/03/17/snapci-everything-i-ever-wanted.html\",\"status\":200,\"title\":\"SnapCI: everything I ever wanted | DevOps New Zealand\",\"word_count\":697,\"summary_text\":\"SnapCI: everything I ever wanted | DevOps New Zealand SnapCI: everything I ever wanted | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2016-03-17T12:29:11+13:00\\\",\\\"datePublished\\\":\\\"2016-03-17T12:29:11+13:00\\\",\\\"description\\\":\\\"Some time ago, I worked at ThoughtWorks.  It was my job to ensure that the CI server was accurately giving feedback to the team,and that we had a remote hope of deploying applications into production.  ThoughtWorks had (and has) some incredible people: I probably should have stuck around longer. At the time, I was frustrated with the CI tools that we had.  The three different ports of CruiseControl that we tended to use (probably why Jenkins ate CruiseControl&#39;s lunch) all suffered from similar issues:  Configuration wasn&#39;t\",\"classification_terms\":[\"2016/03/17/snapci-everything-i-ever-wanted.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":3},{\"path\":\"/2018/02/06/moving-house.html\",\"status\":200,\"title\":\"Moving House | DevOps New Zealand\",\"word_count\":290,\"summary_text\":\"Moving House | DevOps New Zealand Moving House | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2018-02-06T14:05:10+13:00\\\",\\\"datePublished\\\":\\\"2018-02-06T14:05:10+13:00\\\",\\\"description\\\":\\\"You’d think that writing the occasional blog post would be easy when you work at home. Apparently not.\\\",\\\"headline\\\":\\\"Moving House\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2018/02/06/moving-house.html\\\"},\\\"url\\\":\\\"https://devops.nz/2018/02/06/moving-house.html\\\"} DevOps New Zealand About Contact Moving House Feb 6, 2018 • Julian SimpsonShare:You’d think that writing the occasional blog post would be easy when you work at home. Apparently not.The first post on The Build Doctor was written in November 2007, A decade ago and half a world\",\"classification_terms\":[\"2018/02/06/moving-house.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":3},{\"path\":\"/2016/03/07/devops-conference-calendar.html\",\"status\":200,\"title\":\"DevOps Conference Calendar | DevOps New Zealand\",\"word_count\":126,\"summary_text\":\"DevOps Conference Calendar | DevOps New Zealand DevOps Conference Calendar | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2016-03-07T10:51:54+13:00\\\",\\\"datePublished\\\":\\\"2016-03-07T10:51:54+13:00\\\",\\\"description\\\":\\\"Neal Mueller asked me to share his DevOps Conferences site.  Nice to have a list of relevant conferences.  I&#39;d love to be able to subscribe to them, so I could be reminded to look into proposals before the deadline.  Mind you, that would mean leaving the house.\\\",\\\"headline\\\":\\\"DevOps Conference Calendar\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2016/03/07/devops-conference-calendar.html\\\"},\\\"url\\\":\\\"https://devops.nz/2016/03/07/devops-conference-calendar.html\\\"} DevOps New Zealand About Contact DevOps Conference Calenda\",\"classification_terms\":[\"2016/03/07/devops-conference-calendar.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":3},{\"path\":\"/2015/07/27/containers-is-the-new-aws-in-ci.html\",\"status\":200,\"title\":\"Containers are the new AWS in CI | DevOps New Zealand\",\"word_count\":170,\"summary_text\":\"Containers are the new AWS in CI | DevOps New Zealand Containers are the new AWS in CI | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2015-07-27T16:04:42+12:00\\\",\\\"datePublished\\\":\\\"2015-07-27T16:04:42+12:00\\\",\\\"description\\\":\\\"When Atlassian came out with AWS integration, it was a great step forward. Jenkins announced support for Kubernetes a few days ago, and I think many vendors will be accelerating plans to support Docker ( and then making it easy to developer apps that can cluster on Kubernetes). I don&#39;t use Jenkins any more (mainly because I&#39;m exceptionally lazy), but it&#39;s good that they&#39;re escalating this arms race.\\\",\\\"headline\\\":\\\"Containers are the new AWS in CI\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2015/07/\",\"classification_terms\":[\"2015/07/27/containers-is-the-new-aws-in-ci.html\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":3},{\"path\":\"/2015/07/06/devops-vs-scm.html\",\"status\":200,\"title\":\"DevOps vs. SCM | DevOps New Zealand\",\"word_count\":651,\"summary_text\":\"DevOps vs. SCM | DevOps New Zealand DevOps vs. SCM | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2015-07-06T11:40:17+12:00\\\",\\\"datePublished\\\":\\\"2015-07-06T11:40:17+12:00\\\",\\\"description\\\":\\\"There might be a team of people in your company.  They could be responsible for: Storing built versions of your code in a repository Ensuring that you can reproduce each one of those builds Tracking changes in the projects Baselining and merging code branches Is that the DevOps team?  No.  It&#39;s a Software Configuration Management team, and they&#39;ve been around as long as there&#39;s been developers. I believe that these teams will all rebrand as DevOps teams (let&#39;s ignore the fact that you can&#39;t engender collaboration by making a team\",\"classification_terms\":[\"2015/07/06/devops-vs-scm.html\",\"company\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":3},{\"path\":\"/2015/05/01/apis-are-eating-your-consulting-business.html\",\"status\":200,\"title\":\"APIs are eating your consulting business | DevOps New Zealand\",\"word_count\":591,\"summary_text\":\"APIs are eating your consulting business | DevOps New Zealand APIs are eating your consulting business | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2015-05-01T09:50:34+12:00\\\",\\\"datePublished\\\":\\\"2015-05-01T09:50:34+12:00\\\",\\\"description\\\":\\\"Last year my employers engaged a firm to do a non-core (and frankly, annoying) IT project.  We reasoned that their experience in their domain would mean that they&#39;d have a better chance of success. It turned out that their business was built around software from a third party supplier, and a thick veneer of bullshit.  Of course, there were issues.  What floored me was that these consultants were helpless, like a 10 year old flying an aircraft.  They didn&#39;t have any expertise, or a plan B. We ended up escalating to t\",\"classification_terms\":[\"2015/05/01/apis-are-eating-your-consulting-business.html\",\"help\",\"api\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":3},{\"path\":\"/2015/04/30/upcoming-conferences-that-i-wont-be-at-april-2015.html\",\"status\":200,\"title\":\"Upcoming conferences that I won’t be at, April 2015 | DevOps New Zealand\",\"word_count\":286,\"summary_text\":\"Upcoming conferences that I won’t be at, April 2015 | DevOps New Zealand Upcoming conferences that I won’t be at, April 2015 | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"dateModified\\\":\\\"2015-04-30T16:47:30+12:00\\\",\\\"datePublished\\\":\\\"2015-04-30T16:47:30+12:00\\\",\\\"description\\\":\\\"I wanted to share the details of a few conferences.  I won&#39;t be there, because I enjoy a life that&#39;s mostly free of jetlag and commuting. The Jenkins peeps are doing a world tour of the US East Coast, Europe, Israel, and the US West Coast.  That&#39;s over summer if you&#39;re in the Northern Hemisphere.  They&#39;ll be doing a CD Summit at each of those conferences. CITCON Europe is in Helsinki, in September. CITCON North America is in October this.  In Ann Arbor, Michigan. We hope to get CITCON Australia New Zealand organised for 2016.  We need lots more\",\"classification_terms\":[\"2015/04/30/upcoming-conferences-that-i-wont-be-at-april-2015.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":3},{\"path\":\"/page/4/index.html\",\"status\":200,\"title\":\"Page 4 of 52 for DevOps New Zealand - page 4 | DevOps New Zealand\",\"word_count\":294,\"summary_text\":\"Page 4 of 52 for DevOps New Zealand - page 4 | DevOps New Zealand Page 4 of 52 for DevOps New Zealand - page 4 | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebPage\\\",\\\"description\\\":\\\"DevOps New Zealand is an irreverent look at DevOps from a New Zealand perspective.\\\",\\\"headline\\\":\\\"DevOps New Zealand - page 4\\\",\\\"url\\\":\\\"https://devops.nz/page/4/\\\"} DevOps New Zealand About Contact DevOps, Security, and Getting It Right First Time New Zealand's small size is our superpower. With tight-knit teams and limited resources, we can't afford to get things wrong. Security and reliability aren't just nice-to-haves, they're essential. Our national identity is built on making things work with what we've got, and that means getting software delivery right the first time.DevOps and strong security practices help us punch above our weight. Smaller budgets and tea\",\"classification_terms\":[\"page/4/index.html\",\"about\",\"contact\",\"help\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":0,\"depth\":3},{\"path\":\"/2015/04/23/the-8020-rule-in-cloud-development.html\",\"status\":200,\"title\":\"The 80/20 rule in Cloud Development | DevOps New Zealand\",\"word_count\":1367,\"summary_text\":\"The 80/20 rule in Cloud Development | DevOps New Zealand The 80/20 rule in Cloud Development | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"dateModified\\\":\\\"2015-04-23T18:27:07+12:00\\\",\\\"datePublished\\\":\\\"2015-04-23T18:27:07+12:00\\\",\\\"description\\\":\\\"Guest Post by Brian Whipple, Marketing &amp; Communications Manager at Cycligent.com. There is a commonly known rule in business called the 80/20 Rule. Introduced as an economics rule to explore distribution of wealth, the 80/20 Rule has become a common business management principle, defined by this common “rule of thumb”: 80% of effects come from 20% of causes and 80% of results come from 20% of effort. I often use the 80/20 rule to shed light on my own work habits, or to analyze cause and effect on results that I may have seen. Recently, I read an older blog on the 80/20 rule a\",\"classification_terms\":[\"2015/04/23/the-8020-rule-in-cloud-development.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":4},{\"path\":\"/2015/02/01/dashing-through-the-glow-of-displays.html\",\"status\":200,\"title\":\"Dashing through the glow [of displays] | DevOps New Zealand\",\"word_count\":157,\"summary_text\":\"Dashing through the glow [of displays] | DevOps New Zealand Dashing through the glow [of displays] | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Simpson\\\"},\\\"dateModified\\\":\\\"2015-02-01T21:44:28+13:00\\\",\\\"datePublished\\\":\\\"2015-02-01T21:44:28+13:00\\\",\\\"description\\\":\\\"I’ve been making dashboards for some stats we track at work.  I don’t want to trust another organisation with our data; too many dragons.\\\",\\\"headline\\\":\\\"Dashing through the glow [of displays]\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2015/02/01/dashing-through-the-glow-of-displays.html\\\"},\\\"url\\\":\\\"https://devops.nz/2015/02/01/dashing-through-the-glow-of-displays.html\\\"} DevOps New Zealand About Contact Dashing through the glow [of displays] Feb 1, 2015 • Julian SimpsonShare:I’ve been making dashboards for some\",\"classification_terms\":[\"2015/02/01/dashing-through-the-glow-of-displays.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":4},{\"path\":\"/2015/01/09/linux-conf-au-in-auckland.html\",\"status\":200,\"title\":\"linux.conf.au in Auckland | DevOps New Zealand\",\"word_count\":78,\"summary_text\":\"linux.conf.au in Auckland | DevOps New Zealand linux.conf.au in Auckland | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"dateModified\\\":\\\"2015-01-09T17:12:50+13:00\\\",\\\"datePublished\\\":\\\"2015-01-09T17:12:50+13:00\\\",\\\"description\\\":\\\"Happy New Year. I&#39;m speaking about Graphs and Neo4j at linux.conf.au next Friday.  Don&#39;t think I&#39;m the star attraction though, I think that&#39;s Linus.\\\",\\\"headline\\\":\\\"linux.conf.au in Auckland\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.nz/2015/01/09/linux-conf-au-in-auckland.html\\\"},\\\"url\\\":\\\"https://devops.nz/2015/01/09/linux-conf-au-in-auckland.html\\\"} DevOps New Zealand About Contact linux.conf.au in Auckland Jan 9, 2015 • Julian SimpsonShare:Happy New Year.I'm speaking about Graphs and Neo4j at linux.conf.au next Friday.  Don't think I'm the star attraction thou\",\"classification_terms\":[\"2015/01/09/linux-conf-au-in-auckland.html\",\"about\",\"contact\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":4},{\"path\":\"/2014/08/29/toxic-repo.html\",\"status\":200,\"title\":\"Toxic Repo | DevOps New Zealand\",\"word_count\":422,\"summary_text\":\"Toxic Repo | DevOps New Zealand Toxic Repo | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"dateModified\\\":\\\"2014-08-29T12:51:53+12:00\\\",\\\"datePublished\\\":\\\"2014-08-29T12:51:53+12:00\\\",\\\"description\\\":\\\"&lt;/p&gt; &lt;/p&gt; If you can’t dispose of toxic waste (say, by burning it or launching it into space using surplus ICBM’s), then you probably need to contain it: stop innocents from stumbling across it, or stop the malicious from using it for malicious projects. The same issues&nbsp;apply to your source tree. &nbsp;If you have Amazon Web Services credentials checked into a project on GitHub, that’s a toxic repo. &nbsp;You’ll want to contain to protect people from intentionally or unintentionally damaging the resources that can be accessed from the credentials. One of the problems of having your own t\",\"classification_terms\":[\"2014/08/29/toxic-repo.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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":4},{\"path\":\"/2014/02/18/upcoming-auckland-neo4j-events.html\",\"status\":200,\"title\":\"Upcoming Auckland Neo4j Events | DevOps New Zealand\",\"word_count\":287,\"summary_text\":\"Upcoming Auckland Neo4j Events | DevOps New Zealand Upcoming Auckland Neo4j Events | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"dateModified\\\":\\\"2014-02-18T12:28:37+13:00\\\",\\\"datePublished\\\":\\\"2014-02-18T12:28:37+13:00\\\",\\\"description\\\":\\\"So, I return to New Zealand. Spend most of a year hiding in a cabin and then fail to organise any events. And now they’ve all come at once: James Rowlands is doing a talk on Neo4j for Python Devs at the Auckland Python Meetup. Tomorrow, February 19. James organised this, I’m appearing for moral support. Neo Technology is a sponsor for CITCON Auckland 2014, and I’ll be giving away a few paper copies of the Graph Databases book. We’re kicking off the Graph Database Auckland meetup on March 3. The second Graph Database Auckland meetup features our Chief Scientist Jim Webber, on April 3.\",\"classification_terms\":[\"2014/02/18/upcoming-auckland-neo4j-events.html\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":4},{\"path\":\"/2014/01/02/happy-2014.html\",\"status\":200,\"title\":\"Happy 2014 | DevOps New Zealand\",\"word_count\":434,\"summary_text\":\"Happy 2014 | DevOps New Zealand Happy 2014 | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"dateModified\\\":\\\"2014-01-02T22:28:22+13:00\\\",\\\"datePublished\\\":\\\"2014-01-02T22:28:22+13:00\\\",\\\"description\\\":\\\"2013 was busy.  It&#39;s hard to work remotely with people who are literally on the other side of the planet.  Remote helps explain why: there&#39;s no overlap, apart from what overlap I make myself. To make things more busy, we ended up buying a new Build Doctor HQ and moving from the country to the suburbs.  Moving from a cabin back to the spare room has it&#39;s comforts.  Like plumbing.  There&#39;s a lot of work to do on the HQ, but it&#39;s nice to have a new long term project. This blog is a long term project, too.  The last couple of years have seen it slide as I worked on other things and moved\",\"classification_terms\":[\"2014/01/02/happy-2014.html\",\"help\",\"blog\"],\"external_refs\":[],\"password_input_count\":0,\"email_input_count\":0,\"tel_input_count\":0,\"otp_term_count\":0,\"login_form_count\":0,\"checkout_form_count\":0,\"wallet_prompt_count\":0,\"offdomain_form_actions\":0,\"suspicious_script_refs_count\":0,\"external_script_hosts\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":4},{\"path\":\"/2013/08/11/news-august-12.html\",\"status\":200,\"title\":\"News, August 12 | DevOps New Zealand\",\"word_count\":202,\"summary_text\":\"News, August 12 | DevOps New Zealand News, August 12 | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"dateModified\\\":\\\"2013-08-11T23:48:41+12:00\\\",\\\"datePublished\\\":\\\"2013-08-11T23:48:41+12:00\\\",\\\"description\\\":\\\"Resharper 8 is out, making Visual Studio usable [link] Also YouTrack 5, I&#39;ve never had the pleasure of that particular issue manager [link] I&#39;d love to go to FutureStack, New Relic&#39;s user conference [link] Heroku have announced a lab of their pipeline support.  At Neo we have several apps deployed on Heroku, so I road tested it this morning.  Does what it says on the tin, and shows what commit went where.  There&#39;s a challenge for some of the addon providers who offer a similar service.  [link]\\\",\\\"headline\\\":\\\"News, August 12\\\",\\\"mainEntityOfPage\\\":{\\\"@type\\\":\\\"WebPage\\\",\\\"@id\\\":\\\"https://devops.n\",\"classification_terms\":[\"2013/08/11/news-august-12.html\",\"support\",\"news\",\"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\":[\"beampipe.io\"],\"executable_download_count\":0,\"archive_download_count\":0,\"apk_download_count\":0,\"phone_number_count\":2,\"depth\":4},{\"path\":\"/2013/07/17/the-benefits-of-fail-safe-application-deployments.html\",\"status\":200,\"title\":\"The Benefits of Fail-Safe Application Deployments | DevOps New Zealand\",\"word_count\":997,\"summary_text\":\"The Benefits of Fail-Safe Application Deployments | DevOps New Zealand The Benefits of Fail-Safe Application Deployments | DevOps New Zealand {\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"dateModified\\\":\\\"2013-07-17T23:52:19+12:00\\\",\\\"datePublished\\\":\\\"2013-07-17T23:52:19+12:00\\\",\\\"description\\\":\\\"(A guest post by Dan Gordo",
        "score_reasons_json": "[\"Category confidence was reduced, so the classifier fell back to the broader parent category.\",\"Overall rating is now capped by evidence confidence to prevent inflated scores from thin signals.\"]",
        "route_domain": "devops.nz",
        "display_domain": "devops.nz"
    },
    "explainability": {
        "summary": "devops.nz currently scores 14/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": "99/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Moderate confidence",
                "tone": "caution",
                "detail": "54/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": "+13.9",
                "tone": "risk",
                "detail": "Authority, search visibility, reach, engagement, and registry stability. Current subsystem score: 41/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": "-66.0",
                "tone": "risk",
                "detail": "Safety thresholds capped the final score until the risk profile improves."
            }
        ],
        "evidence_cards": [
            {
                "label": "Authority and trust",
                "value": "39/100 · trust 16/100",
                "tone": "risk",
                "detail": "143 monthly visitors, 81 organic keywords, brand completeness 75/100, engagement 85/100."
            },
            {
                "label": "Backlink and search evidence",
                "value": "1 referring domains",
                "tone": "good",
                "detail": "1 backlinks across 1 referring domains. Diversity 92/100; spam penalty 3."
            },
            {
                "label": "Registry and domain stability",
                "value": "0.0 years old",
                "tone": "good",
                "detail": "Stability 100/100 · age 0.0 years."
            },
            {
                "label": "Safety and fraud posture",
                "value": "Safety 100/100 · fraud 0/100",
                "tone": "good",
                "detail": "Primary tag Uncertain · safety 100/100 · fraud 0/100."
            }
        ],
        "positives": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "HTTPS is working, so the site clears a basic transport-security check.",
            "Backlink diversity looks broad enough to strengthen authority confidence."
        ],
        "risks": [
            "Trust score is currently very low.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting."
        ],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-04-02 00:15:07",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 16d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-02 00:15:06",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 16d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-18 14:42:27",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-18 14:42:27",
                "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": 80,
        "fraud_clamp_penalty": 66,
        "final_score": 14
    },
    "insight_snapshot": {
        "version": 1,
        "generated_at": "2026-04-18T14:42:27+00:00",
        "domain": "devops.nz",
        "display_name": "DevOps New Zealand",
        "is_tracked": false,
        "is_estimated": true,
        "overall_score": 14,
        "authority_score": 39,
        "trust_score": 16,
        "safety_score": 100,
        "fraud_score": 0,
        "confidence_score": 99,
        "traffic_confidence": 54,
        "last_crawled_at": "2026-04-02 00:15:07",
        "crawl_blocked": false,
        "summary": "devops.nz currently scores 14/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": "99/100"
            },
            {
                "label": "Traffic confidence",
                "value": "Moderate confidence",
                "tone": "caution",
                "detail": "54/100"
            },
            {
                "label": "Crawler access",
                "value": "Clean visibility",
                "tone": "good",
                "detail": null
            }
        ],
        "top_positive_signals": [
            "Low registrar / ownership churn with solid registry stability.",
            "Healthy crawl quality and on-page completeness.",
            "Search evidence is broad enough to classify with better confidence.",
            "Registry history looks stable, which supports legitimacy and trust.",
            "HTTPS is working, so the site clears a basic transport-security check."
        ],
        "top_risk_signals": [
            "Trust score is currently very low.",
            "External evidence was mixed or sparse, so the tag model keeps an uncertainty buffer instead of overcommitting."
        ],
        "freshness": [
            {
                "label": "Crawl evidence",
                "value": "2026-04-02 00:15:07",
                "tone": "risk",
                "detail": "Crawl and page content sample. Age: 16d ago."
            },
            {
                "label": "WHOIS snapshot",
                "value": "2026-04-02 00:15:06",
                "tone": "risk",
                "detail": "Registry profile and stability signals. Age: 16d ago."
            },
            {
                "label": "Keyword view",
                "value": "2026-04-18 14:42:27",
                "tone": "good",
                "detail": "Estimated visibility until tracked keyword snapshots exist. Age: 0s ago."
            },
            {
                "label": "Rank history",
                "value": "2026-04-18 14:42:27",
                "tone": "good",
                "detail": "Estimated trend derived from current profile and crawl signals. Age: 0s ago."
            },
            {
                "label": "Audience geography",
                "value": "Not captured yet",
                "tone": "unknown",
                "detail": "Audience mix is estimated from available signals rather than first-party audience logs."
            }
        ],
        "top_tags": [
            {
                "code": "Uncertain",
                "label": "Uncertain",
                "tone": "unknown"
            },
            {
                "code": "T",
                "label": "Trusted",
                "tone": "good"
            },
            {
                "code": "C",
                "label": "Caution",
                "tone": "caution"
            }
        ]
    },
    "is_tracked": false,
    "is_estimated": true,
    "live_state": {
        "status": "processing",
        "status_label": "Cache build running",
        "message": "The refreshed page cache is still being built for this domain.",
        "updated_at": "2026-04-19T02:04:49+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/devops.nz/refresh",
        "isGuestCooldown": false,
        "cooldownSeconds": 0
    },
    "urlscan_report": {
        "domain": "devops.nz",
        "status": "error",
        "submitted_at": "2026-03-19T13:51:00+00:00",
        "completed_at": null,
        "last_checked_at": "2026-03-19T13:51:00+00:00",
        "last_error": "Rate limit for 'public' exceeded. Limit is 500 per hour. Reset in 538 seconds.",
        "submitted_url": "https://devops.nz/",
        "uuid": "",
        "result_url": "",
        "api_result_url": "",
        "visibility": "public",
        "summary": "urlscan.io scan submission failed.",
        "report": [],
        "report_summary": [],
        "is_fresh": false,
        "can_retry": true,
        "poll_after_seconds": 20
    }
}