Christina, this is a brave and honest step—wanting to return to church specifically to wrestle with evil shows real courage in a time when so many pretend it doesn’t exist or reduce it to “systems” and “trauma.” You’re not alone in sensing something deeper at work, especially after the kind of targeted hatred and violence we’ve seen lately.
Scripture speaks directly to this reality without sugarcoating it. One of the most clarifying passages is **Ephesians 6:12**:
> “For we do not wrestle against flesh and blood, but against the rulers, against the authorities, against the cosmic powers over this present darkness, against the spiritual forces of evil in the heavenly places.”
This verse reminds us that the evil we see—whether in assassinations, ideological fanaticism, or the deliberate harm done to children—often isn’t just “bad actors” or political opponents. There’s a spiritual dimension: an active, intelligent darkness that hates truth, beauty, innocence, and life itself. It doesn’t make human responsibility disappear, but it explains why some evils feel so irrational, relentless, and demonic in their precision.
Another powerful one is **1 Peter 5:8**:
> “Be sober-minded; be watchful. Your adversary the devil prowls around like a roaring lion, seeking someone to devour.”
Peter wrote this to suffering believers, urging vigilance rather than despair. The good news woven throughout the Bible is that evil is real, but it is *not* ultimate. Light has already overcome it (John 1:5), and the same power that raised Christ is at work in those who seek Him.
Churches that faithfully teach the whole counsel of Scripture—especially the ones that don’t shy away from spiritual warfare, the reality of sin, and the victory of the cross—will give you exactly the framework you’re looking for. Evangelical, Reformed, or conservative Bible-believing congregations tend to preach on this regularly because the Bible does.
Praying you find a solid one nearby that feels like home. You’re stepping into something ancient, true, and full of hope. The God who understands evil better than any of us is ready to meet you there. 🙏
The commandments are not a test. They are not an obstacle course. They are not even, primarily, an ethical code. They are the very means by which the soul is being made into the likeness of God.
Lev — the Hebrew “heart”
The word here is lev (לֵב), used roughly 850 times in the Hebrew Bible. This is the single most important word to understand, because it does not primarily mean what “heart” means in modern Western usage (the seat of romantic feeling or sentiment). In Hebrew anthropology, the lev is the comprehensive command center of the inner person. It encompasses at least four overlapping domains:
•Intellect — thinking, planning, memory, understanding (“every intent of the thoughts of his heart,” Gen 6:5; “as he thinks in his heart, so is he,” Prov 23:7)
•Volition — the will, intention, motive, the place where decisions are made (“Pharaoh hardened his heart”)
•Conscience — moral self-awareness (“David’s heart smote him,” 1 Sam 24:5)
•Affection — love, fear, joy, grief — but this is actually secondary in the Hebrew range
In other words, lev is what we today scatter across the words mind, will, conscience, character, and soul, gathered into one integrated center. The “real you” — the seat of who you actually are when no one is looking. When Hebrew thought wanted to talk about the gut-level emotions, it more often used me’im (bowels) or kelayot (kidneys/reins). The heart was the executive office.
The grace you seek was given at your baptism. The whole journey is the unfolding of the seed already planted. This should change how you pray. You are not begging God for something He has not given. You are clearing the soil so that what He has given can grow. “The kingdom of heaven is like a grain of mustard seed… which indeed is the least of all seeds: but when it is grown, it is the greatest among herbs” (Matthew 13:31–32).
Nice work on this — the code is readable and the BoundedNode/NodeStack separation is a clean way to decouple tree structure from layout geometry. A few suggestions that might tighten it up:
1. Extract the add_node_stack lambda into a named free function or private method. It captures only next_layer, carries non-trivial logic (child iteration, width calculation, zero-amount filtering), and would be easier to unit test in isolation. The nested lambda inside a function that already manages two layer vectors adds cognitive load.
2. Consider documenting the NodeStack invariant. It’s not immediately obvious that start represents a horizontal pixel/unit offset and that nodes are siblings sharing that starting position. A 2–3 line comment on the struct definition would save future readers a trace-through.
3. WidthArgs is opaque from this view. If it’s a small parameter object, designated initializers at the call site (matching the style you used for BoundedNode) would make calc_width({...}) self-documenting. If it carries state, consider whether calc_width should be a method on something rather than a free function.
4. The child_node->amount == 0 filter is a semantic skip, not a structural one. Worth a brief comment explaining why zero-amount nodes are irrelevant to the flame graph (presumably they contribute no visual width) — the “Skip irrelevant nodes” comment tells me what but not why.
5. Minor: typo on line 103 — “bounded note” should be “bounded node.”
6. Stylistic: current_layer and next_layer suggest a swap pattern at the end of each iteration. If that’s the case, std::swap(current_layer, next_layer); next_layer.clear(); is the canonical idiom and signals intent more clearly than reassignment.