FIRST Mentor Ready and Volunteer Ready Training + Data Protection Event Training

FIRST (For Inspiration and Recognition in Science and Technology) release a new online training program for mentors and volunteers. I would have liked more detail on what to expect so writing it down here.

It is easy to get to the training. You go to your dashboard at firstinspires.org and there is a big “Training “FIRST Training” button on the “My Teams” page. The button is also on the volunteer Registration Tab; at least after you volunteer (I don’t remember if it was there before)

Some of the trainings expire. You can see this on your certifications tab in the training tool. I also noted which ones they are here.

Mentor Ready

The first page says you have to do 4 milestones plus the completion and that it take approximately 90 minutes. Not sure how they got 90 minutes as the modules are listed as 15, 60-90, 15, and 15 along with the quiz. Even if you don’t count the quiz, this gets you to more than 90.

It took me a little under an hour, but I’m a fast reader and already familiar with much of the material. (I’ve been mentoring and volunteering a long time). The milestones were:

  • Milestone 1 – Welcome to FIRST – this was estimated at 15 minutes and took me 8. There were 3 Youtube videos embedded that you could watch at 2x speed. (You might have been able to skip them; I didn’t try that). One of the videos you can choose between 4 different ones and pick the one you find most interesting. Two of videos had content to reader lower on the page which you could watch while listening to the videos. Since these were embedded youtube you could also go to different browser tabs and listen.
  • Milestone 2 – Youth Protection Program – This one is long. It says 75 minutes up front and then inside the video says 60-90. It took me 44 minutes. A lot of it was a series of short videos. You cannot speed them up or go to another browser tab during these videos. And since they are short, you also can’t let it play in the background and listen as you do other things. There are two optional modules at the end: one for vendors and one for parents. I skipped those and went straight to a 5-10 minute tests. You are allowed to get one question wrong and you get three attempts. I didn’t get any wrong on my only attempt. This expires August 1, 2026
  • Milestone 3 – Data Privacy – It is listed as 15 minutes, but took me 4. It was just reading and knowledge checks in each part. If the material was new to you, it would take far more than 4 minutes of course. This expires August 1, 2027.
  • Milestone 4 – Role of a Mentor – Also listed as 15 minutes; this one took me 5. It was also just reading and a single knowledge check.
  • Milestone 5 – Mentor Ready Completion – This took maybe a minute. It just clicking. There’s no content in here. The first time I clicked it, I got an error message “This page can only be accessed after you have completed the prerequisites. Welcome to FIRST, Youth Protection, Data Privacy for Mentors, and Role of a Mentor”. I was puzzled because I did take all four modules. The problem was that I hadn’t first clicked on the Mentor Ready training path to start it. I went back and did that. Everything was reflected that I took. Phew.

Volunteer Ready

Volunteer Ready consists of two of the four Mentor Ready milestones – Welcome to FIRST and YPP. You don’t take them again. I just had to enroll in the path and immediately complete it.

Dat Protection for Event Volunteers for the 25/26 season

This course was in my list. I don’t know if it is from signing up as a volunteer (I judge FLL and FTC) or if I’m already in the system as Volunteer Coordinator. I suspect the former is what triggered it because I submitted my volunteer application today.

It didn’t say how long it took but I spent about 35 minutes on it.

This uses a player that pops up in a new window. You control playback speed in the bottom left corner. It mostly videos (you press next 22 times). The right nav shows what will be covered on each one including the knowledge check quiz. And you can go to other browser tabs/windows and listen.

For the six question quiz, you must get a perfect score but have unlimited attempts.

The material was similar to the mentor one so felt redundant doing it again. Some info was different like the mention of VMS, engineering notebooks, etc though. Also this one has a specific year in the title suggesting it has to be done each year.

jetbrains junie

I had a coupon code for JetBrains Junie AI Ultimate for a year. I set it up last month and have been using it a good bit.

How setup went

First I installed the Junie plugin. After accepting the license, I went to:

help > register – click disabled paid plugins > click JetBrains AI Assistant > Enable and restart

Then I clicked the three dots and license info which took me to the website. I had to click buy on AI ultimate and enter the code. I’m guessing I could have started on that page.

My first test

As a simple use case, I asked JUnie to create a package with two examples. Junie gave me a plan and the two examples:

Create com.jeanneboyarsky.scoped package with immutability examples.

Explore repository to confirm coding style and package naming conventions.

  1. Create new package directory src/com/jeanneboyarsky/scoped with two classes:
  2. Ensure examples are self-contained with main methods printing illustrative output.
  3. Note compilation requirements: document that JDK 21 needs –enable-preview, while JDK 22+ compiles normally.
  4. Provide summary and submit changes.

then listed summary for each class

A new Java class has been created to demonstrate that ScopedValue bindings are immutable within their scope. The implementation highlights that reassignment attempts are not permitted due to ScopedValue being a preview API.

A new Java file has been created to demonstrate that while a ScopedValue’s binding is immutable, the underlying object can be mutable. The code successfully illustrates mutating a Map within scoped values, while also handling scope boundaries.

Finally listed two two classes it created with a link to rollback if i don’t like
A new package com.jeanneboyarsky.scoped was created with two classes: ScopedImmutable1 demonstrates the immutability of ScopedValue bindings, and ScopedMapMutable1 shows that the contents of a mutable Map inside a ScopedValue can be changed. The code compiles for JDK 21+ but lacks automated tests.

In PyCharm

The license is good for all JetBrains products so I tried it in PyCharm as well.

Create a file named junie.py that plays tic tac toe. However instead of X and O, use Unicode symbols for unicorn and wolf. Also have the computer player use a strategy with a low win rate.

The generated code was concise and clear. It used Python idioms. It was well commented. Junie decided to implement my request for a low win rate with this strategy:

# Strategy intentionally weak:
# 1) 60% of the time: choose random move outright.
# 2) 40% of the time: attempt some light heuristics but also sometimes skip blocks/wins.
# Light heuristics section (still weak)
# a) occasionally avoid taking a direct win to stay weak
# b) occasionally block human, but not always
# c) mild preference for center, but not strong
# d) otherwise random corner or side

I ran the code and it works. And won’t frustrate a small child.

Generating Docs

I’m presenting an updated version of “Java Does What Now.” I created an IntelliJ project with packages for each of the examples in my presentation. After I was done, I asked Junie to create a readme to document the unexpected behaviors exhibited by the code.

It didn’t always get it right, for example telling me the module import was invalid. But that’s a new feature so not one it’s been trained on. But overall it did a good job.

[kcdc 2025] 82 bugs i collected in a year you won’t believe made it to production

Speaker: Francois Martin

For more see the table of contents


General

  • Collected 382 bugs over 2 years

Bugs

  • Shows places where the accent mark in his name was handled incorrectly
  • Lorem ipsum on website instead of text
  • Ship date 12/31/69 – default time in a different timezone so converted
  • Get it before gone – 0 available
  • All items in pull down are “Object”
  • “null” displayed instead of value
  • Undefined/NaN instead of number
  • Emails missing
  • Everything in English and terms and conditions link in French
  • Dark mode changes background but not text so black on black
  • Viewing 42 of 38
  • 18 of 0 products found
  • Merge first and middle name into first name
  • Clicking + goes from 0 to 1 to 2 to 0 to 3.00000000000000004
  • AI bug – said thought looking for something unrelated
  • Lack to HTML entity decoding
  • Character encoding issues
  • @fmartin_ fails validation. It wasn’t the underscore, Couldn’t get it to be valid even without.
  • Lack of responsiveness; text overlays, menu cutoff
  • Glitching – various things that go away on refresh
  • Placeholders not replaced
  • Unfiltered error message. User shouldn’t/doesn’t need the back end message
  • “2 guest” instead of “2 guests”
  • Text keys instead of translated value
  • Text keys flash and translate a few seconds later. SSR (server side rendering) solves this.
  • Incorrect/missing info

General

  • Defect – imperfection or deficiency where it does not meet requirements or impairs its intended use
  • ex: expose info that shouldn’t. not clear what to do, instructions don’t work
  • Reproducibility doesn’t matter. Once is enough
  • Found more bugs since June. Maybe because of vibe coding?
  • Most bugs are UI. Logic, error handling came in next
  • Of the critical/blockers, data validation and error handling had most bugs

To prevent

  • webdriver.io good for testing mobile
  • end to end testing
  • dog fooding – use the product yourself
  • exploratory testing – experts can find lots of bugs in short time
  • heat map visualization – see where clicks are. dead clicks (click an element and nothing happens. Rage clicks (repeated clicks out of frustration and nothing happens)
  • Turn off stack traces in prod. Only show specific messages
  • Prevent SQL injection and XSS
  • Test in all the languages you support

My take

The session began with a guest – 30 seconds accordion song about bugs and service pack 2. Relaxing and fun; great timing as last session of the day. I enjoyed seeing the examples and also the analysis/statistics about categories of bugs.