#jsmess 2016-11-07,Mon

↑back Search

Time Nickname Message
00:12 🔗 Swizzle has quit IRC (Read error: Operation timed out)
02:00 🔗 Swizzle has joined #jsmess
02:10 🔗 SketchCow How about tonight!
02:10 🔗 SketchCow Do Jaguar first!
02:18 🔗 bai not sure I see a difference http://assets.metacade.com/emulators/jaguar-wasm-imprecise.html
02:23 🔗 SketchCow Well, it still crashes my Canary. :)
02:23 🔗 SketchCow hey baby
02:23 🔗 SketchCow you
02:23 🔗 SketchCow uh
02:23 🔗 SketchCow really crash my canary
02:24 🔗 SketchCow Crashes my firefox too
02:24 🔗 SketchCow 1. Thanks for compiling it
02:25 🔗 SketchCow Does it show the compile option in the console?
02:25 🔗 SketchCow I'm going to get the Machine It Does Not Crash on shortly
02:26 🔗 bai looks like it doesn't log any info about the link flags, no
02:26 🔗 SketchCow Bummmmmer
02:27 🔗 SketchCow (Booting it on my working box)
02:28 🔗 bai there is some possibility I'm not passing the argument at the right point. I'm passing it while linking, which is where the other -s flag goe
02:28 🔗 bai goes*
02:32 🔗 SketchCow Definitely worth having azakai|2_ looking at it
02:33 🔗 SketchCow I do see a speed difference
02:33 🔗 bai it still crashes for me in ff nightly. maybe the benfits are ore pronounced there
02:36 🔗 SketchCow Agreed, mine gets sick too
02:36 🔗 SketchCow I keep sending crash reports
02:36 🔗 SketchCow Because I'm That Guy
02:38 🔗 SketchCow Maybe compile a different platform as well
02:38 🔗 SketchCow Pacman speeds now, so I don't know if it'll show a difference in anything
02:46 🔗 bai yeah, even the really old builds ran pacman at 100%
02:46 🔗 SketchCow So many weird options, so questionable stuff
03:14 🔗 Swizzle has quit IRC (Read error: Operation timed out)
03:36 🔗 azakai|2_ has quit IRC (Read error: Operation timed out)
03:43 🔗 SketchCow So thanks
03:43 🔗 SketchCow This continues to be a case of "so not prime time"
03:44 🔗 SketchCow I'm thinking of pros and cons of opening these compilations to The World
03:49 🔗 azakai|2_ has joined #jsmess
04:03 🔗 bai oh yeah. I think the timeline for this stuff actually being enabled in browsers is like, next march
04:04 🔗 bai the "con" of opening it to the world is that like 50 people will actually understand what a wasm-enabled browser build and be able/willing to enable those flags
04:04 🔗 bai so a bunch of people will just go "I don't get it, that one just does nothing but holy shit, you can run pacman in a browser??"
04:05 🔗 SketchCow Yeah
04:05 🔗 SketchCow Still
04:05 🔗 SketchCow Causing an explosion of interest is fine with me
04:59 🔗 jvilk hey all, how's it going?
04:59 🔗 SketchCow Crazytown
05:00 🔗 jvilk any experiments with pushing emulation into a webworker? or just crazy webassembly stuff?
05:01 🔗 bai we did some webworker experiments - it was about as we expected. for the simple case where it's just a regular page with nothing else on it, the performance was abotu the same but there was a noticable amount more latency
05:02 🔗 bai it just felt sloppier, even though the framerate was the same - likely because it's still limited by single-core performance, and there's some slight delay added to both input and output by proxying it to the worker
05:02 🔗 jvilk damn. i was asking because of our other crazy idea -- iso mounting / streaming -- depending on synchronous xhr being an ok thing to do
05:03 🔗 bai it'll probably be a better situation when browsers get offscreen canvas support
05:03 🔗 jvilk it's not pure messagechannel latency?
05:03 🔗 bai although that may not help with the async fs problem
05:03 🔗 jvilk there's an asyncfs problem?
05:04 🔗 bai oh I see what you mean, I misread
05:04 🔗 bai you want to be able to do blocking xhr calls to handle blocking fs calls in the emulators
05:05 🔗 jvilk i want to be able to do blocking xhr calls to start up an emu before the iso finishes 100% downloading
05:05 🔗 bai but those are deprecated in the main thread, but allowed in workers
05:05 🔗 jvilk yup.
05:06 🔗 jvilk we were talking adding range request support to the XHRFS to support iso streaming
05:06 🔗 bai yeah
05:06 🔗 bai now I remember it all
05:07 🔗 jvilk we probably can't get the browser to gunzip, but you can just do that in javascript. real easy to add on top of the deflate support browserfs pulls in.
05:08 🔗 bai yeah, I use pako.js for handling gzipped data for other projects. you probably already have something built in for zipfs though?
05:08 🔗 jvilk full-on iso support is crazy for other reasons, though. like Chrome's 1.4GB heap limit.
05:08 🔗 jvilk yeah, zipfs uses pako's inflateRaw directly.
05:09 🔗 jvilk it parses the zip file format and passes a buffer full of compressed goodness to deflateRaw
05:09 🔗 bai sucks that browsers don't implement gzip and basic things like that as an API. I brought that up at a w3c event I went to a couple weeks ago, there was some general agreement that it would be useful but I dunno if that'll go anywhere
05:09 🔗 jvilk with webassembly you can probably make it fast enough anyway.
05:09 🔗 bai I'd love to get basic stuff like gzip, crc-32, md5, sha-*, etc. as just a standard browser function, implemented natively
05:10 🔗 jvilk yeah
05:10 🔗 db48x that would be nice
05:10 🔗 db48x in firefox it would be trivial to wire up the existing decoders, too
05:10 🔗 jvilk as a procrastination tactic, i actually started poking around the ISO 9660 standard in case i feel like hacking together an IsoFS.
05:10 🔗 db48x heh
05:11 🔗 jvilk totally not useful for jsmess and other emulators that have native support for isos.
05:11 🔗 jvilk but cool for in-browser browsing of isos or something.
05:18 🔗 SketchCow I'd love it
18:10 🔗 db48x :(
18:10 🔗 db48x ../../../../../src/lib/http/server.cpp:24:3: error: use of undeclared identifier 'signals_'; did you mean 'signal'?
18:10 🔗 db48x signals_.add(SIGQUIT);
18:10 🔗 db48x ^~~~~~~~
18:10 🔗 db48x signal
18:15 🔗 * db48x sighs
18:16 🔗 db48x I can't help but wonder how code that doesn't compile gets checked in
18:19 🔗 DFJustin it probably compiles on not-emscripten
18:20 🔗 db48x no, there was a typo fix a few hours later that fixes it
18:27 🔗 SketchCow Nobody's perfect
18:27 🔗 SketchCow So, quick coordination, if we could
18:28 🔗 SketchCow - Multi-image floppy thing would be nice. I'm about to finish the consolidation of Apple II duplicates, which will be followed by putting "Side 1"/"Side 2" item pairs into the same item
18:28 🔗 db48x I agree that nobody is perfect, but excusing bad behavior just perpetuates it
18:34 🔗 db48x SketchCow: really hard to do with MAME right now
18:34 🔗 db48x very easy with SAE though
18:35 🔗 db48x well, aside from designing a UI for the user to click on or whatever
18:35 🔗 db48x which is the same in both cases
18:36 🔗 SketchCow Right
18:36 🔗 SketchCow I do realize the addition of the "load two floppy drives" will cut back a certain amount
18:37 🔗 SketchCow So that work, as just done, will fix two other problems (items with two disks that can go in two floppies, and items that don't boot, where we can pair them with a "helper disk" that will boot and then allow emulator access to the non-booting floppy's files)
18:40 🔗 db48x yea, it's a good way of fixing those
18:40 🔗 SketchCow SO that's absolutely been a step in the right direction
18:41 🔗 SketchCow Ultimately, my hope is that we eventually shove something in with a UI upgrade on IA itself for swapping images.
18:42 🔗 SketchCow Even if that means some change to MAME itself
18:42 🔗 db48x yea, the right way to do that is probably with MAME's lua scripting
18:43 🔗 SketchCow So that's something. OK, tabled.
18:43 🔗 SketchCow Next.
18:43 🔗 db48x as in we write a lua script that changes which images are associated with which devices, and modify the loader to include that script and to use it
18:43 🔗 SketchCow - We have people willing to make Macintosh work now, including a Javascript Macintosh emulator working and people with software
18:44 🔗 SketchCow I haven't juiced them in the last couple of weeks but will likely do that
18:44 🔗 db48x cool
18:44 🔗 db48x that'll be fun to work on
18:44 🔗 SketchCow Yeah
18:44 🔗 SketchCow Naturally, IA asked me for "what do you need" and I said "pay a developer" and then it went deep into the fucking black hole
18:44 🔗 SketchCow So steady as it goes on THAT front
18:45 🔗 db48x heh
18:45 🔗 SketchCow I have no excuses for it, it's just typical
18:45 🔗 SketchCow We continue to have a one-man operation
18:45 🔗 SketchCow I said that at an event and poor wendy having to go "HE MEANS he has a lot of support from folks"
18:45 🔗 SketchCow ha HA ha
18:46 🔗 SketchCow - The screenshotter's back on the new machine, which is good. If you feel like there's benefit to writing a canvas ripper, I'm not against this.
18:46 🔗 SketchCow Luckily, nothing is going to be halted if you're not interested, but I do begin to see the advantage of this
18:49 🔗 SketchCow I'm sure some of my stuff gets cropped, mistakes happen, etc.
18:51 🔗 SketchCow Let's see, I think there was something else....
19:17 🔗 yipdw_ re: a thing in here about telling people to enable the wasm flags
19:18 🔗 yipdw_ I know there's a specification for a WebAssembly Javascript API and theoretically you could detect wasm by checking if there's a WebAssembly property on the global object
19:18 🔗 yipdw_ I can't seem to do that in Firefox though
19:18 🔗 yipdw_ even with wasm enabled
19:18 🔗 SketchCow The demo seems to know this
19:19 🔗 yipdw_ oh, I thought those messages were from the emscripten/binaryen support code
19:20 🔗 yipdw_ oh, maybe I can't do that detection because my firefox is too old to actually do native-wasm
19:20 🔗 yipdw_ never mind
19:21 🔗 bai SketchCow: nah he's talking about auto-detecting whether to serve you the wasm vs the asm.js version
19:21 🔗 bai right now I just have a page for each, to test side by side, but for the real-world stuff we'd want one version which picks the best
19:21 🔗 bai unfortunately the binary-interpret fallback method is slow as balls
19:22 🔗 bai it would be nice if that were the same speed as asm.js
19:26 🔗 yipdw_ bai: yeah, it's really super slow
19:27 🔗 yipdw_ actually
19:27 🔗 * yipdw_ checks Nightly
19:28 🔗 SketchCow http://webassembly.org/demo/
19:28 🔗 SketchCow See?
19:30 🔗 bai yeah, no fallback, just two different buttons
19:30 🔗 yipdw_ ok, on Nightly, you *can* detect whether wasm is enabled by the presence or absence of the WebAssembly object
19:30 🔗 yipdw_ nice
19:31 🔗 yipdw_ I don't know if that applies to Chrome Canary but I hope so
19:31 🔗 bai yipdw_: I would imagine so yes
19:31 🔗 yipdw_ SketchCow: yeah, but as bai pointed out it's two buttons, and the interpreter fallback for wasm is really poor UX right now
19:31 🔗 yipdw_ like, for me, it locks up Nightly
19:31 🔗 yipdw_ whereas the asm.js one is smooth as silk
19:31 🔗 bai huh, actually the "webassembly" one does run smoothly on my regular chrome build
19:32 🔗 bai the console doesn't have the same messages about native-wasm vs binary-interpret
19:36 🔗 yipdw_ is now known as yipdw
19:54 🔗 SketchCow (By the way, I think it's obvious that WASM has a pile of rough edges, and we're on the factory where they make the bleeding edge doing full-stop runs against prototype bleeding edges)
19:56 🔗 bai yeah, no rush on this stuff since it'll still be a few more months before it hits consumers
19:56 🔗 bai we provide great test cases for them though :D
19:56 🔗 SketchCow I'm trying to force that
19:56 🔗 SketchCow So I do have the roughly-floating concern we have things compiled "wrong"
19:56 🔗 bai I need to poke dreamlayers about em-dosbox and wasm. ran into some errors while compiling that
19:56 🔗 SketchCow But azakai|2_ needs to wrigh in
19:57 🔗 bai yeah, I also sort of suspect the same, but would be nice to have him confirm whether the -s BINARYEN_IMPRECISE option is for compiling, linking, or both
19:57 🔗 SketchCow I just don't want a nightmare where your valuable time is wasted spending 4 hours making A compile with option B only to be told "Oh, that's -B_A1 now"
19:58 🔗 SketchCow The fact it all kind of "works" is a nice step
19:58 🔗 SketchCow But we're definitely in the realm of "things broke"
19:58 🔗 SketchCow I feel like I had another - thing to go over
19:59 🔗 SketchCow Let me see... multi-image, mac, screenshotter, webassembly...
19:59 🔗 SketchCow I mean, I'm obviously on a tear about "get things going better"
20:00 🔗 SketchCow But that's more on me with metadata, verification scripts, etc
20:05 🔗 SketchCow So, stepping back for a minute
20:05 🔗 SketchCow In October, I made a decision to 1. Stay at the archive, 2. Not end up climbing a bell tower with a sniper rifle over things I can't change
20:06 🔗 bai both sound like good choices
20:06 🔗 SketchCow Subsequently, the entire realm of "the interface on IA isn't good for software and needs something like defacto2 did", I tabled at that point
20:06 🔗 SketchCow So there's a lot where I'm Marlin from Finding Nemo and staring down the trench
20:06 🔗 SketchCow So one of them is that if the metadata is good, and the program isn't insanely challenging, we can emulate it at the Archive
20:08 🔗 SketchCow From this, things we can do make sense, the loaderlab work is a good example of getting around the Trench
20:09 🔗 SketchCow Fixing the duplicates with Apple II, combining items, then redoing the metadata, or writing things to link Apple II programs and manuals on the archive
20:10 🔗 SketchCow Most of this shouldn't be a shock to anybody
20:10 🔗 SketchCow Like, it's obvious that the Arcade shit up is ... probably all going to be fine going forward
20:10 🔗 SketchCow It's worth it to fix the things and test them
20:13 🔗 SketchCow What I REALLY want to do is find out how hard it is to asm.js VLC
20:13 🔗 SketchCow That solves.... oh man
20:14 🔗 bai VLC the movie player?
20:14 🔗 SketchCow yeah
20:14 🔗 bai I have ffmpeg.js
20:14 🔗 bai that could be equivalently useful
20:15 🔗 bai got a whole system with it running in a worker thread, I'm using it for encoding but it can be used for decoding video frames as well
20:15 🔗 SketchCow Yeah, but VLC does a pile of things and provides controls
20:15 🔗 SketchCow Playing DVD isos in the browser
20:15 🔗 SketchCow Playing MIDIs. Playing crazy formats
20:15 🔗 bai yeah this is a raw "feed me data, I'll feed back frames" type of thing
20:17 🔗 SketchCow https://gmarty.github.io/jsconf-2014-talk-play-dvd-in-js/
20:17 🔗 SketchCow I tried this. fail.
20:18 🔗 SketchCow Plus, again, the MAME model.... let VLC spend the hellscape of negotiating media formats.
20:20 🔗 SketchCow I'll write an entry on this
20:20 🔗 SketchCow It's different than this project
20:32 🔗 Ravenloft has joined #jsmess
20:38 🔗 yipdw I like that the "I have DVDs" slide is a giant anime wall
20:39 🔗 yipdw not hating on anime; my DVD shelf would look like that too, except much less full
20:46 🔗 azakai|2_ bai: it's a link-time option. all the wasm stuff happens only when converting bitcode into wasm
20:48 🔗 db48x SketchCow: doing VLC is an amazing idea
20:50 🔗 db48x though it fails on accessibility (same as an emulator does) which is a shame because it might not be too much harder to do the UI in an accessible way
20:55 🔗 bai azakai|2_: ok, that's what I thought. we didn't see a huge difference from using BINARYEN_IMPRECISE=1 - http://assets.metacade.com/emulators/jaguar-wasm-imprecise.html vs http://assets.metacade.com/emulators/jaguar-wasm.html if you wanna check it out
20:59 🔗 Swizzle has joined #jsmess
21:00 🔗 SketchCow db48x: Agreed
21:00 🔗 SketchCow There's now a #vlcjs
21:01 🔗 SketchCow yipdw: The problem with his stuff is you basically have to cook everything into a massive middle format set, and it takes hours, and it's really jankily added.
21:01 🔗 yipdw SketchCow: yeah
21:01 🔗 SketchCow I tried, it was sort of neat
21:01 🔗 SketchCow But it was super rough edges
21:01 🔗 SketchCow VLCjs gets around this by fixing things up
21:01 🔗 yipdw libav.js
21:01 🔗 SketchCow Leaves it to the kids
21:01 🔗 yipdw actually is libav gone and ffmpeg back in play now
21:02 🔗 yipdw I can't keep those projects straight
21:02 🔗 SketchCow I read into the politics there
21:02 🔗 SketchCow They were HILARIOUS
21:05 🔗 SketchCow By the way, people have a few minutes while I write my pitch blog entry to tell me "oh, we have better with _____"
21:05 🔗 SketchCow But I've spent some time on and off over the last year and I don't think so
21:09 🔗 DFJustin you still do want to transcode the vobs I think, streaming mpeg2 is just pissing away bandwidth
21:10 🔗 SketchCow In other channel!
21:20 🔗 azakai|2_ bai: makes sense, it just helps in certain corner cases (like a loop that has a float-to-int version in it)
21:21 🔗 SketchCow bai: azakai|2_ has said he'll profile the webassembly, see what's holding up the works
21:24 🔗 bai I think there's more performance to be had with the direct-to-wasm compiles, but I'll be patient on that one :D
21:25 🔗 SketchCow I of course always hold out there's a secret -REALLY_YOU_WANT_THIS_ONE option
21:36 🔗 SketchCow So, I'm updating my mame pull and will be doing an arcade machine assessment
21:36 🔗 SketchCow Make a "killed list" of ones I had to dark
21:36 🔗 SketchCow And look at non-clones never tried
21:41 🔗 SketchCow (For the record, 406 machines took it in the face.)
21:42 🔗 SketchCow http://pastebin.com/27Un2v9R
21:43 🔗 * SketchCow takes off top hat
21:47 🔗 bai these were removed because of take-down notices, or because they don't work?
21:50 🔗 SketchCow I think it's 100% takedown notices
21:50 🔗 SketchCow At the time, I had a system for compiling them, I go in and look, it boots, up to the archive
21:50 🔗 SketchCow 12 companies had a lot, a LOT of these licenses
21:51 🔗 SketchCow So, like, Atari. They blew up 20+
21:51 🔗 SketchCow Hamster blew up like 60
21:51 🔗 SketchCow Nintendo, well ha ha ha ha ha HA HA HA
22:13 🔗 Swizzle has quit IRC (Read error: Operation timed out)
22:32 🔗 Vito` > Subsequently, the entire realm of "the interface on IA isn't good for software and needs something like defacto2 did", I tabled at that point
22:32 🔗 SketchCow Righto
22:32 🔗 SketchCow Well, like I said, I had proof this was an uphill battle at the archive
22:33 🔗 Vito` just out of curiosity, does IA export enough data in the right formats (JSON-P or something that lets another website's JS properly consume it), that a third-party site could provide a different UI on top of the IA materials, and still letting the IA serve the actual data/content?
22:33 🔗 SketchCow Right or wrong. We aren't even moving on base accessibility in any meaningful way, even after the lead dev in charge of it quit in frustration
22:33 🔗 SketchCow Vito`: Yes, that was intentional
22:33 🔗 Vito` are there any live examples of a third-party site being a different UI/index on top of IA content?
22:33 🔗 SketchCow No
22:33 🔗 SketchCow Wait
22:33 🔗 SketchCow Of non-emularity, yes
22:33 🔗 SketchCow Of emularity no
22:34 🔗 Vito` what's a non-emularity example
22:34 🔗 SketchCow http://mediahistoryproject.org/fanmagazines/
22:34 🔗 Vito` if someone building a really popular front-end for IA content is the kick in the pants someone needs ("we could be getting all this traffic and their banner ads could be donate buttons but you wouldn't resource me") maybe that's worthwhile
22:35 🔗 SketchCow ha ha no it is not
22:35 🔗 SketchCow I just linked an authorized one
22:35 🔗 SketchCow Want unauthorized? Easy
22:35 🔗 SketchCow http://www.mp4videodownloader.com/gettingstarted/
22:36 🔗 SketchCow http://www.behindthesteelcurtain.com/pittsburgh-steelers-nfl-features-news-blog-long-form/2016/11/7/13551612/inside-the-steelers-locker-room-facing-the-music-following-loss-to-ravens-pittsburgh-baltimore-audio
22:36 🔗 SketchCow Authorized: http://www.getty.edu/research/exhibitions_events/exhibitions/alchemy/
22:37 🔗 SketchCow No, we seriously don't care
22:37 🔗 SketchCow And then we fixed a bunch of stuff so the stuff that WAS killing our bandwidth simply doesn't
22:37 🔗 SketchCow For a long time, people were uploading 250mb "GIFs" that were of course mp4s.
22:37 🔗 SketchCow We killed that shit programatically
22:39 🔗 Vito` ah
22:39 🔗 Vito` well, it was a thought
22:39 🔗 SketchCow I know
22:39 🔗 SketchCow Believe me, you can't shock the system
22:39 🔗 SketchCow This VLC.js proposal. Brewster has no idea about it.
22:39 🔗 SketchCow One day, it will consume the archive
22:40 🔗 SketchCow We have a lot of DVD ISOs.
22:40 🔗 SketchCow DFJustin: What's an easy way to get all the mame machine names
22:41 🔗 SketchCow Throwing me a pastebin counts

irclogger-viewer