Norns: maiden



try norns.local:5000/doc


That works! Thank you very much.


sure. the go get stuff was crucial – that was an important step
and it was not clear at first and is still a little unclear that you should build maiden from


and what i found was that it was MUCH easier to place the glide and go installs in the default locations [as ngwese suggests too]


did you get this working? i plan to revisit keybindings over the next few days (and put together some docs) so any input would be useful. (feel free to chime in here or open an issue the maiden repo.)

also: i should have asked before, did you choose a different editing mode in the editor config or are you using the default?


Got distracted yesterday. Will check shortcuts, browsers and editing modes tonight. I appreciate the responsiveness.


(file under stupid repl tricks)

i’m guessing that by now many of you have discovered the repl at the bottom of the maiden window.

but did you know you can use it to access and control the engine (and other cool stuff)?

for example, type:


to see the commands supported by your script’s engine. for example, for “TestSine”:

--- engine commands ---
amp (f)
hz (f)

from there you can, if like “TestSine” your engine supports it, lower the volume like so:


alternatively you can mess with output volume via norns itself. for example, type this

and audio goes quiet.

it’s also great way to quickly play with drawing on the screen.

screen.move(64, 40)

and you can even execute commands in the os!

util.os_capture("df -hl | grep '/dev/root' | awk '{print $4}'")

good times!



@ppqq i think you just created the intro to the norns studies :slight_smile:


Oh my… this is really nice <3 <3 <3


hi ppqq,

the default editor in safari and chrome seem to not recognize cmd-/ as a comment toggle. I switched to vim and emacs briefly and back to default (ace) to confirm with the same results.

I will start to post things on the repo. Thanks!


ok, weird. i’ll follow-up on the github issue. thanks for confirming!


enjoying the maiden workflow a lot on the whole!

one thing i’ve run into a bit is sometimes I get the output SCRIPT ERROR: with nothing following it when running a script from maiden. at this point things get a bit weird but I don’t think there is actually an error in the script - usually some rebooting and reloading and we’re back. In this state print still appears in the maiden console so something is running but the normns screen is blank within the play screen (menu still works). not quite sure how to help track it down but just mentioning in case there is some useful info I can dig up next time it happens.


I’ve seen this type of behavior most often when there are errors in the init or cleanup functions in the script. The trick is the menu code wants to cleanup the running script before starting a next one but if errors occur during cleanup it doesn’t always recover. Any REPL output you have is useful as there are various lines which indicate where in the internal code things might be stuck.

Strange errors can also occur when switching engines as part of loading different scripts. The next update should help the engine switching problem.


though it wouldn’t explain it working on a restart, it’s a known issue that we’re dropping some error info on the floor (see:

a quick thought: is your script using any other files that are also being modified? (e.g., is it loading another module you’re also changing using a require?)


not using require at all. maybe it’s the case that i did mess something up in the init but then fixing the script didn’t bring norns back to a happy state - i’ve definitely been in the situation where scripts are throwing empty errors in the maiden console, but then start working again without changes after rebooting norns/reloading maiden. I’ll see where the incoming updates gets us and pay more attention next time to exactly what order these things happen in :slight_smile:


Given that the scripts can currently overwrite global variables within the norns system it is somewhat easy to change state within norns such that a restart (of matron or the whole device) is the only way to revert the accidental modification… I’ve done it to myself multiple times.

I anticipate the proposed script sandboxing will go along way toward making it harder to break things while experimenting.


sorry if this the wrong thread, but a question about maiden i stumbled upon quickly in the study.

When I began the study I opened maiden and clicked on the other folders in the scripts section just poking around in the interface. I found when I went to then click the + button to add a script it was added into the folder I had selected. Seems logical enough, except that I found that if all you have is folders in your scripts folder
(ie no loose files in the) it was pretty difficult to unselect a folder. Assuming I’m missing something simple here?

As a quick fix I reloaded maiden and before selecting a folder I added a loose script in dust/scripts/ using the + button. Then it got much easier to unselect folders.

followup question: Is there a way to move files inside of maiden once you make them, if for instance you make them in the wrong spot :roll_eyes:?

I’m running maiden on chrome on a mac if that’s helpful info.

Norns: studies

Unfortunately you’re are not missing anything - it is indeed difficult to deselect without reloading (the entire page). There really needs to be a way to do that.

Currently no. There isn’t anything to support moving. The intention is to add drag/drop support to the file browser but it didn’t get done before release.

My lame method of moving files (in maiden) is to create a new empty file in the correct location, copy/paste the content from old to new, then delete the old… (or just ssh into the device and move the files around via the command line).

Hopefully this all will get improved soon.


Thanks for the response! Not a problem moving forward w/ these workflows in the meantime, just wanted to check i wasn’t overlooking anything in my newness to coding/norns/maiden

Once I got all that squared away, the tutorial went really smoothly and maiden was really intuitive.

I’m guessing this falls under file moving, but is there support in maiden for moving files from your desktop/pc? Another problem I caused myself was quickly/clumsily deleting the artfwo folder from my norns (really was a bull in a china shop during my first 15 seconds in maiden hahaha). I used the sync features on norns to pull these off of a jumpdrive, but while i was staring at the file structure in maiden it crossed my mind that I could perhaps have just added them there, but I didn’t see an obvious way to do so. Assumed this wasn’t currently possible, but again just checking.

Thanks for all the work on maiden, getting through study1 had more than a few holy shit moments where slivers of all the maiden/matron/norns potential was clearly visible even for someone only a few chapters into “Programming in Lua” :robot:


There are a few options for getting content on/off norns. The first is actually the USB sync feature. If you have sync’d TO USB then the entire structure of dust is on the USB drive. Just pop that into your computer and copy additional content, samples, etc over to the USB drive. The use the sync feature on norns to sync FROM USB to put it all on the internal drive.

The other option if you are comfortable with linux/command line stuff is to use ssh to push/pull files over the network (using stfp or scp specifically). I personally use sshfs while developing in order to mount the norns internal drive directly on my laptop. I can provide more detail later if this route is of interest.

The working plan is to have drag/drop function in maiden such that you can drag files from your computer to maiden and have them uploaded directly.


Sounds good! The sync features got me back in business in a matter of minutes last night (mad props to all the folks who designed this system), so probably not necessary to jump out of my comfort zone to ssh just yet haha