Skip to content

Instantly share code, notes, and snippets.

@devrim
devrim / luckyrobots_todo.md
Last active March 13, 2026 17:25 — forked from ethanmclark1/luckyrobots_todo.md
LuckyRobots ToDo List
  • LeRobot integration into LuckyEngine (LE, LR, LL)
    • LeRobot already setup inside of LuckyLab and was able to train a policy
    • Focus is on inference into LuckyEngine right now
    • Currently, inference is setup and gRPC connects then sends observations but robot doesn't move inside of LuckyEngine
    • Scene setting is not working correctly in this scenario: piper-blockstacing scene, blocks get teleported out of workspace without robot even moving
  • Setup LuckyLab with CLI to start LuckyEngine in specified scene and autonomously start training/inference (LE, LR, LL)
    • Enable command line control from LuckyLab to start LuckyEngine into a specified scene and play scene automatically for full control from command line with luckylab
  • Configure mjwarp in LuckyEngine (LE, LR, LL)
    • Setup mjwarp inside of LucykEngine
  • Enable multiple robots to be controlled inside of LuckyEngine through Learn/ API
@devrim
devrim / LuckyEngine-Self-Review.md
Created March 13, 2026 06:27
LuckyEngine Architecture Self-Review & Critique

LuckyEngine Architecture Review & Critique

A brutally honest self-review of LuckyEngine's architecture. Every finding is backed by exact file paths and line counts.


Table of Contents

  1. Codebase At A Glance
  2. Architectural Critique
@devrim
devrim / Ned-Architecture-Review.md
Created March 13, 2026 06:05
Ned Editor Architecture Review & Critique

Ned Architecture Review & Critique

An honest, brutal architectural review of the Ned editor submodule (Hazel/vendor/Ned/), as embedded within LuckyEngine.


Table of Contents

  1. What Ned Is
  2. System Map
@devrim
devrim / house-definition-system.md
Last active March 13, 2026 03:55
House Definition System - YAML-driven house composition with pluggable generators for LuckyEngine

House Definition System

YAML-driven house composition with pluggable generators and asset.luckyrobots.com integration

Why This Instead of the Original Proposal

The original Procedural Building Generation proposal is a solid C++ mesh-generation system for walls, doors, windows, and floors -- and we want to keep all of that code. The problem is its architecture: BuildingGenerator sits at the top and owns the whole pipeline, and room-specific things like the KitchenLayoutBuilder get bolted on as post-materialization hooks dispatched by room type. That means every new room feature (kitchen cabinets, garage doors, sliding doors, closet shelving) needs its own special-case integration path into the building generator.

In practice, all of these are the same class of problem -- composing assets and procedural geometry inside a room. A kitchen cabinet run along a wall is structurally no different from a garage door filling an opening

@devrim
devrim / throttle.py
Created December 7, 2023 20:02
python throttling
import time
def create_throttled_function(func, period):
"""Creates a throttled version of the given function that can only be called once every 'period' seconds."""
last_called = [0]
def throttled_function(*args, **kwargs):
nonlocal last_called
current_time = time.time()
$ = require "jquery"
pako = require('pako')
bz2 = require('unbzip2-stream')
BrowserStdout = require('browser-stdout')
decoder = new TextDecoder("utf-8")
stream = new WritableStream
@devrim
devrim / gist:d13fd5b854101c012be972faaa3c10fd
Created February 12, 2018 18:02
fail after 12M insertion
<--- Last few GCs --->
[83252:0x102801e00] 10819832 ms: Mark-sweep 1373.1 (1426.8) -> 1373.1 (1426.8) MB, 689.2 / 0.0 ms allocation failure GC in old space requested
[83252:0x102801e00] 10820615 ms: Mark-sweep 1373.1 (1426.8) -> 1373.1 (1425.8) MB, 674.8 / 0.0 ms last resort GC in old space requested
[83252:0x102801e00] 10821423 ms: Mark-sweep 1373.1 (1425.8) -> 1373.1 (1425.8) MB, 807.3 / 0.0 ms last resort GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
0xb635af7996cb6b8fe113f88f5a6846cc4a8fb083
[
name : "slowloris.pl"
url : ""
description : ""
detectionFilters :
fs : ["slowtoris","strg"] # keywords that we search in FS
proc : ["strg","slowtoris"] # in processes list
,
name : "second-malware"
url : ""
@devrim
devrim / gist:3118634
Created July 15, 2012 21:09
go defer func
package main
import (
"fmt"
)
func f() (ret int) {
defer func() {
ret++
}()