News Re-Download

News Re-Download

Download on the App Store

News Re-Download episodes

  • 020: Why AI disclosure won't hurt sales
    NotebookLM: 103 Sources

    ```prompt
    The topic we are investigating in this report, is "Does public declaration of the usage of generative AI meaningfully change video game sales"
    We are aiming to answer if generative AI used in art, audio or engineering has a measurable impact on the revenue, pre orders, wish lists and other metrics of success for modern video games. There is a perception that it is bad, which may be minority activist groups with large but harmless following making a lot of noise.
    Another question to answer, is if customers are attuned to honesty and the AI discussion is secondary or simply a distraction from the true problem. Which is bad business practices, lies and deception which is not the same as usage of AI tooling and workflows.
    Create a comprehensive briefing document that synthesizes the main themes and ideas from the sources. Start with a concise Executive Summary that presents the most critical takeaways upfront. The body of the document must provide a detailed and thorough examination of the main themes, evidence, and conclusions found in the sources. This analysis should be structured logically with headings and bullet points to ensure clarity. The tone must be objective and incisive.
    We aim to make an informed decision as a team of a AAA studio considering AI adoption on a large scale. How much can adopt? How much becomes toxic? Does it even matter? Should we just ship the best product we can? Is the ultimate metric defined by fun?
    ```
    46 min
  • 019: Securing agentic development at machine speed
    NotebookLM: 38 Sources:

    ```prompt
    How can engineering and IT at an organization work together to benefit from AI integration? What are the safe alternatives to things like OpenRouter, that IT should be providing? How can provenance, authentication and responsible usage be applied from the IT department to the engineering department without just freezing everything and frustrating the engineering team?
    How can engineers include IT in the conversation from start to finish? How can they be respectful, and see the IT constraints as essential to their success, and leverage expertise that is adjacent to their domain to enhance the safety and reliability of their software?
    And last of all, Engineers whom fully embrace agentic tooling such as Cursor and Claude can utterly outpace IT policy and demands. How can IT keep pace, and avoid arrogant engineers running around the safety that IT attempts to impose? Because the engineers can, and will, exploit the grey areas in this massive new era of software development.
    ```


    This episode includes AI-generated content.
    26 min
  • 018: Architecting Enterprise Agent Ecosystems with Google ADK
    Notebook LM: 52 Sources

    ```
    Let's say we have an engineer who is building with AI tooling heavily. RAG pipelines, semantic data aggregation utilities supporting multiple users, custom tools for every niche use case whipped up in hours and saving days of labor for production and sales teams.
    Let's say google vertex, and the ADK is being introduced. 
    The engineer is using docker, chromaDB, postgres, React, asp.net, WPF and other concrete technologies and it is working very well. What's the value the the following google technologies can offer?
    - Google Vertex
    - ADK (Agent developer Kit)
    Where is the vendor lock in, where is the responsible provenance, where is the scalability?
    How should google position and pitch their tools to enhance the engineer's systems and tooling?
    ```
    40 min
  • 017: How LinkedIn spied on browser extensions
    NotebookLM: 47 Sources

    ```
    What is "Browsergate"? What happened in april 2026? What should engineers and linked in users know about what has happened?
    And cutting through all the spin, and marketing, and sophistry, why did this technology exist? Why did linked in even need to make this? Justify it's existence, and either support or tear down that justification with the truth. What are the ethics, and violations of what has happened?
    Is this corruption and evil, or a business doing what they are supposed to, or is this a consumer overreaction?
    What the heck is going on?
    ```


    This episode includes AI-generated content.
    47 min
  • 016: Architectural Security for Model Context Protocol
    Notebook LM: 91 Sources

    ```prompt
    # Summary
    Focus: Architectural security strategies for integrating LLMs and mitigating the systemic risks introduced by prompt injection and Model Context Protocol (MCP).
    Audience: Senior software engineers and systems architects.
    ## Must cover
    This is the key information to be presented this episode, and MUST be covered.
    - **The LLM Architectural Flaw:** LLMs process instructions, user input, and retrieved context as a continuous token stream. They cannot reliably separate trusted "code" from untrusted "data." Frontier model defenses are probabilistic and bypassable. Security falls entirely on you.
    - **Guardrails (AI Firewalls):** You require defense-in-depth via three layers, though stacking them compounds errors and latency:
      - *Input Guardrails:* Block signatures, strip encoding, and redact PII before data hits the context window.
      - *Output Guardrails:* Evaluate responses for hallucinations, leaked secrets, or policy violations.
      - *Runtime Guardrails:* Govern tool authorization and parameter validation.
    - **The MCP Threat Landscape:** MCP is hyped because it solves the "M x N integration" problem, acting as a universal standard to make AI systems active rather than passive (e.g., autonomously querying SIEM data). However, it is a massive attack vector. 
    - **The Confused Deputy Problem:** By exposing tools to an agent, a hidden instruction inside a passive document (Indirect Prompt Injection) can hijack the AI. The AI then acts as a "confused deputy," using its MCP access to exfiltrate data or execute malicious commands.
    - **Architectural Containment:** Because LLMs *will* be tricked, you must design systems where a hijacked LLM cannot do damage. Abandon "behavioral containment" (trying to prompt the LLM to behave safely).
    - **Dual LLM (Quarantined) Pattern:** Split your workloads to ensure isolation.
      - *Quarantined LLM:* Parses untrusted documents (like raw feedback) with zero tool access.
      - *Privileged LLM:* Has tool access, but only receives trusted system instructions and validated, symbolic variables (e.g., `$SUMMARY_VAR`) passed by the orchestrator.
    - **Plan-then-Execute (P-t-E) Architecture:** Avoid reactive architectures (like ReAct). Force the LLM to generate a rigid execution plan *before* retrieving any untrusted data. A deterministic orchestrator then executes the plan so malicious injections cannot alter the sequence.
    - **Best Practices vs Traps:**
      - *Trap:* Trusting the model provider to handle prompt injection. 100% of published prompt defenses are bypassable.
      - *Trap:* Giving an agent a pile of tools and letting it decide its next steps dynamically after reading external data.
      - *Best Practice:* **Human-in-the-Loop (HITL)**. Require explicit human confirmation before executing any irreversible action (modifying databases, sending emails, etc.).
      - *Best Practice:* **Ephemeral Sandboxing**. Execute code only in isolated, ephemeral environments (like Docker containers) that are destroyed immediately.
      - *Best Practice:* **Least Privilege & Data Layer Defense**. Dynamically revoke tool permissions per task. Sanitize all retrieved documents, enforce strict RBAC, and segregate user data using parameterized prompts and randomized XML delimiters.
    ## Rules
    • Keep it pragmatic: focus on decision-making and maintainability.
    • - Enforce strict architectural containment over probabilistic prompt-engineering tricks.
    • - Prioritize explicit, deterministic execution paths; treat LLM outputs as highly untrusted inputs.
    • - Validate your existing constrained RAG/clustering pipelines as the correct, secure baseline before introducing any agentic tool-calling.
    • ```


    This episode includes AI-generated content.
    49 min
  • 015: UI Rosetta Stone 04: High performance UI text architecture
    Notebook Lm with 300 sources. I'm adding sources every time I make a new episode. The tech talk is getting denser too, which is what i want! 

    PROMPT:

    ```
    ## 015: Text is Weird - Display, Input, and Rich Text
    004: UI Rosetta Stone 04: 
    • Display Text vs Editable Text Primitives
    • The Label Mnemonic and Password Security
    • Taming Rich Text: FlowDocuments, Decorators, and Markdown

    # Summary
    This is Episode 004 of the mini-series “UI Rosetta Stone”.
    Focus: Text display + text input controls, and rich text across WPF/XAML (and Noesis), Unreal UMG, and React/web.
    Audience: Senior UI engineers.
    Episode length: 12–18 minutes spoken.

    ## Must cover:
    This is the key information to be presented this episode, and MUST be covered!
    - **Display vs Input (WPF/Noesis):** Contrast the lightweight `TextBlock` (which inherits from `FrameworkElement` and is highly performant) with the heavier `TextBox` (for user input and selection). Briefly cover the `Label` (`ContentControl`): explain that it exists specifically to handle access keys/mnemonics and link focus to an input `Target`, rather than just displaying static text.
    - **Display vs Input (UMG):** Standard `TextBlock` for display. Contrast `EditableText` (the lightweight, raw text base) versus `EditableTextBox` (which adds a border, background styling, and interaction states like hover/focus). 
    - **Display vs Input (Web/React):** The `` and `` elements, conceptually covering controlled components (React state drives value) versus uncontrolled components (DOM holds value).
    - **Rich Text (WPF):** Explain the `RichTextBox` as a host for a `FlowDocument` (Paragraphs, Runs). Mention that it requires interacting with `TextRange` and `TextPointer` objects rather than simple string properties. 
    - **Rich Text (UMG):** The `RichTextBlock` concept. Explain that it relies on a Data Table Asset (`RichTextStyleRow`) for styling and how it uses `URichTextBlockDecorator` classes to map markup tags (like ``) directly to custom Slate widgets.
    - **Rich Text (Web):** HTML markup, Markdown rendering pipelines, and a brief nod to why `contentEditable` is a uniquely chaotic beast.
    - **Password Input (brief):** The `PasswordBox` concept. Explain the security/UX gotchas (e.g., in WPF, `PasswordBox` is a sealed, separate control rather than just a TextBox property to prevent memory interception and UI tree snooping).
    - **Debugging text issues:** Binding vs state bugs, layout clipping vs font fallback, and practical approaches per stack.
    - **Best Practices vs Traps:** 
    - *Trap:* Formatting text via property bindings that fire every single frame (specifically CPU-heavy in UMG; advocate for event-driven updates).
    - *Trap:* Mixing layout logic into text generation.
    - *Trap:* Overusing rich text when a composed widget/component is better, or vice versa.

    ## Topics already covered:
    This is information already covered in previous episodes or coming up in future episodes, and you cannot cover it again. For reference, I have provided the episodes where it was spoken of, and you may ask listeners to go back.
    - 00: WPF Runtime and dispatcher
    - 00: Unreal runtime and what slate is
    - 00: Web runtime and browser DOM + Javascript engine + Node Server
    - 00: Dev environments, Visual studio vs unreal vs visual studio code
    - 00: Source control, Git, perforce etc…
    - 01: Definition of a control, user control, component etc…
    - 01: Button element\control and Textbox\label controls
    - 01: MVVM and importance of separation of concerns
    - 02: Layout controls that are not "panels" including overlay, canvas
    - 012: One-Dimensional vs Two-Dimensional Layouts (StackPanels, Flexbox, Grids)
    - 012: Fluid Design and Responsive Spaces
    - 012: Pixel Density, DPI Scaling, and Screen Adaptation
    - 013: Non-stacking layout primitives: overlays/layers, canvas/absolute positioning, and decorator-style wrappers.

    ## Output format:
    Generate the podcast script using the following exact structure:
    1) Title
    2) Episode description (podcast listing)
    3) Segment outline + timestamps
    4) Script (no code)
    5) Crosswalk table: display text vs editable text vs rich text (per stack)
    6) “Do / Don’t” list (max 12 bullets)

    Rules:
    - Keep it pragmatic: focus on decision-making and maintainability.
    - Keep it controls-level, not engine internals.
    - Don’t deep dive into IME internals, but acknowledge it exists and affects control choice.
    - Keep examples conceptual.

    ```

    This episode includes AI-generated content.
    37 min
  • 014: UI Rosetta Stone 03: Why Absolute UI Layouts Kill Performance
    NotebookLM again. I had to generate it a second time, because if you ask the chat to make the audio overview, it feeds it a 2 liner description and the episode wanders off course.

    PROMPT:


    ## 013: Not Stack Panels - Overlays, Canvas & Absolute Positioning
    013: UI Rosetta Stone 03: 
    • Overlays, Layers, and Z-Order
    • Canvas and Absolute Positioning (and why to avoid "Coordinate Soup")
    • Decorator-Style Wrappers

    # Summary
    This is special Episode 003 of the mini-series “UI Rosetta Stone” (Overall EP013).
    Focus: Non-stacking layout primitives: overlays/layers, canvas/absolute positioning, and decorator-style wrapping (brief).
    Audience: Senior UI engineers, 2D art and design specialists working in editors.

    ## Must cover:
    This is the key information to be presented this episode, and MUST be covered!
    - **UMG Overlay:** The layering mental model, z-order, and typical uses (tooltips, highlights, modal layers). Mention that while Overlays stack elements, they also increment Layer IDs (draw calls), so they should be used intentionally [1].
    - **WPF Canvas & UMG CanvasPanel:** Absolute coordinates (e.g., `Canvas.Left` and `Canvas.Top` in WPF) [2, 3]. Contrast when it’s useful (drawing, painting, or root HUDs) vs. when it becomes tech debt [4, 5].
    - **Absolute Positioning on the Web:** `position: absolute/relative/fixed/sticky` (conceptual), and managing `z-index` layering based on containing blocks [6, 7].
    - **XAML Decorators (brief):** The concept of the `Decorator` base class (which only accepts a single `Child` element) to add a behavior or visual layer (like `Border` or `Viewbox`) [8, 9]. Map this to UMG wrappers (like `SizeBox`, `ScaleBox`, or `RetainerBox`) and Web `div` wrappers [10, 11].
    - **Coordinate Systems:** UMG anchors/pivots conceptually (using 0.0 to 1.0 normalized coordinates) [12, 13], WPF alignment origins, and web layout boxes/containing blocks.
    - **Best Practices vs Traps:** 
    - *“Canvas everywhere” anti-pattern:* Specifically call out that in Unreal, excessive Canvas Panels ruin performance by incrementing child Layer IDs and exploding draw calls [14, 15].
    - *Layering & hit-testing pitfalls:* Contrast WPF's invisible hit-testing (where a `null` background lets clicks pass through, but a `Transparent` background captures them) [16, 17] with UMG's visibility settings (`Hit Test Invisible` vs `Self Hit Test Invisible`) [18]. Mention Web's `pointer-events: none`.
    - *Debugging layouts:* High-level tools and approaches per stack (e.g., WPF Snoop/Visual Studio live tree, Unreal Widget Reflector [19], Chrome DevTools).

    ## Topics already covered:
    This is information already covered in previous episodes or coming up in future episodes, and you cannot cover it again. For reference, I have provided the episodes where it was spoken of, and you may ask listeners to go back.
    - 00: WPF Runtime and dispatcher
    - 00: Unreal runtime and what slate is
    - 00: Web runtime and browser DOM + Javascript engine + Node Server
    - 00: Dev environments, Visual studio vs unreal vs visual studio code
    - 00: Source control, Git, perforce etc…
    - 01: Definition of a control, user control, component etc…
    - 01: Button element\control and Textbox\label controls
    - 01: MVVM and importance of separation of concerns
    - 02: Layout controls that are not "panels" including overlay, canvas
    - 012: One-Dimensional vs Two-Dimensional Layouts (StackPanels, Flexbox, Grids)
    - 012: Fluid Design and Responsive Spaces
    - 012: Pixel Density, DPI Scaling, and Screen Adaptation

    ## Output format:
    Generate the podcast script using the following exact structure:
    1) Title
    2) Episode description (podcast listing)
    3) Segment outline + timestamps
    4) Script (no code)
    5) “When to use it / when not to” table for Overlay vs Canvas/Absolute
    6) Checklist: diagnosing a broken layout (per stack)

    Rules:
    - Keep it pragmatic: focus on decision-making and maintainability.
    - Keep it controls-level, not engine internals.
    - Give concrete mental models, not buzzwords.


    This episode includes AI-generated content.
    47 min
  • 013: Securing OpenClaw AI on Windows 11
    NotebookLM again. 64 sources. I spent some time building the structure of the episode, but asked the notebook lm chat to trigger generating the episode for me. It gave a two liner description. Rubbish!

    ---

    Prompt:
    ```
    OpenClaw native Windows 11 setup, top skills, security best practices to prevent rogue actions, and memory management
    ```

    This episode includes AI-generated content.
    55 min
  • 012: Hosting Vite Apps on Windows Server
    NotebookLM again. 63 sources. I spent some time building the structure of the episode, but asked the notebook lm chat to trigger generating the episode for me. It gave a two liner description. Rubbish!


    Prompt:
    ```
    Setting up a production-ready web hosting server on Windows using Vite and IIS or Caddy for a local network.
    ```

    This episode includes AI-generated content.
    51 min
  • 011: .NET Mac Catalyst External Deployment Gauntlet
    Another NotebookLM job. Bit of a rush, only 73 sources.
    Had a request to get a WPF tool working on a Mac. Not important, but a chance to grow my skillz. So Here's the second of two covering it.

    Notebook LM Prompt:

    ```
    This is Episode 11 of News Re-Download, a podcast talking about software engineering. We're going over how to get dot net app running on Mac using **Mac Catalyst**. Because we are distributing outside the Mac App Store, you must navigate Apple's strict security model. 
    Here is the concise implementation guide:
    ### 1. Prerequisites
    *   **Hardware:** You cannot build a Mac deployment package from a Windows machine. You must use a physical Mac with Xcode installed.
    *   **Apple Developer Account:** You need a paid account to generate the certificates required to bypass macOS Gatekeeper.
    ### 2. Certificates & Provisioning
    *   **Generate Certificates:** Use Keychain Access on the Mac to create a Certificate Signing Request (CSR). In your Apple Developer portal, generate a **Developer ID Application** certificate (to sign the app) and a **Developer ID Installer** certificate (to sign the `.pkg`). Install both into your Mac's Keychain.
    *   **Provisioning Profile:** Create an App ID matching your app's Bundle Identifier, then generate a Distribution Provisioning Profile specifically for Mac Catalyst. Download this profile via Xcode.
    ### 3. Application Configuration
    *   **Native Mac Look:** By default, Mac Catalyst apps scale like iPad apps. Update your `Info.plist` and set the `UIDeviceFamily` key to `6` (Mac idiom) instead of `2` (iPad idiom) for a traditional desktop feel.
    *   **Entitlements:** Create an `Entitlements.plist` in `Platforms/MacCatalyst/` to enable App Sandbox (`com.apple.security.app-sandbox`) and Network Client access (`com.apple.security.network.client`) so your app can securely reach the Jira REST API.
    *   **Fix Build Errors:** To avoid a known `_CodesignVerify` build error when publishing outside the App Store, you must add an MSBuild `` to your `.csproj` to explicitly disable code signature verification.
    ### 4. Build and Publish
    On the Mac, open a terminal in your project directory and use the .NET CLI to compile and sign the package:
    ```bash
    dotnet publish -f net8.0-maccatalyst -c Release -p:CreatePackage=true -p:EnableCodeSigning=true -p:EnablePackageSigning=true -p:CodesignKey="Developer ID Application: Your Name" -p:PackageSigningKey="Developer ID Installer: Your Name"
    ```
    This generates a signed `.pkg` installer file in your output directory.
    ### 5. Notarize and Staple (Bypassing Gatekeeper)
    *   **Notarize:** Upload the signed `.pkg` to Apple's servers using the command line `notarytool`. If you skip this step, macOS Gatekeeper will block the installation.
    *   **Staple:** Once Apple approves the app, run `xcrun stapler staple your_app.pkg`. This staples the approval ticket directly to the installer, allowing your producer to install it safely even if offline.
    ### 6. Auto-Updates (Sparkle)
    For auto-updates on macOS, the Windows AppInstaller won't work. Instead, integrate the **Sparkle** framework.
    *   Add Sparkle to your project.
    *   Host an "Appcast" RSS/XML feed on your server to track new versions.
    *   Sign your updates using EdDSA (ed25519) signatures so Sparkle can securely download and replace the app bundle in the background.

    ```

    This episode includes AI-generated content.
    21 min

About News Re-Download

From the publisher's feed



---

Season 1: Auto-Generated News
Season 2: Notebook LM Generated Learnings
Season 3: UI Rosetta Stone Miniseries

---

News Redownload distills sprawling tech-podcast…