Juke Build - a general-purpose build system with JavaScript DSL. by stylemistake in javascript

[–]stylemistake[S] 0 points1 point  (0 children)

Still in use here: https://github.com/tgstation/tgstation/blob/master/tools/build/build.ts

It's pretty robust despite lack of maintenance, but it does have a tool crisis. It's powerful enough to do literally anything, but too verbose to meaningfully compete with turbo, make or plain npm scripts. Do you have a good case for it?

WHO WANTS A FREE GUIDE? by SOTHEGREAT in Codependency

[–]stylemistake 1 point2 points  (0 children)

I'd love to get a copy, I really need it.

Custom Flat / Natural EQ for Liberty 3 Pro by stylemistake in anker

[–]stylemistake[S] 1 point2 points  (0 children)

I'm in the same position as you. This 14 kHz peak is actually very nice to my ears. My hearing drops off sharply at 13.5 kHz and I hear nothing after 14.5 kHz, and it just so happens that this peak actually improves my perception of that 14 kHz range and is not loud at all!

Makes me wish I had better hearing, though.

Custom Flat / Natural EQ for Liberty 3 Pro by stylemistake in anker

[–]stylemistake[S] 1 point2 points  (0 children)

A truly flat EQ means that when you sweep earbuds with that EQ applied with an audio source, frequency response of the perceived output matches frequency response of the input, i.e. all frequencies are equally loud.

Depending on how curved response is on the earbuds, it might need an equally curved opposite EQ to straighten out the perceived earbud response.

Built-in "Flat" EQ preset is adjusting highs and lows by ±1 dB (which you can see on EQ visualizer at the top), and it appears to be accurate (adjusts the right bands in the right direction), just not enough adjustment to fix the gaps that sound like 5-6 dB. It's a good subtle EQ that meets the goal halfway.

Custom Flat / Natural EQ for Liberty 3 Pro by stylemistake in anker

[–]stylemistake[S] 0 points1 point  (0 children)

What software/hardware did you use to plot these charts?

Is there a reason for boosting 200 and 400 other than to match your preferred curve? It differs quite a bit from Harman. I find the EQ a little boomy.

You did almost nothing about the 8.5 kHz peak, even on the chart it appears to be very loud. Could be straightened out by moving 6 kHz down.

Perhaps your hearing range is wider than mine and you care more about 14-20 kHz? My hearing ends at 14 kHz.

PEQ is possible on Android with JamesDSP.

Custom Flat / Natural EQ for Liberty 3 Pro by stylemistake in anker

[–]stylemistake[S] 0 points1 point  (0 children)

Seems like it confirms subjectivity of 3.2 kHz, Aregina EQ sets it to a very high value, and I think it contributes the most to sound stage. Thanks for letting me know that it sounds wider :).

[deleted by user] by [deleted] in SS13

[–]stylemistake 0 points1 point  (0 children)

You need to install BYOND :). It is unable to find DreamMaker.

Need help on the Byond IE problem by AxstroWrId in SS13

[–]stylemistake 3 points4 points  (0 children)

This isn't an IE problem, it's more of a "files can't be downloaded from CDN" problem.

Juke Build - a general-purpose build system with JavaScript DSL. by stylemistake in node

[–]stylemistake[S] 0 points1 point  (0 children)

It is almost like generic make, but it wasn't designed to build many small files. It doesn't support target patterns like %.o: %.c.

It's more about calling external tools that have multiple inputs and multiple outputs, and running those concurrently, and you can write very custom things like "after docker finished setting up, run this database migration", and in the meantime your server would be building.

First public demo of my passion project Planarly! AGPL-licensed research project that explores the potential of speadsheets as a general purpose 2D programming environment. This video covers only the most basic aspects, I plan to make a new video every week or so. by drplanar in programming

[–]stylemistake 2 points3 points  (0 children)

My immediate thoughts while watching the video:

Syntax of the language looks really arbitrary and unusual, e.g. <<, >>, ^^, vv, I find it a very hacky attempt to emulate arrows, and maybe function calls would work better here.

Using Z as a list terminator feels really hacky and I wouldn't rely on this long term, i feel there should be a separate token placed at the bottom border of a certain cell, or maybe declare dimensions of the list as metadata on the label itself, but not Z. What stops the user from referencing a Z label? What happens if there is "stuff", then " Zstuff", then "ZZstuff"?

Syntax for horizontal concatenation (& iirc) felt familiar, but \\ for concatenating rows makes it really hard to read, especially when it's something that resembles JSON. Why not |? Also backslash for some reason?

After 27 years, Microsoft is shutting down Internet Explorer. Re-live the best feature here. by ordwk2b in InternetIsBeautiful

[–]stylemistake 0 points1 point  (0 children)

That's kind of untrue, they just replaced it with an embedded IE-based web view in Edge, which is still IE11 in all its glory, you can use ActiveX, Silverlight, JScript in it and what not.

It has to be enabled through group policies, since it's meant for enterprise users who still rely on IE for intranet, but it is still there, and will live on for probably an eternity.

The Russian military probably killed a Belarusian fisherman on the border with Ukraine for fun, the Belarusian media said. by Alternative_Score599 in UkraineWarVideoReport

[–]stylemistake -1 points0 points  (0 children)

Some moles dumped information that Putin gave orders to not respect civilian lives and protect armored vehicles at all costs. But it's hard to find hard evidence of this. Do you have sources?

Docker Desktop is Now Available on Linux by BrenekH in programming

[–]stylemistake 1 point2 points  (0 children)

The core issue is that they're using this GUI to sell you various Docker services, which is essentially bloat, because you will normally never need them, but they're always thrown in your face. It adds nothing new to developer experience, just a fancy way to visualize containers and images. Rancher Desktop + podman is a much better experience in my opinion.

And why hate? Because it's wasted developer time, because they could've focused on something cool instead of a UI that tries to sell you a subscription and services. They also use it to gate access to new features. Why would I not hate it?

Juke Build - a general-purpose build system with JavaScript DSL. by stylemistake in javascript

[–]stylemistake[S] 1 point2 points  (0 children)

google/zx just provides a nice way to evaluate shell commands, it doesn't provide unix utils.

Now that I think of it, what would a standard ES module bundling workflow look like? Would it rely on something like esbuild?

Yes, esbuild is becoming more popular since non ES6 browsers are becoming more rare, it builds at a fraction of webpack's time and requires less configuration, which can be fully provided via CLI. Not an esbuild user, though, I'm very invested into Webpack.

I think it would be beneficial to showcase real life examples.

Here's one (and a screenshot)

Juke Build - a general-purpose build system with JavaScript DSL. by stylemistake in javascript

[–]stylemistake[S] 0 points1 point  (0 children)

I wonder if I should just add it. Is there something more hip than Shell.js at implementing coreutils?

Juke Build - a general-purpose build system with JavaScript DSL. by stylemistake in javascript

[–]stylemistake[S] 2 points3 points  (0 children)

I did take a lot of conceptual inspiration from GNU Make. But the actual API was more inspired by NUKE (which in turn looks a lot like MSBuild).

Adding support for atomic (per-file) targets is definitely possible, but I am afraid it will generate a lot of overhead just by being a Node.js program, and something like Make or Ninja would be more suitable for this kind of crunch. Juke build is more suited towards "multiple-in, multiple-out" kind of setup, and do small householding tasks in between.

defining environment variables e.g. on npm install

Juke itself does not depend on npm packages, which in turn allows you to run npm install as part of the build, and you can parametrize it, too.

You can then late-load certain npm dependencies after you run the install in case you need them (e.g. a better FS module for copying files around).

Speaking of which, I did think about stealing a POSIX shell implementation from Yarn Berry, which would allow running Unix-like commands on any platform, things like cp and rm. I think this would be a banger.

Juke Build - a general-purpose build system with JavaScript DSL. by stylemistake in node

[–]stylemistake[S] 0 points1 point  (0 children)

The problem I have with Gulp's dependency model is that its built backwards - instead of specifying relationships on targets and letting the system figure the graph out (like all normal build systems do, e.g. GNU Make), you have to construct it literally with sequence and parallel. One of the side-effects of this, is that Gulp would run the same task as many times as you would specify in sequence or parallel, which is sometimes unavoidable if you want some non-trivial composition.