Skip to content

Instantly share code, notes, and snippets.

Jared Forsyth jaredly

Block or report user

Report or block jaredly

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View codemirror.cljs
(defn code-mirror
"Create a code-mirror editor. The parameters:
value-atom (reagent atom)
when this changes, the editor will update to reflect it.
:style (reagent style map)
will be applied to the container element
options passed into the CodeMirror constructor
:on-cm-init (fn [cm] -> nil)
jaredly /
Created Jan 2, 2018
Simple Static File Server in Reason/OCaml
let recv = (client, maxlen) => {
let bytes = Bytes.create(maxlen);
let len = Unix.recv(client, bytes, 0, maxlen, []);
Bytes.sub_string(bytes, 0, len)
let parse_top = top => {
let parts = Str.split(Str.regexp("[ \t]+"), top);
switch (parts) {
jaredly /
Created Jul 30, 2019
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") {
eval__input + 5
View gist:a5e0102c060b7a1b40525d41f87843a8
let module Styled = {
let module Create (Config: {
let name: string;
let style:;
}) => {
let component = ReasonReact.statelessComponent;
let make ::paddingVertical=? => {
let style = combineStylesSomeHow paddingVertical; /* <- this is an optional btw */
View.make ::style
jaredly /
Last active Jan 29, 2019
ReasonReact Context API Example
module StringContext =
type t = string;
let defaultValue = "Awesome";
let component = ReasonReact.statelessComponent("Tree");
let make = _children => {
View current.m
CAMLprim value fluid_create_ScrollView(value dims_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];
View gist:15aeeff4c4bb46b01abfdeef19191b14
Part 2
- run a server with "npx http-server -p 3000 -c-1", and open `http://localhost:3000/src/simple` in your browser
- -- follow the setup instructions
- the "apollo http link" url should be ""
- get the query from discord
Goal 2: run the query, and render the `response##rss##rss2Feed##title` to the page.
View gist:7cc7b8c76513017b799a23168952f08f
WIFI: MSFTGuest -- on the login website, use the "Access code": msevent394hr
go to
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
View gist:c9cab8507984f3edbc2b7a2b1f07983b
type animatable('t) =
| AtRest('t)
| BetweenFrames({pre: 't, post: 't, info: animationInfo})
type state = {
expanded: animatable(bool),
disabled: animatable(bool)
jaredly / .bash_profile
Last active Sep 27, 2018
my git config
View .bash_profile
# Super often, these are muscle memory
alias g=git
alias gs="git status"
alias gb="git b"
alias gd="git diff"
# See the git aliases section, but this is "git branch" but better
# (sorted by most recent, and other things)
alias gr="git r"
# Used as `gitca "commit message"` and it's done
You can’t perform that action at this time.