profile
viewpoint
Jordan Eldredge captbaritone @facebook Alameda, CA https://jordaneldredge.com JavaScript dork.

1j01/98 311

💿 Web-based Windows 98 desktop recreation █████▓█▓▓▒▓▒▒░▒░░░🗕︎🗗︎🗙︎

captbaritone/codeception-mailcatcher-module 99

Test emails in your Codeception acceptance tests

captbaritone/better-indent-support-for-php-with-html 50

This script allows you to indent HTML sections in PHP files

captbaritone/awesome-atwoods-law 14

A curated list of applications reimplemented in JavaScript

afahim/eslint-plugin-underscore-lodash-compatibility 8

Make sure your code can use underscore and lodash interchangeably.

aaronabramov/haste_map 5

jest-haste-map fork written in rust

captbaritone/clusterfach-py 3

A recommendation engine

captbaritone/album-cover-generator 2

Randomly generated album covers

captbaritone/acorn 1

A small, fast, JavaScript-based JavaScript parser

Pull request review commentfacebook/react

[eslint-plugin-react-cooks] Report constant constructions

 const tests = {         },       ],     },-    {-      code: normalizeIndent`-        function MyComponent(props) {-          let handleNext = () => {-            console.log('hello');-          };-          if (props.foo) {-            handleNext = () => {-              console.log('hello');-            };-          }-          useEffect(() => {-            return Store.subscribe(handleNext);-          }, [handleNext]);-        }-      `,-      errors: [-        {-          message:-            "The 'handleNext' function makes the dependencies of useEffect Hook " +-            '(at line 13) change on every render. To fix this, wrap the ' +-            "'handleNext' definition into its own useCallback() Hook.",-          // Normally we'd suggest moving handleNext inside an-          // effect. But it's used more than once.-          // TODO: our autofix here isn't quite sufficient because-          // it only wraps the first definition. But seems ok.

I had decided at reassigned let/var values were too complex to reason about, so this case would no-longer be an error. How do we want to think about let/var declarations with reassignment?

I suppose we could say that if the initial assignment is a construction, then it's invalid, and if you later assign it another construction we won't try to catch that.

We could then safely suggest that (as in this case) you at least wrap your initial declaration in a useMemo/useCallback.

captbaritone

comment created time in 5 hours

push eventcaptbaritone/react

Jordan Eldredge

commit sha 450cdfd410619b6a10d64d009a1f12b3be5014d9

Fix/remove existing tests

view details

push time in 5 hours

pull request commentfacebook/react

[eslint-plugin-react-cooks] Report constant constructions

The ExhaustiveDeps test was segfaulting on my work machine unless I omitted most of the tests, so I was only running my new tests (using only: true). They seem to run fine on my personal computer, so I'll fix up failing tests now.

captbaritone

comment created time in 6 hours

pull request commentfacebook/react

[eslint-plugin-react-cooks] Report constant constructions

FYI @gaearon who suggested we add this here rather than as a separate rule.

cc @dylanOshima who paired with me on the original, standalone, version of this rule.

captbaritone

comment created time in 6 hours

Pull request review commentfacebook/react

[eslint-plugin-react-cooks] Report constant constructions

 function collectRecommendations({   }; } -// Finds functions declared as dependencies+// If the node will result in constructing a referentially unique value, return+// its human readable type name, else return null.+function getConstructionExpresionType(node) {+  switch (node.type) {+    case 'ObjectExpression':+      return 'object';+    case 'ArrayExpression':+      return 'array';+    case 'ArrowFunctionExpression':+    case 'FunctionExpression':+      return 'function';+    case 'ClassExpression':+      return 'class';+    case 'ConditionalExpression':+      if (+        getConstructionExpresionType(node.consequent) != null ||+        getConstructionExpresionType(node.alternate) != null+      ) {+        return 'conditional';+      }+      return null;+    case 'LogicalExpression':+      if (+        getConstructionExpresionType(node.left) != null ||+        getConstructionExpresionType(node.right) != null+      ) {+        return 'logical expression';

For even better developer experience, we could try to blame the actual sub-expression that is a construction.

For example:

const foo = bar ?? [];
                   ^^ This is actually to blame

However, it would add some additional complexity.

captbaritone

comment created time in 6 hours

PR opened facebook/react

[eslint-plugin-react-cooks] Report constant constructions

Summary

This PR expands upon the existing logic which will report functions defined inside the render function as invalid hook dependencies.

We can now detect additional types of expressions which will result in values that will be referentially unique on each render, such as [] or {}.

function MyComponent() {
  const foo = ['a', 'b', c']; // <== This array is reconstructed each render
  const normalizedFoo = useMemo(() => foo.map(expensiveMapper), [foo]);
  return <OtherComponent foo={normalizedFoo} />
}

We also detect cases where an expression may conditionally result in a referentially unique on each render, such as someArr ?? [] or someObj || {}.

function MyComponent({ nullableValue }) {
  const foo = nullableValue ?? ['a', 'b', c']; // <== This array is _potentially_ reconstructed each render
  const normalizedFoo = useMemo(() => foo.map(expensiveMapper), [foo]);
  return <OtherComponent foo={normalizedFoo} />
}

Test Plan

yarn jest

+529 -69

0 comment

2 changed files

pr created time in 6 hours

create barnchcaptbaritone/react

branch : no-constructions

created branch time in 6 hours

fork captbaritone/react

A declarative, efficient, and flexible JavaScript library for building user interfaces.

https://reactjs.org

fork in 9 hours

startednecolas/react-native-web

started time in 15 hours

startedromefrontend/rome

started time in 3 days

startedmunificent/bantam

started time in 6 days

startedjohanholmerin/style9

started time in 15 days

startedDhghomon/easy_rust

started time in 19 days

startedmatklad/miniml

started time in 22 days

startedrpominov/fun-task

started time in 25 days

issue openedcaptbaritone/webamp

music-credits.md link is broken

created time in a month

issue commentcaptbaritone/webamp

Is there a way to display only the player without equalizer and playlist?

Sure.

You'll need to assign the output of new Webamp[...] to a variable:

const Webamp = window.Webamp;
const webamp = new Webamp({

Then you can call:

webamp.store.dispatch({ type: "CLOSE_WINDOW", windowId: "playlist" });
webamp.store.dispatch({ type: "CLOSE_WINDOW", windowId: "equalizer" });

Also, be sure to check out the example I shared. That should help you figure it out.

lexterror

comment created time in a month

issue commentcaptbaritone/eel-wasm

Is our handling of % correct?

void nseel_asm_mod(void)
{
  __asm__(
    "fld" EEL_F_SUFFIX " (%edi)\n"
    "fld" EEL_F_SUFFIX " (%eax)\n"
    "fabs\n"
    "fistpl (%esi)\n"
    "fabs\n"
    "fistpl 4(%esi)\n"
    "xorl %edx, %edx\n"
#ifdef TARGET_X64
    "subl %eax, %eax\n"
#endif
    "cmpl $0, (%esi)\n"
    "je 0f\n" // skip devide, set return to 0
    "movl 4(%esi), %eax\n"
    "divl (%esi)\n"
    "0:\n"
    "movl %edx, (%esi)\n"
    "fildl (%esi)\n"
    "movl %esi, %eax\n"
    "fstp" EEL_F_SUFFIX " (%esi)\n"
    "addl $" EEL_F_SSTR ", %esi\n"
  );
}
captbaritone

comment created time in a month

issue closedcaptbaritone/webamp

Is there a way to display only the player without equalizer and playlist?

Hi, I would like to display the player without equalizer and playlist.

Thank you!

closed time in a month

lexterror

issue commentcaptbaritone/webamp

Is there a way to display only the player without equalizer and playlist?

There's not a supported way to do this today. That said, Webamp exposes it's store so it's possible to hack this:

Try this:

import Webamp from "webamp"; // eslint-disable-line import/no-unresolved
// This import gives us a URL to llama.mp3
import llama from "./llama.mp3";

const webamp = new Webamp({
  initialTracks: [
    {
      metaData: {
        artist: "DJ Mike Llama",
        title: "Llama Whippin' Intro"
      },
      url: llama,
      duration: 5.322286
    }
  ]
});

webamp.store.dispatch({ type: "CLOSE_WINDOW", windowId: "playlist" });
webamp.store.dispatch({ type: "CLOSE_WINDOW", windowId: "equalizer" });

// Here we go! Let's show Webamp.
webamp.renderWhenReady(document.getElementById("app"));

You can try it in CodeSandbox.io here: https://codesandbox.io/s/webamp-example-3heug?file=/index.html

lexterror

comment created time in a month

startedlhoursquentin/sed-bin

started time in a month

issue commentcaptbaritone/eel-wasm

Is our handling of % correct?

Here's the assembly used in the actual implementation: https://github.com/WACUP/vis_milk2/blob/de9625a89e724afe23ed273b96b8e48496095b6c/ns-eel2/asm-nseel-x86-gcc.c#L507-L531

captbaritone

comment created time in a month

startedjakewins/gqlite

started time in a month

issue openedcaptbaritone/webamp

Explore how we might use FileSystemEntry

https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry

https://twitter.com/BMorearty/status/1278357802969260032

created time in a month

issue closedcaptbaritone/webamp

Add ability to set Webamp Equalizer by holding the mouse button and moving the pointer

In the original version of the program you can change the equalizer settings without many clicks. Look at the gif: set_winamp_equalizer

closed time in a month

olekstomek

issue commentcaptbaritone/webamp

Add ability to set Webamp Equalizer by holding the mouse button and moving the pointer

Yeah, I would love to have this! There's a broader issue with how native browser click events work vs how they work in Winamp. In fact, Justin Frankel himself pointed this out: https://twitter.com/JustinFrankel/status/1265722024116264960

Closing as a duplicate of https://github.com/captbaritone/webamp/issues/393

olekstomek

comment created time in a month

startedandrewimm/imm-dos-nx

started time in a month

PR closed captbaritone/webamp

[WIP] Refactor visualizer

Just putting this here to save some work that I keep losing track of locally. Due to bad rebase it includes some commits that should be stuck on other stuff.

+1695 -345

0 comment

12 changed files

captbaritone

pr closed time in a month

PR closed captbaritone/webamp

Lower screenshot threshold
+964465 -6638

0 comment

284 changed files

captbaritone

pr closed time in a month

PR closed captbaritone/webamp

Massive PR to reorganize the repo

The repository has been in a messy state for ages. Now that we have yarn workspaces we can start to give a clearer separation between some things which are semantically separate. This should make the boundaries clearer to those new to the code base. This:

  1. Splits the modern experiment that we did out into its own package.
  2. Splits the demo site (found on https://webamp.org) into it's own package which consumes the actual Webamp export

Now that the demo site is actually consuming the version of Webamp exposed to NPM we have to be more honest about how we use private APIs. We also need a real way to consume Webamp not as a bundle.

There is way too much going on in this PR, but I suspect it's going to take us a while to clean up all the loose ends, so this is just a start. I plan to merge this when it's basically working (more or less) and then continue to clean up on master.

+3426 -660

0 comment

348 changed files

captbaritone

pr closed time in a month

issue commentcaptbaritone/webamp

not playing anything on safari iphone

@mcamis great find. Thanks! I’ll be looking forward to testing 13.6. Btw, I’m a fan of https://Saturn.fm 👏

itwjagbps

comment created time in a month

startedmcamis/saturn.fm

started time in a month

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha fd58eab2d41049c8b5afa853bc9c81c622b5c34e

Fix links in root README

view details

push time in a month

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha 9ded1acbf5643abd6afbc0e50208457a8e060b9a

Move modern code out of sub directory

view details

push time in a month

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha d08dee9c9bfc47c915524e1b02ebaaa9c155ce08

Move modern into its own package

view details

push time in a month

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha 65592a5d2a09598137311b8dcc24a628fc000bea

Add notes on things to assert

view details

Jordan Eldredge

commit sha a0d36820b0e58810e214e5d607a9c6f9927a36ac

Sketch out notes on Maki

view details

Jordan Eldredge

commit sha d4e8708046332bf71111c0e2f7ce7c5746a5b75e

Remove message about BLM

view details

push time in a month

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha d74a105c8eef05e19d70de367505a188c1ea6310

Clean up hack

view details

Jordan Eldredge

commit sha 569f51703f75d8eff36e83ae9fb3f6cb360b7202

Readme cleanup

view details

Jordan Eldredge

commit sha 506c8af7117e959dc1258c6cfc31bedff00528e1

Handle floor and ceil in Wasm directly

view details

Jordan Eldredge

commit sha cbdf3aa824fc1cef90278ef40c72c3da404c9ee0

Remove accidental `test.only`

view details

push time in a month

issue openedcaptbaritone/eel-wasm

Is our handling of % correct?

Trying compile C's fmod to wasm results in dramatically more code:

Try the following in https://webassembly.studio/

#define WASM_EXPORT __attribute__((visibility("default")))
#include <math.h>

WASM_EXPORT
double mod(double a, double b)
{
    return fmod(a, b);
}

WASM_EXPORT
int main()
{
    return 42;
}

And you will get the following wat:

(module
  (type $t0 (func))
  (type $t1 (func (param f64 f64) (result f64)))
  (type $t2 (func (result i32)))
  (func $__wasm_call_ctors (type $t0))
  (func $mod (export "mod") (type $t1) (param $p0 f64) (param $p1 f64) (result f64)
    get_local $p0
    get_local $p1
    call $fmod)
  (func $main (export "main") (type $t2) (result i32)
    i32.const 42)
  (func $fmod (type $t1) (param $p0 f64) (param $p1 f64) (result f64)
    (local $l0 i64) (local $l1 i64) (local $l2 i64) (local $l3 i32) (local $l4 i64) (local $l5 i32) (local $l6 i32)
    block $B0
      block $B1
        block $B2
          block $B3
            block $B4
              block $B5
                get_local $p1
                i64.reinterpret/f64
                tee_local $l0
                i64.const 1
                i64.shl
                tee_local $l1
                i64.eqz
                br_if $B5
                get_local $l0
                i64.const 9223372036854775807
                i64.and
                i64.const 9218868437227405312
                i64.gt_u
                br_if $B5
                get_local $p0
                i64.reinterpret/f64
                tee_local $l2
                i64.const 52
                i64.shr_u
                i32.wrap/i64
                i32.const 2047
                i32.and
                tee_local $l3
                i32.const 2047
                i32.eq
                br_if $B5
                get_local $l2
                i64.const 1
                i64.shl
                tee_local $l4
                get_local $l1
                i64.le_u
                br_if $B4
                get_local $l0
                i64.const 52
                i64.shr_u
                i32.wrap/i64
                i32.const 2047
                i32.and
                set_local $l5
                get_local $l3
                i32.eqz
                br_if $B3
                get_local $l2
                i64.const 4503599627370495
                i64.and
                i64.const 4503599627370496
                i64.or
                set_local $l1
                get_local $l5
                i32.eqz
                br_if $B2
                br $B1
              end
              get_local $p0
              get_local $p1
              f64.mul
              tee_local $p1
              get_local $p1
              f64.div
              return
            end
            get_local $p0
            f64.const 0x0p+0 (;=0;)
            f64.mul
            get_local $p0
            get_local $l4
            get_local $l1
            i64.eq
            select
            return
          end
          i32.const 0
          set_local $l3
          block $B6
            get_local $l2
            i64.const 12
            i64.shl
            tee_local $l1
            i64.const 0
            i64.lt_s
            br_if $B6
            loop $L7
              get_local $l3
              i32.const -1
              i32.add
              set_local $l3
              get_local $l1
              i64.const 1
              i64.shl
              tee_local $l1
              i64.const -1
              i64.gt_s
              br_if $L7
            end
          end
          get_local $l2
          i32.const 1
          get_local $l3
          i32.sub
          i64.extend_u/i32
          i64.shl
          set_local $l1
          get_local $l5
          br_if $B1
        end
        i32.const 0
        set_local $l5
        block $B8
          get_local $l0
          i64.const 12
          i64.shl
          tee_local $l4
          i64.const 0
          i64.lt_s
          br_if $B8
          loop $L9
            get_local $l5
            i32.const -1
            i32.add
            set_local $l5
            get_local $l4
            i64.const 1
            i64.shl
            tee_local $l4
            i64.const -1
            i64.gt_s
            br_if $L9
          end
        end
        get_local $l0
        i32.const 1
        get_local $l5
        i32.sub
        i64.extend_u/i32
        i64.shl
        set_local $l0
        br $B0
      end
      get_local $l0
      i64.const 4503599627370495
      i64.and
      i64.const 4503599627370496
      i64.or
      set_local $l0
    end
    get_local $l1
    get_local $l0
    i64.sub
    tee_local $l4
    i64.const -1
    i64.gt_s
    set_local $l6
    block $B10
      block $B11
        block $B12
          get_local $l3
          get_local $l5
          i32.le_s
          br_if $B12
          loop $L13
            block $B14
              get_local $l6
              i32.const 1
              i32.and
              i32.eqz
              br_if $B14
              get_local $l4
              set_local $l1
              get_local $l4
              i64.const 0
              i64.eq
              br_if $B11
            end
            get_local $l1
            i64.const 1
            i64.shl
            tee_local $l1
            get_local $l0
            i64.sub
            tee_local $l4
            i64.const -1
            i64.gt_s
            set_local $l6
            get_local $l3
            i32.const -1
            i32.add
            tee_local $l3
            get_local $l5
            i32.gt_s
            br_if $L13
          end
        end
        block $B15
          get_local $l6
          i32.eqz
          br_if $B15
          get_local $l4
          set_local $l1
          get_local $l4
          i64.const 0
          i64.eq
          br_if $B10
        end
        block $B16
          get_local $l1
          i64.const 4503599627370495
          i64.gt_u
          br_if $B16
          loop $L17
            get_local $l3
            i32.const -1
            i32.add
            set_local $l3
            get_local $l1
            i64.const 1
            i64.shl
            tee_local $l1
            i64.const 4503599627370496
            i64.lt_u
            br_if $L17
          end
        end
        get_local $l2
        i64.const -9223372036854775808
        i64.and
        set_local $l4
        block $B18
          get_local $l3
          i32.const 1
          i32.lt_s
          br_if $B18
          get_local $l1
          i64.const -4503599627370496
          i64.add
          get_local $l3
          i64.extend_u/i32
          i64.const 52
          i64.shl
          i64.or
          get_local $l4
          i64.or
          f64.reinterpret/i64
          return
        end
        get_local $l1
        i32.const 1
        get_local $l3
        i32.sub
        i64.extend_u/i32
        i64.shr_u
        get_local $l4
        i64.or
        f64.reinterpret/i64
        return
      end
      get_local $p0
      f64.const 0x0p+0 (;=0;)
      f64.mul
      return
    end
    get_local $p0
    f64.const 0x0p+0 (;=0;)
    f64.mul)
  (table $T0 1 1 anyfunc)
  (memory $memory (export "memory") 2)
  (global $g0 (mut i32) (i32.const 66560))
  (global $__heap_base (export "__heap_base") i32 (i32.const 66560))
  (global $__data_end (export "__data_end") i32 (i32.const 1024)))

created time in a month

issue closedcaptbaritone/eel-wasm

Add epsilon checks

closed time in a month

captbaritone

issue closedcaptbaritone/eel-wasm

Confirm operator precedence

https://github.com/captbaritone/eel-wasm/blob/17405a3af130d89400a3b9a3aaa2ec8ed6218fab/tools/buildParser.js#L30

closed time in a month

captbaritone

issue commentcaptbaritone/eel-wasm

Confirm operator precedence

Done

captbaritone

comment created time in a month

create barnchcaptbaritone/butterchurn

branch : use-wasm

created branch time in a month

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha c5d894a7eb9fc92962446f821a639e6748bc06ef

Version 0.0.9

view details

Jordan Eldredge

commit sha 44a9d300c5805f95aad5ef2b3de683ea0097b9c3

Improve docs

view details

push time in a month

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha 46883963f514dc5895cb2b6fcde87cd1b9d6e67c

Starting to sketch out variable pools

view details

Jordan Eldredge

commit sha b170d49ad11ba399ad46adc05fd598620ad273dc

Add ScopedIdMap

view details

Jordan Eldredge

commit sha 681c423756041afba8c04bbb59340d63ebf82204

Simplify index lookup

view details

Jordan Eldredge

commit sha 4030e38de34e454059cb1d029b9ba7ed586e7867

Simplify index lookup some more

view details

Jordan Eldredge

commit sha 29bf8f4d2cdae56fe527ae9e4b0186b984fcc1f1

Functions exist in pools

view details

Jordan Eldredge

commit sha 753d28213de369b6fb5192f9ed79871bc593cda8

Update docs to reflect pools-based API

view details

Jordan Eldredge

commit sha b5a5cf579b7dbc80a0f50f99fefff9d150d4863e

The reg00-reg99 variables are shared across pools

view details

Jordan Eldredge

commit sha 3df27cea82bd3db7905671f80fc39589f94d47a7

Use new pools syntax in playground, and default `foo` to a global.

view details

Jordan Eldredge

commit sha b30b6d5d2c85f3ea15ec908780d2692274c9393a

Extract utils

view details

Jordan Eldredge

commit sha b560158444982d43a666c5287e63d553801db304

Improve name of resolveFunc

view details

push time in a month

PR merged captbaritone/eel-wasm

[WIP] Variable Pools

Trying out a new API to allow functions to exist in variable pools. For now you can just have one pool called "main".

+332 -127

0 comment

14 changed files

captbaritone

pr closed time in a month

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha b30b6d5d2c85f3ea15ec908780d2692274c9393a

Extract utils

view details

push time in a month

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha 3df27cea82bd3db7905671f80fc39589f94d47a7

Use new pools syntax in playground, and default `foo` to a global.

view details

push time in a month

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha 29bf8f4d2cdae56fe527ae9e4b0186b984fcc1f1

Functions exist in pools

view details

Jordan Eldredge

commit sha 753d28213de369b6fb5192f9ed79871bc593cda8

Update docs to reflect pools-based API

view details

Jordan Eldredge

commit sha b5a5cf579b7dbc80a0f50f99fefff9d150d4863e

The reg00-reg99 variables are shared across pools

view details

push time in a month

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha b170d49ad11ba399ad46adc05fd598620ad273dc

Add ScopedIdMap

view details

Jordan Eldredge

commit sha 681c423756041afba8c04bbb59340d63ebf82204

Simplify index lookup

view details

Jordan Eldredge

commit sha 4030e38de34e454059cb1d029b9ba7ed586e7867

Simplify index lookup some more

view details

push time in a month

startedcromosom/webamp

started time in 2 months

startedswc-project/swc

started time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha 147ef18c656abfd64f6391d50d8b146eab71b25c

Small cleanups

view details

Jordan Eldredge

commit sha 97e9e10524ad4cf761d0b4b1f09900b4b580b034

Version 0.0.8

view details

push time in 2 months

PR opened captbaritone/eel-wasm

[WIP] Variable Pools

Trying out a new API to allow functions to exist in variable pools. For now you can just have one pool called "main".

+81 -34

0 comment

8 changed files

pr created time in 2 months

create barnchcaptbaritone/eel-wasm

branch : pools

created branch time in 2 months

startedrust-lang/crates.io

started time in 2 months

startedcaspervonb/deno-wasi

started time in 2 months

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha 4f0578d402fc1c9b8881b59870cd540a3fcf09f0

Fix image URL

view details

push time in 2 months

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha a16ecf7f0e758e04b6cd743a1656ac4c0ff63998

Clean up unused S3 code

view details

Jordan Eldredge

commit sha fb6bb3c543e94323d5326dd434ec22055f9a3663

Clean up

view details

Jordan Eldredge

commit sha 6aaed719dcc891e32221958f872bbf0f7ad6335f

Get rid of image hashing

view details

Jordan Eldredge

commit sha 57ab359485d68b19f4fe45e5c3ef5635a0043de0

More cleanup

view details

Jordan Eldredge

commit sha c921ca77363ab7e38b6c71b1c4dec3844dd1d0ba

Add script to sync to sqlite DB (which I plan to use instead of mongodb)

view details

Jordan Eldredge

commit sha 3073d73abf908b6ca02d30033d5a85aeb1eb0359

Add skin ID to prediction rows

view details

Jordan Eldredge

commit sha 6c33b6d0f4bbc7ab33134f1f827d836132c4afc4

Fix order of keys

view details

push time in 2 months

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha 54402d6cefbfc6dd75fe0729df743e0145e7fff4

Remove log

view details

Jordan Eldredge

commit sha 80e2afe0941df18d90ba1ccee9950e4f455c0b18

Update Algolia on report flag

view details

push time in 2 months

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha c2f08073389e7e1d5389cae7d55eb7ab9be1b923

Wait for initialization

view details

Jordan Eldredge

commit sha a0ec8a4f82d3ecedbe5871daf84f13eea4f080b8

Fixes for screenshots

view details

Jordan Eldredge

commit sha a8b33f23c8bb60dad62f841a602af150dc969d0c

Stuff :P

view details

Jordan Eldredge

commit sha 4f80859f9edbe1abef19ed5a4b555233d920a759

Add handling of NSFW skins

view details

push time in 2 months

issue closedcaptbaritone/eel-wasm

Dynamically grow memory

  • Eel buffers are allowed to be quite large but probably most presets don't use all of it.
  • I don't think all Wasm VMs have the same memory limits.
  • We should not force the host to allocate the max possible memory up front.

Eel itself does something similar.

closed time in 2 months

captbaritone

issue commentcaptbaritone/eel-wasm

Dynamically grow memory

My math was off and the memory is not actually that large by modern standards. I think we can punt on this.

captbaritone

comment created time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha df3e522ba20a500c33fd0be83a8c899b03874c50

Max index should actually be one less than the number of possible values

view details

push time in 2 months

startedRecallGraph/RecallGraph

started time in 2 months

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha 538a917f07f82436af42b119dbbfe955f69a91fe

v1.4.1-beta03

view details

Jordan Eldredge

commit sha 4ad020edb3912ec3aa10c5f80dba6a29781bafe4

Document that the playlist events are not yet released

view details

Jordan Eldredge

commit sha 6baa2178e3cc0a51c9bb9c3708a45dda97ea0eb6

Update yarn.lock

view details

Jordan Eldredge

commit sha f1773b3b2d018a4b8ab227bec5e3c3cefa3ad321

Start tying to filter out NSFW skins

view details

push time in 2 months

startedAdrianMachado/KaiUI

started time in 2 months

startedcseidman/Coyote

started time in 2 months

issue commentcaptbaritone/eel-wasm

Check exponentiation associativity

Yeah, this was mostly just me being interested in understanding what's the difference between associativity and precedence as I read through my compiler text book :)

captbaritone

comment created time in 2 months

startedhsoft/collapseos

started time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha b3900b7e4d4db60b879848227f8d9a0420de261b

Clean up encoding of memories

view details

Jordan Eldredge

commit sha fefe522316b80bf840b4b55f0e12d39f74c44833

Add exposing memory in comment

view details

Jordan Eldredge

commit sha 4b5a6c178e0d6985d22c4616aaf9172cb583262e

Confirm exponentiation associativity Fixes #30

view details

Jordan Eldredge

commit sha 9207f8f0c1090266d15200e48610d7bbce94fb00

Correct precedence for % and ^

view details

push time in 2 months

issue closedcaptbaritone/eel-wasm

Check exponentiation associativity

What does 2 ^ 2 ^ 4 resolve to?

closed time in 2 months

captbaritone

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha 5b7219e8433fb1c265211e40399418d659087b2f

Start investigating exponentiation associativity

view details

push time in 2 months

issue openedcaptbaritone/eel-wasm

Check exponentiation associativity

What does 2 ^ 2 ^ 4 resolve to?

created time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha d8639a73dad9914a74d974fef02ab180f44728e0

Add missing offset

view details

Jordan Eldredge

commit sha 684d1763b8b45c88aa226878f503f44ee60a30f8

Type Align and don't use hex for immediates

view details

Jordan Eldredge

commit sha be8d1bb9c20057f3ca32b35d97e8343ebf2e8245

Give each f64 in memory 8 bytes

view details

Jordan Eldredge

commit sha 5ac15a6d2d8dcaa415d9e47841c124fce08d0d2b

Use memory immediate to handle offset

view details

Jordan Eldredge

commit sha a53eaf5bfda96afeae59b76568b1776a7956665e

Properly access memory offsets

view details

push time in 2 months

startedbytecodealliance/wasmtime

started time in 2 months

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha 3d39b4a2010a67d26ec408cb564c2f844b7f0d20

Fix butterchurn links with BLM colors

view details

push time in 2 months

push eventcaptbaritone/webamp

Jordan Eldredge

commit sha e5dc59d8fcc847375d9ab1c6857de777f9393720

BLM

view details

push time in 2 months

startedbollu/tiny-optimising-compiler

started time in 2 months

issue openedcaptbaritone/eel-wasm

Dynamically grow memory

  • Eel buffers are allowed to be quite large but probably most presets don't use all of it.
  • I don't think all Wasm VMs have the same memory limits.
  • We should not force the host to allocate the max possible memory up front.

Eel itself does something similar.

created time in 2 months

issue commentcaptbaritone/webamp

Listening/Handling button clicks

The code you included does a point-in-time check to see what the current status is. It would not help you trigger a side effect like generating a popup.

Could you explain what the popup does? What would it say, why are you adding it?

Perhaps onTrackDidChange would work for you, but I don't understand exactly what you are trying to achieve.

aawajjoshi

comment created time in 2 months

issue commentcaptbaritone/webamp

Listening/Handling button clicks

Do you want to show the pop up when the user clicks the button, or anytime a song starts playing?

aawajjoshi

comment created time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha e37231ad712f795a0002a220f723ebce8089c583

Clean up op constants

view details

push time in 2 months

issue openedcaptbaritone/eel-wasm

See if we can drop i64 instructions

created time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha 9e6dd5c8132ab5bb8a698a1f1edfe99006dcfde1

Only emit the minimul number of function types

view details

push time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha 6327231c439444fba10d2c45a8e3f66944287db8

Use arguments for immediates

view details

push time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha c9d751359648df3873a58a91cb53b3322b9c68dc

Cleanup

view details

Jordan Eldredge

commit sha 21df5e6dc0e6ea7f09910abf9a08baf09d446692

v0.0.7

view details

Jordan Eldredge

commit sha 257472c02c589236a73cd60f1ee60428914ff9cb

Make const immediates arguments

view details

Jordan Eldredge

commit sha fcd2db451d08467559de5a8bcd19e659041b6aea

Make local_tee immediate an argument

view details

Jordan Eldredge

commit sha 1dc063dd0e6c75ca14332a43bfb4841f9be07cbc

Make local set/get use argument for immediate

view details

Jordan Eldredge

commit sha f33c84b3f1f194f25f1e0210e8a975eecbb0f41a

Make br_if take an argument

view details

Jordan Eldredge

commit sha b7b29dd3cc18a1288cd5964739a091239e9ac3fb

Make more immediates arguments

view details

push time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha 072a162af968b2587aae43ff1dd9225853882026

Handle out of range indexes for mutating buffer assignemnt (+=, -=, etc)

view details

Jordan Eldredge

commit sha 1ccd748eb67e1e9021c1af2c122abf34d67932a1

Refactor cleanup of ASSIGNMENT_EXPRESSION

view details

Jordan Eldredge

commit sha 765073cafce3ef45f347903d6ddb0b9a3c870984

Improve handling of out of range indexes

view details

push time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha be12dfed5bb84327cd03b88a20696910c7ca5463

buff +=

view details

push time in 2 months

push eventcaptbaritone/eel-wasm

Jordan Eldredge

commit sha 608b9ae12643f54f9d52a2e3e43d6e469cbaa4f1

Support local variables of other types

view details

Jordan Eldredge

commit sha e2a8c25c7eff69e63ba8f2189bbaeec76fd7dcd1

Add epsilon checks to buffer indexes

view details

Jordan Eldredge

commit sha 3a98313cc2c9f7fb7834f95a387f017438b0182e

Add more ops

view details

Jordan Eldredge

commit sha 859d1e0dcd9626c2a4106190dd72c187d9516205

Start adding bounds checking for buffer indexes

view details

Jordan Eldredge

commit sha 700dedc2520439afc570ba8dcdd539e6ff906c51

Handle out of range indexes in = buffer assignement

view details

push time in 2 months

create barnchcaptbaritone/adios

branch : fix-audio

created branch time in 2 months

issue commentcaptbaritone/webamp

initialTrack doesn't play (initially).

Are you sure the path to your media file is correct? Is it hosted somewhere that I could play with it?

aawajjoshi

comment created time in 2 months

startedshmishtopher/wasm-LEB128

started time in 2 months

startedwasm-tool/wasi

started time in 2 months

push eventcaptbaritone/wasi

Jordan Eldredge

commit sha fa32063c52470d0b8acd0d2d92d9a8b87148dbbe

Clarify what WASI is I wasn't familiar so I had to Google it. This will save the next person from having to Google.

view details

push time in 2 months

fork captbaritone/wasi

Import WebAssembly modules that expose the WebAssembly System Interface (WASI).

fork in 2 months

startedfeross/buffer

started time in 2 months

more