blenderize banner

blenderize

10 devlogs
14h 37m 50s

Deep web-based 3-way merge tool that understands file formats (like ZIPs)

Made for hacking together JARs in a web browser because we’re too cheap to host custom CI on demand.

penguinencounter

it works! kind of! (well, it doesn’t crash?)

needs: UI, actual merged output, conflict resolver

Attachment
0
penguinencounter

more untested code! to be tested tomorrow

(it’s like an event loop or something. i am coming to the realization that i will somehow need to write developer documentation for all of this)

in other news I turned full line code completion back on, we’ll see if it actually saves any time

Attachment
Attachment
Attachment
Attachment
1

Comments

penguinencounter
penguinencounter about 1 month ago

why didn’t this show up in the feed channel

penguinencounter

Is it binary? The answer may surprise you.

we have two different kinds of UTF-16 and you have to guess which one is correct

also JS labels are real and you Can use them

Attachment
Attachment
Attachment
0
penguinencounter

built out the planner system a bit. should be able to actually pick the right before transformer by next devlog

also we’re just pretending everything we don’t recognize is text for now. this is a bad idea

Attachment
0
penguinencounter

JavaScript is a good and well-designed language /s
(maps to the rescue)
(this is a bug fix devlog)

Attachment
0
penguinencounter

I made a Meyers diff implementation!

Special thanks to James Coglan for this set of 3 articles which makes the algorithm make sense (or, more sense than I got from reading the original paper) and also providing a Ruby implementation that I adapted to TypeScript:
https://blog.jcoglan.com/2017/02/12/the-myers-diff-algorithm-part-1/
https://blog.jcoglan.com/2017/02/15/the-myers-diff-algorithm-part-2/
https://blog.jcoglan.com/2017/02/17/the-myers-diff-algorithm-part-3/

I wish I could get hackatime time for the hour spent reading math papers to figure out how the hell all these algorithms work. oh well

Next: probably a basic 3-way merge, then a MVP

(Also, Rhythm Doctor OST is carrying me through this)

Attachment
Attachment
1

Comments

penguinencounter
penguinencounter about 1 month ago

oops their name is Myers not Meyers. how did I not notice this

penguinencounter

a bit of polish

(yeah it’s 47 minutes of frontend. time to lock in on backend again)

Attachment
1

Comments

penguinencounter
penguinencounter about 1 month ago

also you can’t see it because it’s a still image but I animated the progress bar

penguinencounter

made a quick browser demo for testing purposes (and finished up getting back to before I deleted everything)

next is probably getting text merges to work

Attachment
0
penguinencounter

Got the project set up and published on GH.

Also, accidentally made a circular dependency when trying to make a Promise wrapper with a progress callback. That was interesting to solve. (Builder to the rescue?)

(There’s not really much to show, because most of this is library stuff - eventually there will be a browser demo, but we’re not there yet)

Attachment
0