Posts Tagged ‘CarlyRichmond’
[DevoxxUK2025] How to Ask Questions in 2025
Carly Richmond, a developer advocate at Elastic, delivered a concise and practical talk at DevoxxUK2025 on mastering developer forums in the AI era. Drawing from her experience as a front-end engineer and forum moderator, she shared strategies for asking and answering questions effectively on platforms like Stack Overflow, Discourse, and company-specific Slacks. Carly emphasized providing sufficient context, avoiding common pitfalls like exposing private data, and using AI-generated answers responsibly. Her engaging examples and actionable tips highlighted the importance of empathy and etiquette in fostering vibrant developer communities.
The Value of Developer Forums
Carly underscored that forums remain vital for connecting developers globally, offering solutions and collaboration opportunities. However, poor question quality—such as vague posts or failure to search existing answers—hampers effectiveness. She cited an example of a novice Kibana user posting “server not ready” without searching, missing readily available troubleshooting guides. Encouraging users to check documentation, search forums, or use Google first, Carly stressed that these habits save time and improve answer quality, especially for junior developers prone to panic.
Crafting Effective Questions
To get timely answers, Carly advised including key details: software versions, technology used (e.g., Elasticsearch, Logstash), code snippets, configuration examples, logs, and steps tried. Screenshots are useful for UI issues but not for code, which should be shared as text. For open-ended queries like best practices, specify the goal clearly to avoid intimidating responders. Carly shared an anonymized example of a vague post lacking version details, which led to follow-up questions, delaying resolution and frustrating both asker and community.
Avoiding Common Mistakes
Carly highlighted pitfalls like exposing sensitive information (e.g., API keys, proprietary code) in public forums, which can lead to security risks or platform bans. She recounted instances where moderators had to remove posts containing login credentials or endpoints. To prevent this, obfuscate sensitive data or use dummy values. Another mistake is impatience, such as repeatedly pinging moderators or hijacking others’ threads, which disrupts discussions. Carly advised waiting a few days before escalating and posting solutions if found independently.
Responsible Use of AI in Forums
With AI tools increasingly used in forums, Carly cautioned against posting unverified AI-generated answers. She shared a case where a well-meaning user posted incorrect RAG-generated responses from Elasticsearch documentation, later flagged by developers. To use AI responsibly, verify accuracy, disclose AI usage per forum rules, and avoid flooding threads with unhelpful content. Carly emphasized transparency, as some users prefer human-crafted answers, and unchecked AI responses can mislead or clutter discussions.
Maintaining Forum Etiquette
Carly stressed empathy in forums, noting that responders are developers, not chatbots. Rude behavior, like aggressive pings or irrelevant replies (e.g., pitching a cloud trial for an on-prem query), alienates the community. She also addressed irrelevant posts, like a user discussing their sick cat in a Java agent thread, which moderators should flag or remove. Adhering to the community’s code of conduct ensures constructive dialogue. For disputes, such as responders arguing over answers, Carly recommended flagging violations and focusing on testing suggested solutions.
Practical Tips for Unanswered Questions
When questions go unanswered, Carly suggested waiting a week before flagging to moderators, as forums offer best-effort support, not production-level urgency. If no response, add more context, like new attempts or error updates, to aid responders. For example, she advised a user whose week-old post went unanswered to refine their query with additional logs or context. Carly also encouraged sharing solutions to help future searchers, reinforcing the collaborative spirit of developer forums.
Links:
[DevoxxUK2024] Is It (F)ake?! Image Classification with TensorFlow.js by Carly Richmond
Carly Richmond, a Principal Developer Advocate at Elastic, captivated the DevoxxUK2024 audience with her engaging exploration of image classification using TensorFlow.js. Inspired by her love for the Netflix show Is It Cake?, Carly embarked on a project to build a model distinguishing cakes disguised as everyday objects from their non-cake counterparts. Despite her self-professed lack of machine learning expertise, Carly’s journey through data gathering, pre-trained models, custom model development, and transfer learning offers a relatable and insightful narrative for developers venturing into AI-driven JavaScript applications.
Gathering and Preparing Data
Carly’s project begins with the critical task of data collection, a foundational step in machine learning. To source images of cakes resembling other objects, she leverages Playwright, a JavaScript-based automation framework, to scrape images from bakers’ websites and Instagram galleries. For non-cake images, Carly utilizes the Unsplash API, which provides royalty-free photos with a rate-limited free tier. She queries categories like reptiles, candles, and shoes to align with the deceptive cakes from the show. However, Carly acknowledges limitations, such as inadvertently including biscuits or company logos in the dataset, highlighting the challenges of ensuring data purity with a modest set of 367 cake and 174 non-cake images.
Exploring Pre-Trained Models
To avoid building a model from scratch, Carly initially experiments with TensorFlow.js’s pre-trained models, Coco SSD and MobileNet. Coco SSD, trained on the Common Objects in Context (COCO) dataset, excels in object detection, identifying bounding boxes and classifying objects like cakes with reasonable accuracy. MobileNet, designed for lightweight classification, struggles with Carly’s dataset, often misclassifying cakes as cups or ice cream due to visual similarities like frosting. CORS issues further complicate browser-based MobileNet deployment, prompting Carly to shift to a Node.js backend, where she converts images into tensors for processing. These experiences underscore the trade-offs between model complexity and practical deployment.
Building and Refining a Custom Model
Undeterred by initial setbacks, Carly ventures into crafting a custom convolutional neural network (CNN) using TensorFlow.js. She outlines the CNN’s structure, which includes convolution layers to extract features, pooling layers to reduce dimensionality, and a softmax activation for binary classification (cake vs. not cake). Despite her efforts, the model’s accuracy languishes at 48%, plagued by issues like tensor shape mismatches and premature tensor disposal. Carly candidly admits to errors, such as mislabeling cakes as non-cakes, illustrating the steep learning curve for non-experts. This section of her talk resonates with developers, emphasizing perseverance and the iterative nature of machine learning.
Leveraging Transfer Learning
Recognizing the limitations of her dataset and custom model, Carly pivots to transfer learning, using MobileNet’s feature vectors as a foundation. By adding a custom classification head with ReLU and softmax layers, she achieves a significant improvement, with accuracy reaching 100% by the third epoch and correctly classifying 319 cakes. While not perfect, this approach outperforms her custom model, demonstrating the power of leveraging pre-trained models for specialized tasks. Carly’s comparison of human performance—90% accuracy by the DevoxxUK audience versus her model’s results—adds a playful yet insightful dimension, highlighting the gap between human intuition and machine precision.