Skip to content

Office Hours (2026-10-27) #169

Open
Open

Description

@github-actions

🌟 Join Us for Weekly Office Hours! 🌟

Have questions about stdlib? Need help fixing a bug, figuring out what to do next, or just looking for feedback? Join our weekly office hours to connect with project maintainers, stay updated on the latest project news, and chat with other community members. This is a great opportunity to ask questions, share ideas, and engage directly with the stdlib team.

Everyone is welcome—drop in and say hello!

Time

UTC Tue 27-Oct-2026 16:30 (04:30 PM):

Timezone Date/Time
US / Pacific Tue 27-Oct-2026 09:30 (09:30 AM)
US / Mountain Tue 27-Oct-2026 10:30 (10:30 AM)
US / Central Tue 27-Oct-2026 11:30 (11:30 AM)
US / Eastern Tue 27-Oct-2026 12:30 (12:30 PM)
EU / Western Tue 27-Oct-2026 16:30 (04:30 PM)
EU / Central Tue 27-Oct-2026 17:30 (05:30 PM)
EU / Eastern Tue 27-Oct-2026 18:30 (06:30 PM)
Moscow Tue 27-Oct-2026 19:30 (07:30 PM)
Chennai Tue 27-Oct-2026 22:00 (10:00 PM)
Hangzhou Wed 28-Oct-2026 00:30 (12:30 AM)
Tokyo Wed 28-Oct-2026 01:30 (01:30 AM)
Sydney Wed 28-Oct-2026 03:30 (03:30 AM)

or in your local time:

Links

Joining the meeting

Agenda

  • Have specific things to discuss? Please comment in the issue thread below to add specific items to the agenda.

Activity

  1. added
    Office HoursIssue announcing office hours and soliciting associated agenda items.
    on Oct 25, 2026
  2. batpigandme commented on Oct 26, 2026

    @batpigandme
    Member

    ❓ What does the group think of stdlib-js/stdlib#16286, and how could we make it more useful?

    What is it? An added "reference package(s)" section to the PR template (see the diff here).

    Inspo: @anandkaranubc's The Codebase is the Prompt. His example prompt is a 🤩 reference:

    Ok, considering `blas/ext/base/gxmy` as the closest reference
    implementation, we need to refactor everything in
    `blas/ext/base/gxdy`.
    
    The difference is mostly implementation, and some other things
    you will figure out when comparing.
    
    But as far as structure goes, `blas/ext/base/gxmy` is the way
    to go.
    

    Aim:

    • Help build a sort of "knowledge graph" of what patterns and references across the packages in the stdlib codebase are used and where they do and do not apply.
    • Help for identifying folks who may be able to help each other/do peer reviews not because they're working on the same thing, but because the work they're doing is the same "shape" (also reuse feedback done on one PR to steer changes in another).
    • Bonus: Could be a useful sort of shorthand for maintainers/reviewers to see if the implementation's going to miss the mark because it's based on a reference that doesn't work (and a way to give feedback in the form of: For x pattern, {see packagename}).

    I'm not wording this well, but hopefully I can explain the idea better tomorrow. Basically, identifying patterns and their exceptions are useful for becoming better programmers with or without AI.

    Example e.g., Athan just tagged me in a PR comment (https://github.com/stdlib-js/stdlib/pull/16285#discussion_r4365641414) about where broadcasting _isn't_ required between ndarrays—a counterexample to last week's discussion about broadcasting patterns for sort order and normalization for @gunjjoshi's Qs re. top-level ndarray implementations and FFTs).
  3. anandkaranubc commented on Oct 26, 2026

    @anandkaranubc

    I really like this idea, @batpigandme! Thanks for taking inspiration from the blog and turning it into something useful!

    I especially like the focus on capturing not just which patterns were followed, but also where they don't apply. I think this could be really helpful for both contributors and reviewers, especially as more people rely on AI agents to implement and improve PRs.

    My only concern is that AI agents might fill out this section with convincing explanations without actually understanding or validating the references. I think the value comes from explaining why a reference makes sense and where it differs, rather than just listing similar packages. Keeping it optional and lightweight also makes sense so it doesn't become another checkbox.

    One other thing I've been thinking about is discoverability. When implementing a new package, AI agents generally look at existing code but don't necessarily read previously merged PRs or their descriptions. So while this helps reviewers immediately, the knowledge might remain buried in old PRs. It could be interesting to eventually make these references searchable or accessible to future contributors and agents.

    Overall, we can see how contributors use it before deciding whether anything more is needed!

  4. manit2004 commented on Oct 27, 2026

    @manit2004
  5. ujjwalv01 commented on Oct 27, 2026

    @ujjwalv01
    Member

    LAPACK (dlassq refactor to use seperate output array as discussed previously) : #15668 - Request review

  6. yb175 commented on Oct 27, 2026

    @yb175

    needs discussion : stdlib-js/stdlib#16224

  7. batpigandme commented on Oct 27, 2026

    @batpigandme
    Member

    AI-Generated Summary

    Caution

    These notes are likely imperfect, especially when it comes to spelling/function/package names

    Meeting Purpose

    Discussing code quality, AI contributions, and project scaling.

    Key Takeaways

    • New PR Template Section: A new PR template section will require contributors to document reference packages and note any implementation differences. This will build a knowledge graph to guide contributors and improve AI agent reliability.
    • AI Strategy: AI is a tool for scaling the project by distributing ownership. It's used for deep research and automating well-understood processes, but manual work is prioritized for learning and avoiding over-engineered solutions.
    • logspace Bug: A bug in logspace causes incorrect type promotion, forcing workarounds in dependent packages like slogspace. The fix must distinguish two user intents: full float32 computation vs. float64 computation with a float32 output.
    • Website Analytics: The website's analytics data is not GDPR compliant and cannot be shared publicly. A compliant, anonymized view is a long-term goal to provide user navigation insights.

    Topics

    Code Quality & Reference Packages

    • Problem: Inconsistent code patterns and outdated conventions (e.g., ULP vs. absolute difference assertions) create review overhead and risk being perpetuated by AI agents.
    • Solution: A new PR template section will require documenting reference packages and their implementation differences.
      • Rationale: This creates a visible "knowledge graph" of best practices, guiding contributors and improving AI agent reliability.
      • Risk: Could lead to over-indexing on a few key packages, potentially limiting exploration.

    AI-Assisted Contributions

    • Goal: Use AI to scale the project by distributing ownership and reducing Athan as a bottleneck.
    • Strategy: Treat AI as a tool, not a driver, with distinct use cases:
      • Deep Research: Cross-calibrating across ecosystems (Julia, MATLAB, R, Go) for API design insights.
      • Automation: Building quality assurance tooling and accelerating migrations.
      • Manual Work: Prioritizing hands-on coding to create "disfluency," which forces learning and reveals the true contours of a problem.
      • Scaling: Automating well-understood processes after manual work has defined the optimal approach.

    logspace Type Promotion Bug

    • Problem: slogspace PR YB175 requires a type-casting workaround to pass CI, which is a symptom of a deeper bug in the logspace package.
    • Root Cause: logspace incorrectly promotes scalar inputs (e.g., base=E) to float64 even when an explicit float32 output is requested.
    • Required Fix: The logspace API must distinguish two user intents:
      1. Full float32 computation: All operations performed in single precision.
      2. float64 computation with float32 output: Operations performed in double precision for accuracy, then downcast.
    • Impact: This distinction is critical because it directly affects floating-point precision and the potential for accumulated rounding error.

    Website Analytics & Data Privacy

    • Request: Manit asked to access website analytics data for insights.
    • Decision: Data is not shareable.
      • Reason: The current tracking is not GDPR compliant (e.g., no cookie opt-out, near-individualized IPs).
      • Goal: Create a public, anonymized view of popular pages to help users navigate the docs.

    CI Failure: deasync

    • Problem: CI is failing on check licenses and eLint PR title jobs.
    • Diagnosis: The failure is related to the deasync package, which requires a native add-on build.
    • Investigation: The issue is not a missing binding.gyp file in deasync v1.1, as initially suspected. The failure is recent, despite the package being two years old, suggesting a conflict with a newer toolchain (e.g., NPM 10.8).
    Full transcript

    Full office hours transcript

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Office HoursIssue announcing office hours and soliciting associated agenda items.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions