DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기The picking engine behind Yolo Picker's Wheel of Names: crypto randomness, weights, everyone-once rounds, absent students. Tests and an 8.5M-draw fairness simulation.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗The picking engine behind the Wheel of Names at yolopicker.com/wheel-of-names, which teachers use to call on students. This repository holds the exact picking code, its tests, and a simulation anyone can re-run. MIT licence, no dependencies, Node 18 or newer.
The files in src/ mirror src/utils/wheel/pickEngine.js and src/utils/randomUtils.js of the Yolo Picker site at commit 4e71f820. The only edit is the import path. random.js keeps only the three helpers the engine uses (randomInt, randomFloat, weightedPick).
In every mode, names marked absent are not eligible. Absent marks expire the next day. Undo reverses one pick.
randomFloat returns a number in [0, 1) from 53 random bits supplied by crypto.getRandomValues. Those bits come from randomInt, which uses rejection sampling: it throws away any 32-bit (or 53-bit) sample at or above the largest multiple of the range, so every remainder is equally likely and there is no modulo bias. weightedPick multiplies the float by the total weight and walks the cumulative weights. Math.random is not used for picks: its quality is not specified and it is not meant for fair selection.
One caveat in the mirrored code: randomInt falls back to Math.random if the runtime has no crypto.getRandomValues. Every current browser and Node 18+ has it, so the fallback is not reached in practice.
The winner is drawn first, then the wheel is animated to stop on that slice. In the site code, launchSpin in src/components/wheel/WheelOfNames.js calls draw(...) from pickEngine.js, finds the winner's slice index, and computes the stopping angle with calculateWeightedAbsoluteTarget in src/utils/wheel/wheelUtils.js. The only randomness there is how many extra full turns the wheel makes (randomInt(0, 2) added to a minimum); it does not move the landing slice. spin in src/components/wheel/WheelCanvas.js then animates to that fixed target, and the result it reports is the winner chosen before the spin (onSpinEnd(targetWinnerIndex, ...)). Stop! ends the running spin on the same winner and never draws again. The animation does not influence who wins. This repository covers the draw only; the animation code is not included.
node --test # unit tests
node scripts/simulate.js # simulation, writes RESULTS.md and results.json (about 15 seconds)
The simulation uses the real engine and crypto.getRandomValues with no seed, so each run gives different numbers. The chi-square p-value code is in scripts/stats.js and is checked against published table values in test/stats.test.js.
From the run made for publication (node scripts/simulate.js, Node v26.4.0, 2026-10-27), reported as it came out. Full detail in RESULTS.md. Development runs before it gave p-values for the first test between 0.005 and 0.64, which is the normal spread for a fair draw: re-run it and you will get different numbers.
| Test | Draws | Result | p-value |
|---|---|---|---|
| 30 names, repeat mode | 3,000,000 | each name 99,244 to 100,682 (expected 100,000) | 0.1774 |
| Weights 1x to 5x | 1,500,000 | shares within 0.05 percentage points of expected | 0.6034 |
| Round mode, 30 names | 100,000 rounds | 0 rounds with a missing or repeated name; first pick uniform | 0.6515 |
| 30 names, 5 absent | 1,000,000 | 0 draws on absent names; 25 present names uniform | 0.6750 |
A p-value near 0 would signal bias; a fair draw gives values anywhere between 0 and 1. A statistical test can show a result is consistent with fair; it cannot prove the code is correct, which is why the source is here to read.
On every spin, each eligible name has exactly its weight's share of the chance (equal shares when no weights are set). Earlier spins do not change later chances. The exceptions are round and remove modes, by design: there, names already picked are not eligible, so the remaining names share the chance equally (round) or by weight (remove).
MIT, see LICENSE.