Wayback Séance, I asked dead websites to speak and made them cite their sources
Search
1000 results for “Engin”
-
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine ...#devchallenge #hf26challenge #ai #opensource #software #coding #development #engineering #inclusive #community
Wayback Séance, I asked dead websites to speak and made them cite their sources -
Everyone has a retry story. Mine: an agent that retried a malformed request eleven times before anyone noticed, each attempt replaying the full conversation. The request was never going to succeed — a 400 doesn't heal — but the retry policy didn't care, because it only looked at "did it throw?"
Our working rules now:
- Retry timeouts, 429s and 5xx — with backoff, jitter, and the server's
Retry-Afterwinning over our schedule. - Never retry 400/401/403. Fail fast, surface it, fix the request.
- A retry budget, not just a count: retries get a slice of the task's total budget, then the task fails honestly.
- If it dies mid-stream, restart the message cleanly — never append to a half-generated answer.
What I haven't settled: provider 529s / overloaded errors during peak. Retry in place, or fail over to a different model immediately and accept the quality change?
What's your rule set — and which error taught it to you?#ai #llm #discuss #api #software #coding #development #engineering #inclusive #community
What's your rule for when an LLM call should NOT be retried? - Retry timeouts, 429s and 5xx — with backoff, jitter, and the server's
-
**Let's discuss 🎨**
Do you create because you want people to notice your work, or because creating is something you simply cannot stop doing?
I'd love to hear your thoughts in the comments. 👇
#music
#creativity
#discuss
#writing
#rap#software #coding #development #engineering #inclusive #community
**Let's discuss 🎨** Do you create because you want people to notice your work, or because creating is something you simply cannot stop doing? I'd love to hear your thoughts in the comments. 👇 #music #creativity #discuss #writing #rap -
Disclosure: I'm the developer of the tool described here, and this post was drafted and published by...#javascript #node #automation #opensource #software #coding #development #engineering #inclusive #community
Freeing 400 MB idle processes without breaking anything: ship the cleanup in dry-run first -
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the...#devchallenge #hf26challenge #ai #javascript #software #coding #development #engineering #inclusive #community
Ofrenda: A Local-First Memory Altar Powered by AI -
NixOS Is Cool as Hell. Literally. ❄️🐧
Declarative Linux configuration, cooler laptop temperatures, and why I'm falling in love with NixOS.Some Linux distributions make you productive.
Some make you curious.
And some make you spend three hours debugging a configuration file, question your life choices, finally fix it, and then proudly tell everyone that the experience was worth it.
Welcome to NixOS.
I'm running NixOS on my Acer Aspire 7, and I've discovered two reasons to love it. One is philosophical. The other is considerably more literal.
NixOS is cool as hell, and my laptop feels cool, too.
1. Philosophically cool: an operating system you can describe
Most operating systems encourage you to configure things as you go.Install packages. Change settings. Enable services. Tweak the desktop. Repeat until everything works.
NixOS approaches system configuration differently.
Instead of treating your operating system as a collection of changes scattered across your machine, you can describe much of the desired system in configuration files.
Want a particular kernel? Declare it.
Need NVIDIA drivers? Configure them.
Want specific applications, system services, and development tools? Define them.
Then rebuild your system.
sudo nixos-rebuild switch
There is something beautiful about that approach.
Your operating system becomes something you can inspect, version-control, and reproduce. With a well-maintained configuration, rebuilding your environment becomes much more predictable.
You can experiment, track changes with Git, and roll back to an earlier system generation when an update goes wrong.
It's not magic, and it doesn't capture every application setting or personal file automatically. But as a model for managing an operating system, it's genuinely elegant.
Instead of merely using your computer, you're describing how you want it to exist.
That is philosophically cool.
2. Literally cool: my Acer Aspire 7
Now for the other meaning of cool.My machine isn't exactly a low-powered office laptop.
Here's the hardware:
- CPU: AMD Ryzen 5 5500U
- GPU: NVIDIA GeForce GTX 1650 Mobile
- RAM: 16 GB
- Storage: 512 GB NVMe SSD
- Operating system: NixOS 26.05, codenamed Yarara
- Display stack: Wayland
This machine has enough power for development, Linux experimentation, and GPU workloads. It also has dedicated graphics hardware, which introduces another variable into the thermal equation.
In my experience, my current NixOS setup has been pleasantly cool during everyday use.
Less of that uncomfortable laptop warmth, a more pleasant working experience, and the satisfaction of having a system that feels right for my hardware.
There is an important technical distinction here: NixOS doesn't automatically lower temperatures simply by being installed. CPU power management, GPU activity, background workloads, drivers, fan curves, and room temperature all matter.
Still, a cool-running Linux machine is something worth appreciating, especially when you're using it for hours every day.
And yes, I intend to measure temperatures rather than rely entirely on the highly scientific instrument known as my hands on the laptop chassis.
3. The funny part: configuration hell is part of the attraction
NixOS isn't always easy.You might want to install one package and end up learning about module options, package attributes, flakes, and configuration evaluation.
A seemingly straightforward change can lead you down a documentation rabbit hole.
Then something breaks.
You investigate, adjust the configuration, rebuild, and try again.
Eventually, it works.
And somehow, instead of swearing off Linux forever, you find yourself wanting to configure even more of the system.
That's the strange appeal of NixOS. It rewards curiosity, patience, and a willingness to understand what's happening underneath the desktop.
The configuration files can be frustrating, but they also make the system feel like a project you genuinely own.
4. Cool hardware and cool software belong together
For me, the appeal isn't just about temperatures or declarative configuration in isolation.It's about having control.
I can experiment with my Linux environment, learn how system components interact, customize my workflow, and build a setup that suits my hardware.
When the laptop runs comfortably and the system behaves as expected, the experience gets even better.
And when something breaks, at least I have a configuration I can inspect instead of trying to remember every change I've made over the last six months.
That combination of control, reproducibility, and practical comfort is what makes NixOS so compelling to me.
Final thoughts: cool in every sense that matters
NixOS is philosophically cool because it challenges how you think about operating systems.It's technically cool because declarative configuration and reproducible system generations offer a powerful way to manage Linux.
And in my experience, it's literally cool because my Acer Aspire 7 has been running pleasantly during everyday use.
I'll still need consistent temperature measurements to establish whether my setup is actually cooler than my previous one. But the experience so far has given me another reason to keep exploring.
NixOS isn't the easiest way to run Linux. It doesn't need to be.
Sometimes the interesting part is learning to do things differently.
Cool ideas. Cool configurations. Cool temperatures.
What more could a Linux enthusiast want?
Well, perhaps a configuration that builds successfully on the first try.
We can dream. 🐧❄️
NixOS #Linux #OpenSource #SysAdmin #AcerAspire7
#automation #devops #linux #opensource #software #coding #development #engineering #inclusive #community
How NixOS won me over with declarative configuration, reproducibility, and a pleasantly cool-running laptop. -
We build a free learning lab on agentic AI, and the section we've spent the most time on is the one...#ai #agents #llm #beginners #software #coding #development #engineering #inclusive #community
Why AI agents fail: patterns from our failure lab -
On the morning of October 27, Zhipu — the "world's first large-model stock" — surged as much as 12...#ai #llm #news #openai #software #coding #development #engineering #inclusive #community
China's Open-Weight Blitz Goes Public -
On October 26, Anthropic publicly filed its S-1 registration statement with the U.S. Securities and...#ai #llm #news #startup #software #coding #development #engineering #inclusive #community
Anthropic Files for a 965 Billion Dollar IPO -
OpenAI Claims Three Scientific Breakthroughs: ETH Refuted, Kakeya Solved, Yang-Mills Existence...#ai #machinelearning #openai #science #software #coding #development #engineering #inclusive #community
OpenAI Claims Three Scientific Breakthroughs -
Your AI said "fixed" but never ran the tests? I made a plugin that won't let it say "done" until they pass#ai #testing #programming #webdev #software #coding #development #engineering #inclusive #community
Your AI said "fixed" but never ran the tests? I made a plugin that won't let it say "done" until they pass -
PyTorch Low-Level Primitives vs. Agent Framework Abstractions
Framework abstractions are useful until your inference latency spikes by 400 milliseconds, memory leaks across recursive runs, and you have zero visibility into the execution stack.In the rush to build autonomous AI applications, many engineering teams wrap their entire business logic in heavy multi-layer orchestrators before understanding the underlying computation. When an unhandled recursion occurs or memory leaks in long-running processes, debugging third-party wrapper classes becomes substantially more expensive than writing native code.
Here is an architectural breakdown of why engineers must understand low-level PyTorch primitives before relying on high-level framework wrappers.
1. The Cost of Framework Indirection
When you call an LLM through three nested framework wrappers:# Multi-layer wrapper abstraction
agent = AgentExecutor(
chain=LLMChain(llm=ChatOpenAI(), prompt=PromptTemplate(...)),
tools=[SearchTool(), SQLTool()],
memory=ConversationBufferMemory()
)You inherit:
- Hidden Call Stacks: 30+ frames of traceback obfuscating basic HTTP request errors or malformed payload dictionaries.
- Context Bloat: Default framework memories serialize entire objects, rapidly exhausting model context windows and inflating token costs.
- Execution Lag: Unnecessary serialization and deserialization cycles between proprietary wrapper classes.
2. Core PyTorch Primitives Every AI Engineer Must Understand
Understanding core PyTorch primitives—such as tensor layouts, attention masks, KV-caching mechanics, and CUDA stream concurrency—gives engineers the diagnostic capability to build reliable systems:A. Tensor Memory Layouts & Stride Arithmetic
Tensors are not generic Python lists. They are continuous blocks of memory defined by shapes and strides. When batching prompts of variable lengths:- Improper padding degrades throughput.
- Non-contiguous memory layouts force expensive hidden copy operations.
- Understanding contiguous memory and views (
tensor.view()vstensor.reshape()) is critical for optimizing custom inference runtimes.
B. KV-Cache Allocation & VRAM Arithmetic
In autoregressive generation, computing self-attention across previous tokens at every step is $O(N^2)$. Modern inference engines cache the Key and Value matrices (KV-cache).- For a 70B parameter model at 16-bit precision, KV-cache consumption scales directly with batch size and context window length.
- Engineers who understand KV-cache memory mathematics can calculate exact concurrency thresholds before an out-of-memory (OOM) event crashes a GPU container.
C. Attention Masks & Scaled Dot-Product Computation
Attention(Q, K, V) = softmax( (Q * K^T) / sqrt(d_k) ) * VUnderstanding FlashAttention and kernel fusion allows you to diagnose why a local model is bottlenecked by memory bandwidth rather than compute power.
3. The Recommended Architecture Hierarchy
+-------------------------------------------------------------+
| Layer 3: Lightweight State Orchestration (LangGraph / Native)|
| - Explicit state transitions & cyclic routers |
| - Strict Pydantic / Zod argument schemas |
+-------------------------------------------------------------+
|
v
+-------------------------------------------------------------+
| Layer 2: High-Performance Serving (vLLM / TensorRT-LLM) |
| - PagedAttention (Memory fragmentation elimination)|
| - Continuous batching & asynchronous token streams |
+-------------------------------------------------------------+
|
v
+-------------------------------------------------------------+
| Layer 1: Native PyTorch & CUDA Execution Primitives |
| - Half-precision tensor arithmetic (FP16 / BF16) |
| - Kernel fusion & direct memory management |
+-------------------------------------------------------------+4. Final Verdict
Frameworks should be adopted to accelerate standard integration pipelines—not as a substitute for understanding execution mechanics.When you master low-level primitives:
- You optimize batch inference latency by 3x to 5x.
- You eliminate mysterious GPU out-of-memory errors in production.
- You build lean, deterministic systems that your clients can rely on 24/7.
Are you running direct model runtimes (vLLM, TensorRT-LLM, Ollama) or relying on multi-layer orchestration libraries?
Authored by Soham Sharma, Founder & Director at Botmartz AI Solutions.#ai #python #machinelearning #architecture #software #coding #development #engineering #inclusive #community
PyTorch Low-Level Primitives vs. Agent Framework Abstractions -
AmigaOS 4: Web browser Odyssey 3.2.1
George 'walkero' Sokianos has released another update to the Odyssey web browser, which is based on the WebKit 2.34 engine. This version has been compiled using the latest clib4 v2.5.
-
Real-time strategy: StarCraft port "AmiSC" 0.8.8 for AmigaOS 3, AROS and MorphOS
"AmiSC" is an Amiga 68k port of the real-time space strategy game StarCraft. The engine runs natively on AmigaOS 3.x, without the need for PC emulation or an interpreter.
Whilst version 0.8.4 introduced speech in the campaigns, menu sounds and faster briefings, version 0.8.5 introduced a version for ECS/OCS computers. -
An AI chatbot collects personal data from the very first message. People type their names, email...#ai #privacy #webdev #security #software #coding #development #engineering #inclusive #community
Building an AI chatbot for UK users? A UK GDPR checklist for the code behind the chat window -
Ask a vision model to read a chart and it will tell you "RSI is at 71.4". Confident, specific, and -...#nextjs #ai #javascript #tradingview #software #coding #development #engineering #inclusive #community
Vision models fake precision on charts - so I made every number carry its source -
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine ...#devchallenge #hf26challenge #opensource #python #software #coding #development #engineering #inclusive #community
SoulKing-AI -
A trading bot can receive price updates every second and still make decisions using a market state...#ai #programming #python #polymarket #software #coding #development #engineering #inclusive #community
Your Polymarket Bot Has Live Prices. That Doesn't Mean It Has the Latest Order Book. -
What EXIF, XMP and IPTC metadata reveal in your photos, real exiftool output, the cropped-thumbnail leak, and a browser workflow to strip and verify it.#privacy #security #webdev #tutorial #software #coding #development #engineering #inclusive #community
Image Metadata Privacy Leaks: EXIF, GPS & Thumbnails -
AI can generate a financial model that looks coherent, contains valid formulas, and produces a plausible result while still being wrong in ways that matter.
A formula can reference the wrong cell. A cost assumption can be expressed in the wrong unit. A revenue schedule can omit a phase. A model can calculate correctly from an unsupported market assumption.
These are different failure modes, and they need different controls. For real estate feasibility models, the objective should not be to ask whether an AI-generated workbook looks correct. It should be to establish which properties can be tested automatically, which assumptions require evidence, and which decisions must remain with a qualified human reviewer.
A useful validation architecture has five layers:
- Structural validation
- Deterministic calculation checks
- Domain and consistency checks
- Evidence and provenance checks
- Human review and approval
No single layer is sufficient.
1. Separate the output from the evidence
Consider a hypothetical development model with the following inputs:- Site area and developable area
- Permitted gross floor area
- Unit mix or lettable area
- Revenue assumptions
- Construction and other development costs
- Financing assumptions
- Development programme
- Exit assumptions
The model calculates development costs, revenue, cash flows, residual land value (RLV), and potentially internal rate of return (IRR).
For example, a model might calculate an RLV of £4 million. That output can be mathematically consistent with the workbook and still be commercially misleading if the revenue assumptions are unsupported or the construction cost basis is outdated. Validation therefore needs to test both the calculation and the justification for its inputs.
2. Layer one: validate the structure before the numbers
Before reviewing financial logic, validate the shape of the generated output. If an AI system is expected to return structured data before creating a workbook, define an explicit contract. JSON Schema is one established option for specifying required fields, data types, and constraints.See the JSON Schema getting-started guide.
A simplified model input contract might look like this:
{
"project_id": "DEMO-001",
"currency": "GBP",
"site_area_sqm": 5000,
"gross_floor_area_sqm": 12000,
"construction_cost_per_sqm": 1800
}
This is illustrative data, not a market benchmark or a recommendation for a production schema.A structural validator could check that:
- Required fields are present.
- Numeric values are actually numeric.
- Areas and costs use declared units.
- Currency is explicitly identified.
- Values fall within defined technical bounds.
- Unexpected fields are rejected or handled deliberately.
- Missing values are not silently replaced with zero.
The last point is important. Zero and unknown are not equivalent. If a finance rate is missing, substituting zero can make a model appear more profitable. A missing value should normally trigger a validation error or an explicit unresolved status.
Structural validation establishes that the model can be interpreted. It does not establish that the model is economically sensible.
3. Layer two: use deterministic checks for deterministic rules
Rules that can be expressed precisely should not depend on an LLM's judgment. For example, if a model defines construction cost as gross floor area multiplied by construction cost per square metre, the expected calculation is:\text{GFA}
\times
\text{Cost per sqm}
]
For the hypothetical inputs above:
[
12{,}000 \times £1{,}800 = £21{,}600{,}000
]
A deterministic test can independently calculate the expected result and compare it with the workbook output.
from decimal import Decimalgfa_sqm = Decimal("12000")
cost_per_sqm = Decimal("1800")
reported_cost = Decimal("21600000")expected_cost = gfa_sqm * cost_per_sqm
assert expected_cost == reported_cost
This test checks arithmetic for the stated formula. It does not establish that the GFA is permitted, that the cost rate is appropriate, or that the formula captures every relevant cost.
A production implementation should also define tolerances where appropriate, particularly when comparing rounded spreadsheet values or calculations involving floating-point numbers.
Other deterministic checks might include:
Revenue equals the sum of its components.- Total costs reconcile to their component schedules.
- Cash flow totals reconcile across periods.
- Unit counts and areas reconcile between schedules.
- The reported output matches an independently calculated result.
- A sensitivity case actually changes the intended input.
- Required formula cells are not unexpectedly blank or replaced by constants.
Where possible, use independent calculations rather than simply checking that a formula cell contains a formula. A formula can exist and still be wrong.
4. Layer three: validate model relationships
Many serious errors are not syntax errors or arithmetic errors. They are inconsistencies between parts of the model.Suppose a development model contains:
- 120 residential units in the unit schedule
- 116 units in the sales schedule
- Revenue calculated using the sales schedule
- Construction costs calculated using the unit schedule
Every formula may evaluate successfully, but the workbook contains a discrepancy that needs resolution.
Domain-level checks can flag conditions such as:
- Unit counts that differ across schedules.
- Areas that exceed a declared model constraint.
- Revenue periods that do not align with the programme.
- Cost totals that exclude a populated cost category.
- An exit value that uses an inconsistent timing assumption.
- A sensitivity scenario that changes revenue but leaves dependent calculations unchanged.
- An IRR calculation using a cash-flow range that omits a period.
These checks should be encoded as explicit rules wherever the intended relationship is known.
Some rules require context. For example, whether a particular cost should be included in a development budget depends on the model's scope and conventions. A validator should not impose a universal rule where none exists.
Instead, it should identify the relevant condition, record the rule being applied, and send ambiguous cases for review.
5. Layer four: validate the provenance of assumptions
A financial model can pass every arithmetic test and still fail as an analytical tool.The reason is straightforward: calculations cannot establish the truth of their inputs.
For every material assumption, a validation system should try to preserve:
- The value and unit.
- The source or origin of the value.
- The source's date and relevant data period.
- The geography and asset type, where applicable.
- The transformation from source evidence to model assumption.
- Any manual adjustment made by the analyst.
- The model locations that depend on the assumption.
Consider a construction cost assumption of £1,800 per square metre. A validator might confirm that the figure is numeric, the unit is recorded, and the workbook uses it consistently. Those checks do not establish whether the figure is suitable for the location, asset type, specification, and cost period. That question requires appropriate evidence and professional interpretation.
An LLM may help extract candidate assumptions from documents or explain how a value is used in a workbook. The extracted result should still be checked against its source, and the resulting assumption should remain distinguishable from the underlying evidence.
A useful principle is:
Traceability makes an assumption inspectable. It does not make the assumption correct.6. Layer five: make human review a defined state transition
Human review should not be an informal final glance after an automated process has already treated the model as complete.A practical workflow can represent validation explicitly:
GENERATED
|
v
STRUCTURE_CHECKED
|
v
CALCULATIONS_CHECKED
|
v
DOMAIN_CHECKED
|
v
EVIDENCE_REVIEWED
|
v
HUMAN_APPROVAL_REQUIRED
|
+----> APPROVED FOR THE DEFINED PURPOSE
|
+----> RETURNED FOR CORRECTION
|
+----> BLOCKED: UNRESOLVED ISSUEThe states are illustrative, but the distinction matters. A successful automated test should not automatically mean that a model is approved. Approval should be scoped to a defined version of the workbook, its assumptions, its evidence, and its intended use.
A reviewer should be able to see:- What was generated.
- Which automated checks passed.
- Which checks failed or were skipped.
- Which assumptions lack adequate evidence.
- What changed after a correction.
- Who approved the model and for what purpose.
If a material input or formula changes after approval, the system should identify which checks need to run again and whether the earlier approval remains valid. This is where versioning and change tracking become part of model governance rather than administrative overhead.
7. Design the exception path before the success path
Validation is often designed around a clean example: the model is generated, every check passes, and the user receives the output. Production systems need to handle less convenient outcomes.A failed check should produce actionable information. “Validation failed” is less useful than “The unit count in the sales schedule differs from the unit schedule; review the linked inputs before approving revenue.”
Similarly, a warning should not disappear simply because a later stage of the workflow succeeds. For auditability, preserve the check identifier, the model version, the result, the relevant evidence, and the resolution.
8. Measure validation quality without inventing an accuracy score
A single “model accuracy” percentage can hide important distinctions. A workbook might pass every arithmetic test while containing several unsupported assumptions. Another may contain a harmless formatting issue but have fully reconciled calculations and well-documented inputs.A more useful validation report separates categories:
- Structural checks passed or failed.
- Deterministic calculation checks passed or failed.
- Domain checks passed, failed, or were not applicable.
- Assumptions with verified, missing, or conflicting evidence.
- Open exceptions and their severity.
- Human review status.
- The scope and version of the approved output.
If the system is evaluated over time, track false negatives and false positives for individual validation rules against a reviewed test set. Record the test cases, expected outcomes, rule versions, and known limitations.
Do not interpret a high pass rate as proof that the model is correct. It may simply mean that the checks cover only a narrow set of failure modes.
The purpose of validation is to make known risks visible and testable, not to manufacture certainty.
9. A practical implementation sequence
A team introducing validation around AI-generated financial models does not need to automate every review step at once.A sensible sequence is:
- Define the contract. Specify the required inputs, output fields, units, and missing-value behaviour.
- Write deterministic tests. Start with totals, reconciliations, formula ranges, and independent calculations.
- Add domain checks. Encode known cross-schedule relationships and clearly defined constraints.
- Track provenance. Associate material assumptions with sources, dates, units, and transformations.
- Introduce exception handling. Make failures explicit and prevent unresolved material issues from being silently treated as passed.
- Define human approval. Record the reviewer, workbook version, purpose, and outstanding qualifications.
- Build a regression suite. Retain representative valid and invalid examples and rerun the checks when the generation logic or validation rules change.
The test suite should include deliberate failures, not only successful examples. Examples might include missing finance assumptions, inconsistent unit counts, a formula referencing the wrong period, and a source whose geography does not match the project.
This helps test whether the validation process detects the intended problem rather than merely accepting a plausible-looking output.
Conclusion
Human-in-the-loop validation is not a person checking an AI result after the important work is finished. It is a system design in which deterministic rules handle deterministic questions, domain checks expose inconsistencies, evidence is kept separate from assumptions, and a human reviewer remains accountable for unresolved judgments.For financial modelling, that distinction is material. A workbook can be well-formed without being economically sound, mathematically consistent without being supported by market evidence, and ready for review without being ready for a decision.
The objective is not to make every AI-generated model look trustworthy. It is to make the model's logic, assumptions, limitations, and unresolved issues sufficiently visible that a professional can challenge it before relying on the result.#feasibility #realestate #ai #financial #software #coding #development #engineering #inclusive #community
Human-in-the-Loop Validation for AI-Generated Financial Models -
Your Data Never Leaves the Building: How to Self-Host a MiniMax-Class LLM in a Compliant...#ai #llm #opensource #security #software #coding #development #engineering #inclusive #community
[Boost] -
If you have ever chained a dozen AI video clips into a 2-minute short film, you already know the...#ai #video #machinelearning #filmmaking #software #coding #development #engineering #inclusive #community
Character Consistency Across Multi-Shot AI Video: What Actually Works -
Ask an AI to make you something and you get an artifact. A dashboard, a doc, a tracker, a small tool....#ai #productivity #claude #startup #software #coding #development #engineering #inclusive #community
Artifacts are the new apps. Whoever manages them best wins. -
Most machine learning still assumes a convenient fiction: all the data sits in one place, ready to be...#machinelearning #datascience #ai #deeplearning #software #coding #development #engineering #inclusive #community
Federated Learning: Why Averaging Model Updates Works - and When It Fails -
A memory doesn't always arrive as a grand story. Sometimes it's a rattling ceiling fan, a pet waiting...#devchallenge #hf26challenge #ai #opensource #software #coding #development #engineering #inclusive #community
EchoLantern: A Private Little Archive for Memories -
8 Field Techniques for Smart Contract Auditing — Forged by Refuting My Own Findings
I recently spent 24 focused rounds auditing a lending-and-automation codebase for a
security competition. I opened 7 attack hypotheses. I closed all 7 — six with proofs,
one by refuting my own draft finding at final review, hours before it would have gone
to judges as a "Low severity, high confidence" report.That last one hurt, and it taught me more than the six clean refutations. Here are
the eight techniques that carried the campaign. Each is small enough to use tomorrow.1. Rebuild the economic model before reading functions
For mechanism contracts (auctions, leases, escrows), don't read top-to-bottom. First
reconstruct the economy: who pays whom, when, for what right. Attackers fall out of
the mechanism for free — the flash-renter, the buyout-frontrunner, the donation
thief. This halves the reading time because you know which state transitions matter.2. Follow the patch trail to find the sparse zones
Prior audit fix IDs in comments are a map of where previous reviewers massed their
forces. Dense numbering = picked clean. Sparse numbering plus heavy external
interactions = your hunting ground. Read the fix list first, then go where it isn't.3. Ask what slice of the loss spectrum a check actually blocks
Arequire(shares == 0 → revert)looks like inflation protection. It blocks exactly
one point: the victim receiving nothing. Every partial-loss shape passes. For every
boundary check, ask: "which segment of the loss spectrum does this cover?" Pseudo-
protection is more dangerous than no protection because it stops you looking.4. At every rounding site, ask "who keeps the dust?"
Round directions decide who eats sub-unit remainders. The audit question is
ownership: dust back to the fund's source = safe; to the protocol = QA note; to an
attacker = bug. TracemulDivvsmulDivRoundingUpagainst who supplied the value
being divided.5. Track invariants by who sets, who burns, who recomputes
For state pairs that must stay ordered (escrow balance vs. reserved minimum), find
the single point where the invariant is established and check that every mutation
preserves it. My favorite case: a mutable self-assessed price that raises a burn
rate — the reserved minimum is set once at install and never recomputed on price
changes, so the ordering holds by construction. Once you see the "no recomputation"
pattern, the underflow fear evaporates.6. Enumerate callback points as a grid, then verify CEI per cell
Contracts have fewer external callback points than you fear: NFT in, NFT out,
payout transfers, token hooks — usually under five. Enumerate them exhaustively,
then check effects-before-interactions at each. Completeness comes from the
enumeration, not from insight. This closes a reentrancy hypothesis in one sitting.7. For consume-on-failure designs, ask "can the opponent cause the failure?"
Fail-open flows (trigger consumed, action failed, event emitted) have a griefing
surface: can an adversary deliberately trigger the failure to burn someone's
consumed state? If every failure source is environmental (stale oracle feed, lapsed
time), the design is sound. If any failure is opponent-manufacturable, you have a
DoS vector.8. Push exact wei-level numbers through your exploit math before believing it
This is the technique that saved my credibility. I had a textbook ERC4626 inflation
finding: "attacker donates 999× the deposit, victim loses 99.9%." Plausible,
standard, wrong for that deposit profile. Pro-rata redemption is self-consistent:
the victim's fraction of the pool is A/(D+2A), and they redeem almost all of A back.
The classic attack harms only deposits that round down to zero shares — and this
contract's deposits were whole-position liquidity, large, with a zero-share check
already present. Analogies are how audit findings die in triage. Wei-level numbers,
end to end, or it didn't happen.The meta-rule
Hypothesis-driven auditing with mandatory refutation beats bug-shaped skimming. I
submitted nothing that round — and that was the correct outcome. A self-refuted
finding costs an evening; a wrong one costs your reputation with every triager who
remembers your name.#blockchain #security #solidity #smartcontract #software #coding #development #engineering #inclusive #community
8 Field Techniques for Smart Contract Auditing — Forged by Refuting My Own Findings -
Disclosure: I am asking because I am building a photoreal talking-face product and want to learn from other builders' experience, not from any vendor. Setup (generic): a frozen diffusion talking-face adapter that lip-syncs well but renders flat expressions. Retraining is not on the table for this question — I want an inference-time controller. Questions: 1. How are people scheduling blinks, brow movement, and head motion from audio prosody and phoneme timing without training — explicit timing rules, statistical schedules, or something else — and what parameters matter most? 2. How do you keep a slow expression stream from interfering with fast lip articulation (separate streams, frequency separation, gating)? 3. What breaks first in practice — mechanical/repetitive feel, lip interference, flicker — and what measurement on rendered clips catches it before human review? 4. Is there a minimal controller (blink + brow + head) that measurably improves perceived expressiveness on blinded human or automated judge scores, and what did the evaluation look like? Looking for controller designs and evaluation methods, not hosted-service recommendations. Thanks.#ai #machinelearning #software #coding #development #engineering #inclusive #community
Inference-time expression controller for a frozen talking-face adapter — prosody stream without training? -
When evaluating generative AI tools for writing emails, buyers routinely fixate on monthly subscription fees while ignoring the operational friction of migration. A low entry barrier—such as Rytr's $9-per-month tier or Writesonic's $12.67-per-month plan—masks the true cost of adoption: proprietary campaign builders, embedded workflows, and rigid export limits that make leaving a platform a costly endeavor. If your team pivots strategies or outgrows a tool within twenty-four months, the expense of untangling your email assets from a deeply integrated ecosystem often eclipses any initial savings.
ToolStarting priceKey limitBest forRytr$9/mo100k characters/moValue for moneyWritesonic$12.67/mo200K words (GPT-3.5) or 33K words (GPT-4.0)Writing cold emailsMailerLite$12/moFree for Power and Comfort plan usersSimple email marketing tools with AIHubSpot$20/moFull CRM platform integrationFull CRM platform with AI writingActiveCampaign$79/moAutomation and CRM integrationAutomation, CRM, and AI togetherThe Hidden Exit Trap Behind Low Monthly AI Pricing
The most deceptive aspect of AI email writers is how quickly simple text generation evolves into complex operational dependency. Standalone copy generators allow you to draft subject lines and body copy easily, but marketing platforms embed AI directly into your campaign infrastructure. For instance, MailerLite integrates its subject line generator, email writer, Smart sending, and landing page designer right into the campaign builder and drag-and-drop editor. While this streamlines day-to-day work, it creates a structural lock-in: your email templates, automation sequences, and AI-optimized content live entirely within their proprietary environment. Abandoning the platform means rebuilding your entire campaign machinery from scratch, turning a simple software cancellation into a major operational migration.Fast Onboarding and Free Tiers in Writesonic and Rytr
Getting started with standalone AI writers involves minimal friction, thanks to robust free tiers and straightforward introductory pricing. Writesonic provides a free version with 10,000 words, and its paid tiers start at $12.67 per month for 1 user and 200K words using GPT-3.5, or 33K words using GPT-4.0. For users seeking higher volume without caps, Writesonic's Unlimited plan starts at $16 a month with no word limit. Similarly, Rytr positions itself as a budget-friendly option starting at just $9 a month for 100k characters, complemented by a free plan and broad support across 30+ languages and 20+ tones. Setting up these tools requires virtually no infrastructure setup; you simply create an account, select your language, choose a tone or use case, and begin generating cold emails, sales copy, or marketing campaigns instantly.Evaluating Data Portability and Integration Limits
When assessing how easily you can abandon a tool, data portability and third-party integrations play a decisive role. Writesonic mitigates exit friction by offering a Zapier integration that connects it with over 5,000 apps, allowing you to route your generated email copy out of its V2 workspace and into external CRMs or email service providers with relative ease. On the other hand, all-in-one marketing suites and CRM platforms present stiffer portability barriers. Platforms like ActiveCampaign, which starts at $79 a month with a 14-day free trial, combine automation, CRM, and AI into a unified environment. While powerful for managing complex customer journeys, exporting deeply integrated behavioral data, automated tags, and AI-assisted workflows requires substantial manual intervention or custom data mapping if you decide to migrate.Billing Commitments and Seat Penalties Across Tiers
Financial lock-in is frequently enforced through subscription tiers, user limits, and billing structures. Standalone AI utilities typically offer monthly flexibility, such as Rytr at $9 per month or Writesonic's Unlimited plan at $16 per month, letting you scale down or cancel without penalty. Conversely, enterprise-adjacent marketing platforms often impose higher recurring commitments. ActiveCampaign's starting price sits at $79 per month, and specialized standalone options like Copy.ai scale up to $49 per month. If a growing team adopts a platform with strict seat minimums or advanced tier requirements—such as MailerLite offering its AI tools free specifically for Power and Comfort plan users—downgrading becomes painful because you risk losing essential campaign features or exceeding user caps mid-cycle.Balancing Two-Year Adoption Costs Against Migration Friction
For a business evaluating software with a two-year horizon, the cheapest tool to adopt is rarely the cheapest to abandon. A low-cost standalone generator like Rytr ($9/mo) or Writesonic ($12.67/mo) incurs virtually zero migration friction because you only store text snippets and copy variations. However, if you rely on a comprehensive marketing ecosystem like HubSpot ($20/mo) or GetResponse ($13.30/mo) for funnel building, CRM tracking, and AI email drafting, the cumulative two-year subscription cost is compounded by the hidden labor of data migration should you switch providers. Choosing a native marketing platform makes sense only if you plan to stay long enough for the workflow efficiency to outweigh the eventual cost of extracting your campaigns.Final Verdict: Choosing Your AI Writer Without Getting Trapped
If you need maximum portability and low financial risk, choose a flexible standalone tool like Writesonic or Rytr, where your data remains purely textual and easily transferable via integrations like Zapier. If your workflow demands an all-in-one marketing ecosystem, MailerLite provides a seamless internal AI email writer for Power and Comfort plan users, making its lock-in manageable if you are committed to its email designer. Avoid locking into expensive, deeply entrenched multi-feature automation platforms like ActiveCampaign unless your organization is fully prepared to absorb the high subscription cost ($79/mo) and the heavy migration friction required to ever leave them.#ai #writing #saas #tools #software #coding #development #engineering #inclusive #community
The True Cost of AI Email Writers: Why Exit Terms Matter More Than Sticker Price -
This is part 5 of the series "Protect Your Own Service Yourself — Self-Defense Security in the Age of...#security #ai #vulnerability #infosec #software #coding #development #engineering #inclusive #community
Testing from the outside (2): attack tools and legitimate scanners find different things -
GPT-6.1 Terra มีราคาถูกกว่า GPT-6.1 Sol ครึ่งหนึ่งในทุกรายการของตารางราคา: $1/$5 ต่อล้านโทเคน...#ai #openai #llm #programming #software #coding #development #engineering #inclusive #community
เปรียบเทียบ GPT-6.1 Terra vs GPT-6.1 Sol