Skip to content

Instantly share code, notes, and snippets.

@jaredly
jaredly / PianoMerge.qml
Created March 27, 2022 16:06
Here's a plugin to merge several voices into a single piano part
import QtQuick 2.0
import MuseScore 3.0
MuseScore {
menuPath: "Plugins.pluginName"
description: "Description goes here"
version: "1.0"
onRun: {
var loops = 0
@jaredly
jaredly / missing-deps-to-local.js
Last active September 27, 2021 18:33
A nice little script for converting gradle dependencies from some external source (ahem jcenter) to a local maven repository.
// Based on info from this post https://brightinventions.pl/blog/migrating-away-from-bintray-jcenter-when-there-is-no-alternative-repository/#setting-up-a-local-maven-repository
/**
* How to use this tool:
* 1. comment out `jcenter()` in your build.gradle
* 2. run `./gradlew :app:dependencies > deps.log`
* 3. mkdir `local-maven`
* 4. add `maven { url = uri("${rootProject.projectDir}/local-maven") }`
* right before the commented-out `jcenter()` calls in your build.gradle.
* 5. run `node missing-deps-to-local.js ./local-maven < deps.log`
@jaredly
jaredly / spirals.jd
Last active September 5, 2021 17:48
@ffi("Vec2") type Vec2#08f7c2ac = {
x: float#builtin,
y: float#builtin,
};
@ffi("End") type End#830ad468 = {};
@ffi("Start") type Start#098d99e8 = {};
@ffi("Center") type Center#1189540a = {};
@jaredly
jaredly / abilities-in-scheme.scm
Last active January 28, 2021 03:32
This is able to at least handle the "jump between two handlers" aspect of abilities. will see how well I make it through the rest of the test cases. This is run using chicken scheme.
(define stack '())
(define (throw-effect k effect)
(let* ((handler (car stack)) (name (car handler)) (fn (cadr handler)))
(set! stack (cdr stack))
(print "Calling " name)
(fn (cons 'effect (cons k effect)))
)
)

All the docs probably

base..

.> view base..

  (base..) : (b ->{𝕖} c) -> (a ->{𝕖} b) -> a ->{𝕖} c
  (base..) f g x = f (g x)
@jaredly
jaredly / example.re
Created July 30, 2019 04:25
Reason Macros example
// Reason Macros!
// Use templates to write your code for you.
let%macro add5 = (input: ident, log: string) => {
if%eval (env("node_environment") != "production") {
Js.log(eval__input)
};
eval__input + 5
};
CAMLprim value fluid_create_ScrollView(value dims_v) {
CAMLparam1(dims_v);
CAMLlocal1(view_v);
log("Create scroll view\n");
Unpack_record4_double(dims_v, left, top, width, height);
NSRect frame = NSMakeRect(left, top, width, height);
NSScrollView* view = [[NSScrollView alloc] initWithFrame:frame];
Part 2
- run a server with "npx http-server -p 3000 -c-1", and open `http://localhost:3000/src/simple` in your browser
- https://github.com/apollographql/reason-apollo -- follow the setup instructions
- the "apollo http link" url should be "https://serve.onegraph.com/dynamic?app_id=0b33e830-7cde-4b90-ad7e-2a39c57c0e11"
- get the query from discord
Goal 2: run the query, and render the `response##rss##rss2Feed##title` to the page.
WIFI: MSFTGuest -- on the login website, use the "Access code": msevent394hr
go to discord.gg/reasonml
the instructions are in the #reason-dojo channel
Goal: Make a podcast app, using the GraphQL query that's in the channel.
If you have questions, raise your hand!
Also feel free to ask things in the #reason-dojo channel
- clone https://github.com/reasonml-community/reason-react-example
type animatable('t) =
| AtRest('t)
| BetweenFrames({pre: 't, post: 't, info: animationInfo})
type state = {
expanded: animatable(bool),
disabled: animatable(bool)
}