code logs -> 2017 -> Sun, 16 Apr 2017< code.20170415.log - code.20170417.log >
--- Log opened Sun Apr 16 00:00:55 2017
00:19
<@ErikMesoy>
and the midnight ghost whispered a terrifying single word:
00:19
<@ErikMesoy>
"webUSB"
00:22
<@ErikMesoy>
One of my contacts elsewhere namedropped this, semi-badly explained that it was an implementation of USB drivers in javascript that would let web pages access your USB or something, and there was much screaming about security implications in the comments. How bad is it really?
00:32
<&McMartin>
I can't think of any reason this technology should exist in any form.
00:34
<&McMartin>
That said, it does not appear to be a prank: https://wicg.github.io/webusb/
00:45
<@gnolam>
>_<
01:08 Jessikat [Jessica@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving]
01:14 Jessikat` is now known as Jessikat
01:48 Jessikat` [Jessikat@Nightstar-d4tp3v.dab.02.net] has joined #code
01:52 Jessikat [Jessikat@Nightstar-2ne.equ.132.82.IP] has quit [Ping timeout: 121 seconds]
01:59
< Vorntastic>
Only thing I can think of I'd use it for is security dongles
02:28
<@himi>
Webcams in browser based video conferencing apps
02:28
<&McMartin>
Being able to turn cameras on that are pointed at me are exactly a thing I *don't* want browsers to be able to.
02:28
<&McMartin>
Like, the type species of things to not permit
02:29 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
02:29
<&ToxicFrog>
That ship sailed years ago
02:30
<&ToxicFrog>
hangouts.google.com can do videoconferencing out of the box in chrome, firefox, and probably IE these days
02:30
<&ToxicFrog>
(although it does it with some kind of video-capture-specific API, not by finding the webcam in the USB tree and talking to it directly)
02:32 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has joined #code
02:32 mode/#code [+o Reiv] by ChanServ
02:35
<@himi>
Not saying it's a good idea, or even necessarily a good implementation, but it's the most likely reason for wanting to expose USB devices to javascript
02:36
<&ToxicFrog>
Right, but we already have an API for that that works fine and is much less open to generalized abuse
02:38
<@himi>
Is it standardised the way that current UVC video is standardised, though?
02:38 Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
02:38
<&ToxicFrog>
UVC?
02:40
<@himi>
I may have the acronym wrong . . . every USB webcam I've looked at in the last quite a long time uses a single driver under Linux, which I've taken to mean that there's been a standardised interface for them
02:42
<@himi>
Aha, I didn't have it wrong: https://en.wikipedia.org/wiki/USB_video_device_class
02:42
<@himi>
If my understanding of this is correct, a javascript implementation of this with access to the USB device tree would Just Work(tm) with any of a very wide range of devices
02:43
<@himi>
Again, I'm not suggesting it's a good idea, just noting that it provides a real motivation for webUSB
02:51
<@gnolam>
ToxicFrog: Not out of the box. Google Hangouts relies on a Google Hangouts plugin.
02:52
<&ToxicFrog>
gnolam: it doesn't in Chrome and I thought it didn't in FF anymore either
02:53
<@gnolam>
It did a couple of months ago at least. I assume Chrome simply ships with the plugin.
02:54
<&ToxicFrog>
I have been using hangouts for GVC for over a year with no plugin and yes, I checked
02:54
<&ToxicFrog>
In both Google Chrome and Chromium
02:54
<&ToxicFrog>
There is a Hangouts plugin for chrom{e,ium}, but it's not necessary for functionality; it just enables an alternate, terrible UI for it
03:31
<@Alek>
Hangouts used to Chrome's messaging/communications plugin of choice, and on Android too, but got supplanted or something, I think.
03:34
<&ToxicFrog>
Hangouts is still extant, it's just competing with Allo and Duo, plus whatever non-google apps are out there
03:34
<&ToxicFrog>
\itisamystery{google's messaging app strategy}
03:34
<&McMartin>
I'd gotten the impression that Allo was an Indian-subcontinent niche project that grew legs
03:42 * Vornicus shenzhens, frustrates because he doesn't have "wait three clocks"
03:44
<~Vornicus>
I had this glorious idea for the cash machine, but because the thing one chip is waiting for is 1. asynchronous and 2. happens on the fourth clock cycle in another chip, it doesn't work.
03:45
<&McMartin>
No room to throw an XInput trigger signal?
03:46
<~Vornicus>
No, the lines are full.
03:49
<~Vornicus>
I've got two digital ins (technically one is multiplexed analog pulses), one digital out, and a ram chip I'm using both sides of. I was *hoping* that what I could do was, the first chip only writes, and the second chip listens for the left-side address bus to change to the appropriate place and then handles output and resetting the ram
03:50
<~Vornicus>
but because the final write happens four clocks into the first chip's thing, and I don't have neough room to put NOPs on the second chip, the second chip waits one second too long.
03:52 Vorntastic [Vorn@Nightstar-vdu42i.sub-174-199-4.myvzw.com] has quit [Connection closed]
03:52
<~Vornicus>
(it would've been awesome)
04:07
<~Vornicus>
oh. Now I know how to do it.
04:07
<~Vornicus>
after duolingos.
04:53 * Vornicus does it, beats everyone, is satisfied
04:54
<&McMartin>
The only solution I did that I'm really inordinately pleased with is one I don't think you or jerith have reached yet.
04:54
<&McMartin>
And I'm sufficiently happy with it that I actually refuse to redesign it to a better system even should one present itself.
04:58 Derakon is now known as Derakon[AFK]
05:04 * Vornicus does the pollution sensing window, has a little chuckle at the sameness of the leaderboards.
05:04
<&McMartin>
I totally got caught flat-footed by the punchline to the pollution sensing window.
05:04
<~Vornicus>
Obvious Algorithm Is Obvious I guess
05:05
<~Vornicus>
heh
05:05
<&McMartin>
(I did it a harder way first, and then did it the right way after realizing the right way)
05:07
<~Vornicus>
I think my favorite so far is... hm. the cash machine is a little clever in wiring but the actual code is either hacky (I saved one line in the cash counter by doing something Terrible) or straightforward (it's a read-memory loop)
05:09
<&McMartin>
I didn't do any bonus challenges.
05:10 * McMartin fires up his Actual Work, deploys Obnoxious Makefile Magic.
05:11
<~Vornicus>
oh, right, laser tag, where one portion of the output is generated with Zero Lines Of Code
05:12
<&McMartin>
I never did actually wire up a flip-flop register out of discrete logic.
05:12
<&McMartin>
Also, I do believe you misspelled AWESOMEPLEX
05:13
<~Vornicus>
eh, I just used the PGA, which has one in it.
05:13 * McMartin also never used that component, seemed kind of naff~
05:14
<~Vornicus>
heh
05:15
<&McMartin>
Hmm, actually
05:15
<&McMartin>
You guys are friends
05:15
<&McMartin>
Does my challenge show up in CONCEPTspec for you?
05:16
<~Vornicus>
I'm not sure how to go hunting for it
05:16
<~Vornicus>
ah, no, it doesn't appear to.
05:16
<&McMartin>
Aha, found a button to push
05:16
<&McMartin>
Try again
05:17 * McMartin switched it from "HIDDEN" to "FRIENDS-ONLY"
05:17
<~Vornicus>
still not showing up
05:18
<&McMartin>
Mmm. What if you visit my profile in the Steam browser? There should be a WORKSHOP ITEMS link
05:18
<&McMartin>
Maybe you have to subscribe to it first.
05:20
<&McMartin>
ISTR that this was how GM:S worked
05:20
<~Vornicus>
It's nim!
05:20
<&McMartin>
Yep
05:21
<~Vornicus>
nimlicious
05:21
<&McMartin>
And it's politely vague about what it's letting escape in case people come up with ways to cheat hideously
05:28 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
05:54
<&McMartin>
Whee
05:54
<&McMartin>
Designing C APIs that aren't completely awful is kind of fun
06:30 Alek [Alek@Nightstar-7or629.il.comcast.net] has quit [Ping timeout: 121 seconds]
06:33 Alek [Alek@Nightstar-7or629.il.comcast.net] has joined #code
06:33 mode/#code [+o Alek] by ChanServ
06:47 celticminstrel is now known as celmin|sleep
07:18 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
07:18 mode/#code [+qo Vornicus Vornicus] by ChanServ
07:23 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
08:08
<&jeroud>
McMartin: I've done the whole main campaign and some of the bonus campaign, which puts me ahead of you according to the histogram availability.
08:09
<&jeroud>
Also, I don't believe it's possible to build a latch from discrete logic because the game forbids connecting chips to themselves.
08:10
<&jeroud>
Although I suppose you could use doubled NOTs or something if you had space.
08:12
<&jeroud>
The bonus campaign is Significantly Harder than the main campaign.
08:18 Jessikat [Jessikat@Nightstar-75s1jb.dab.02.net] has joined #code
08:21 Jessikat` [Jessikat@Nightstar-d4tp3v.dab.02.net] has quit [Ping timeout: 121 seconds]
08:41
<&McMartin>
Yes
08:41
<&McMartin>
My issue is that I have largely identified with Karl and as such have been unwilling to trigger the bonus campaign~
08:50
<&jerith>
*Carl
08:51
<&jerith>
FWIW, the first three missions involve a logistics robot, a handheld timer for sterile environments, and a cat feeder.
08:53
<&jerith>
(The fourth mission, which I haven't finished yet, is a target practice scorekeeper for new nonlethal weapons.)
08:53
<&McMartin>
I have a pretty good idea of what the final final assignement will be based on... external clues.
08:54
<&McMartin>
I am suspecting based on the final page of supplemental material and the achievements listed that the last assignment that wins the bonus campaign will be some kind of artificial neural matter for either human intelligence augmentation or personality upload.
08:56 * abudhabi hugs his 'magical rituals' folder.
08:57
<&McMartin>
Anyway, it's the drink mixer that I'm pretty much honorbound to not redo
08:57
<&McMartin>
Because my solution for that recycled a technique I used in a C64 demo and it worked
08:58
<&jerith>
I put significant effort into beating your score on that. :-)
09:03
<&jerith>
What's the trick, btw?
09:04
<&McMartin>
I'll put that into PM
09:04 Kindamoody[zZz] is now known as Kindamoody
09:19
<&jerith>
Thanks.
09:20 * jerith returns to iteration 7 of the cryptocurrency terminal.
09:35 RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has quit [Ping timeout: 121 seconds]
11:30
<&jerith>
Ha! Control signal amplifier in 146 power!
11:31
<&jerith>
*That* took a whole lot of cunning.
11:31
<&jerith>
And I wouldn't have believed it possible if the histogram didn't have the slightest of bumps below the 180 power I had before.
11:55
<@gnolam>
McMartin: you got the limited edition, right?
12:06 celmin|sleep [celticminst@Nightstar-d0crn8.dsl.bell.ca] has quit [Ping timeout: 121 seconds]
12:06 celticminstrel [celticminst@Nightstar-5tb53u.dsl.bell.ca] has joined #code
12:06 mode/#code [+o celticminstrel] by ChanServ
12:22 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
12:22 mode/#code [+qo Vornicus Vornicus] by ChanServ
12:45
<&jerith>
Turns out you *can* build a latch out of discrete logic.
12:46
<&jerith>
I forgot that it's cross-connected rather than self-connected.
12:46 * jerith gets a lower power score for the AWESOMEPLEX.
12:47
< Jessikat>
:D
12:56
< Kizor>
This entire channel has gotten nerd-sniped.
12:56
<&jerith>
Kizor: By my count, just three of us.
12:58
< Kizor>
It is in my head. Calling to me.
12:58
<&jerith>
Four is a better number than three. ;-)
12:59
< Jessikat>
What by?
13:00
<&jerith>
By one.
13:00
< Jessikat>
Oh fuck off
13:01
<&jerith>
If you mean the nerdsnipery, SHENZHEN I/O.
13:02
<@ErikMesoy>
Now I feel vaguely like a dealer for providing it without playing it myself. >_>
13:02
<&jerith>
ErikMesoy: That's a thing you can totally take action to remediate!
13:03
<@ErikMesoy>
jerith: You realize that in this metaphor that would just make things worse?
13:21 * Vornicus widdles with MEAT
13:21
<@TheWatcher>
... wat
13:22
<&jerith>
Kizor: FWIW, I find SHENZHEN I/O to be by far the most fun Zachtronics game.
13:23 * TheWatcher still needs to finish spacechem some day
13:23
<~Vornicus>
fiddles*
13:23
<@TheWatcher>
That's only margianlly better#
13:23
<@TheWatcher>
~ even
13:25
<~Vornicus>
meatmargins?
13:26
<&jerith>
Ooh, Vornicus beat me at traffic signals. I'd better do something about that...
13:29 * Vornicus tries to redo AWESOMEPLEX with a latch, gets it to latch... but it starts on the wrong side.
13:38 Jessikat [Jessikat@Nightstar-75s1jb.dab.02.net] has quit [Ping timeout: 121 seconds]
14:33 celticminstrel [celticminst@Nightstar-5tb53u.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.]
14:34 celticminstrel [celticminst@Nightstar-5tb53u.dsl.bell.ca] has joined #code
14:34 mode/#code [+o celticminstrel] by ChanServ
14:43 Kindamoody is now known as Kindamoody|afk
15:13 Jessikat [Jessica@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
15:20
<&jerith>
Ha! Cheaper than Vorn's traffic signal, but still one line of code longer.
15:22
<&jerith>
... and there's the line of code. :-D
15:22
<@abudhabi>
Why is it called 深�
15:24
<&jerith>
Because that's the city you live and work in.
15:25
<@abudhabi>
You play some underpaid ASIC designer? :p
15:25
<&jerith>
Embedded systems, but close.
15:45 RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has joined #code
15:49 Kindamoody|afk is now known as Kindamoody
16:02
<&jerith>
McMartin: I think I found a bug in your nim spec.
16:03
<&jerith>
Although now that I think about it, it seems to just be an ambiguous description.
16:03
<&jerith>
I read it as "a bad move requires a reset", not "a bad move is rejected".
16:08
<&jerith>
Ha! Now I get an error in test run 9.
16:12
< Kizor>
jerith: FWIW, I'm heading back to Spacechem so I can take notes this time.
16:19
<&jerith>
McMartin: I beat your nim, but I don't see your scores.
16:20
<&jerith>
I have ¥8, 431W, 14LOC.
16:26
<&jerith>
Err, s/beat/implemented/
16:33 * ToxicFrog pokes python with a stick
16:37 * Vornicus examines jerith's signal amplifier. *146*? that's, like ... 2.4 instructions per second
16:37
<&jerith>
Yes.
16:37
<~Vornicus>
*what*
16:37
<&jerith>
It required the utmost cunning to do it.
16:37
<~Vornicus>
that is some utmost indeed.
16:38
<&jerith>
And the finished product costs the grand sum of ¥4. No more, no less.
16:39
<&jerith>
(I actually stumbled on one of the key tricks while trying to design a solution that actually used ¥4 worth of components.)
16:42
<&jerith>
Oops, I crashed my SHENZHEN I/O.
16:42
< Kizor>
Suddenly the dungeon collapsed?
16:42
< Kizor>
What'd you do, compute P = NP?
16:42 * Vornicus fiddles
16:43
<&jerith>
Protip: Don't switch back to it from editing a custom puzzle if your lua is not syntactically valid.
16:45
< Kizor>
I don't know, finding a way to crash a game that's been specifically made to withstand any and every stupid stunt clueless users try to pull honestly sounds like an achievement.
16:46
<&jerith>
I think if you're editing custom puzzle lua, it expects you to be less clueless.
16:48 * Vornicus manages 180j 5y
16:49
<~Vornicus>
180j 4y
16:49
<&jerith>
Progress!
16:57
<~Vornicus>
aha!
16:58 * Vornicus victories.
16:58
<&jerith>
\o/
16:59
<&jerith>
Vornicus: You still need to do it in 3 lines of code, though. :-P
17:00
<~Vornicus>
oy.
17:01
<&jerith>
I thought you'd done it with one of your earlier power optimisation attemps, actually.
17:02
<~Vornicus>
nope. I needed a fourth line of code or the basically permanent midlevel entry won.
17:03
<&jerith>
What does your ¥5 solution look like?
17:04
<~Vornicus>
the 5Y solution used gjb abgf vafgrnq bs na be
17:04
<&jerith>
Presumably an MC4000 and some other component(s).
17:04
<&jerith>
Ah, I see.
17:05
<&jerith>
I guess I'll leave you to figure it out, then. ;-)
17:05
<&jerith>
(But I'm happy to provide further hints if desired.)
17:09
<&jerith>
Ah, I see why this crashed. The game found my emacs lockfile in the "custom_puzzles" dir, but then couldn't find it later.
17:14 Derakon[AFK] is now known as Derakon
17:16
<@TheWatcher>
Wups.
17:17
<~Vornicus>
tf: what's python do today
17:27 * jerith learns lua by constructing a SHENZHEN I/O spec.
17:31
<&ToxicFrog>
Vornicus: I'm doing sockets for the first time in python
17:31
<&ToxicFrog>
and the asyncore/asynchat libraries are kind of underdocumented
17:31
<&jerith>
What are you doing with sockets?
17:32
<&ToxicFrog>
jerith: writing a relay between IRC and stack exchange chat
17:32
<&jerith>
I'd highly recommend Twisted for most non-HTTP network things.
17:32
<&jerith>
(And it ships with an existing IRC client.)
17:33
<&jerith>
asyncore has many issues, none of which I can recall offhand.
17:33
<&ToxicFrog>
I need an IRC server.
17:33
<&ToxicFrog>
Or rather, something that looks plausibly like an IRC server to an rfc1459 client but actually isn't one.
17:33
<&jerith>
Twisted ships with one of those as well, I think.
17:35
<&jerith>
http://twistedmatrix.com/documents/current/api/twisted.words.protocols.irc.IRC.h tml is the API reference for it.
17:35
<&jerith>
I've used the client a bunch of times, but not the server.
17:36
<&jerith>
Either way, it's probably a better starting point than writing your own from scratch with asyncore/asynchat.
17:36
<&ToxicFrog>
Looking at it, I'm honestly not sure it is.
17:37
<&ToxicFrog>
This is going to be similar in functionality to ifirc, which is just one step above sticking sed in between the IRC socket and the MUD socket.
17:38
<&McMartin>
gnolam: I didn't get the special edition
17:38
<&jerith>
http://eli.thegreenplace.net/2013/01/28/twisted-based-irc-server-example looks like an example IRC server thing.
17:40
<&jerith>
You'd probably want to subclass the server and do something different with the data it gets, though.
18:48
<&jerith>
Vornicus, McMartin: I made a GUESS THE NUMBER game for SHENZHEN I/O. It should be friend-enabled on Steam.
18:49
<&jerith>
It seems custom puzzles don't get histograms, but workshop puzzles do. In order to see my score I had to subscribe to it in the workshop and solve it there as well.
18:50
<&McMartin>
Aha
18:51
<&jerith>
I think it's a bit easier than NIM GAME, but I'd be interested in potential optimisations.
18:53
<&jerith>
I was a little annoyed that I couldn't put a ??????? on the board, but it seems the custom puzzles only allow radios and dials.
18:54
<&jerith>
If you guys don't find any bugs in it, I'll probably make it public at some point.
18:55
<&jerith>
Unless there's some reason I shouldn't do that?
18:55
<&McMartin>
Feeling it wouldn't add to the wider community?
18:56
<&McMartin>
I'm not clear whether you thought NIM GAME had a bug in its spec/problem statement that needed to be addressed, or if the initial sample outputs were ultimately sufficient.
18:57
< Jessikat>
Nine Inch Males
18:57
<&McMartin>
I'm not your man for optimizations, since I optimize for programmer time most often. :)
18:57 * Jessikat spends enough of her time optimising
18:57
<&McMartin>
By which I also mean that you and Vorn have had the game for, what, a week
18:57
<&McMartin>
And you've logged an order of magnitude more time in it than I did
18:58
<&McMartin>
Jessikat: That sounds related to the joke about the twelve-inch pianist
18:59
< Jessikat>
size matters (and offsets your processing time costs)
18:59
<&McMartin>
My problem with SZI/O right now is that, well, I just got a Pi3, albeit one I'm not using the GPIO pins on just now
19:00
<&McMartin>
But I *do* have an OS for it where the linkload procedure is "map the memory to 0x00008000 and jump to that location"
19:00
<&McMartin>
And the SZI/O assembly is very obviously inspired by ARM's THUMB2 instruction set.
19:01
<&jerith>
McMartin: Honestly, most of my playtime is having it running in the background while I do other things so I can play solitaire in it every now and then.
19:01
<&McMartin>
(Full ARM is much more fun at conditional execution.)
19:02
<&McMartin>
(Instead of having a THEN/ELSE flag that you set by special comparator instructions, pretty much any instruction that does anything has a set-the-flags-based-on-the-result switch and then all instructions can then/else on any of those result flags.)
19:02
<&jerith>
There isn't a bug in NIM GAME, but my misreading of the spec combined with a misinterpretation of the initial sample outputs made it look like there was one.
19:03
<&McMartin>
Oh, the initial chain of bad moves until it gives a good one, right
19:03
<&McMartin>
Writing the input generator for NIM GAME was not as trivial as one might have hoped.
19:03
<&McMartin>
I did tweak a few bits of it so that the random seed produced enlightening results.
19:04
<&jerith>
It kind of looks like it treats a win signal as a reset if you're not paying enough attention.
19:04
<&McMartin>
Aha
19:05
<&jerith>
Your input generator doesn't look much worse than mine.
19:05
<&McMartin>
The tweaking was of the constants.
19:07
<&McMartin>
IIRC my first few attempts at move delays or order of operations or something resulted in most test runs never finishing a complete game at all.
19:08
<&jerith>
Hrm.
19:10
<&jerith>
I made my test runs finish more often than not by "cheating" in my guess generator.
19:10
<&jerith>
One chance in ten of "guessing" the correct value, otherwise pick randomly from the whole range (which has one chance in 101 of getting it right).
19:12
<&jerith>
I didn't bother trying to make my input generator play sensibly.
19:13
<&jerith>
(Also, that would make it far more likely that a broken implementation could pass the tests by exploiting patterns.)
19:24
<&McMartin>
https://arstechnica.com/tech-policy/2017/04/pgp-keyserver-and-self-service-posta l-kiosk-expose-online-drug-dealer/
19:52 Kindamoody is now known as Kindamoody|afk
20:10
<&McMartin>
jerith: Good work, pin pressure right out of the gate.
20:13
<&jerith>
I had to look at some others to see where the page break needed to go.
20:13
<&jerith>
But I could fit all the pins on the first page! Success!
20:14 * jerith pokes at TIS-100 while watching an old episode of Midsomer Murders and eating supper.
20:18
<&ToxicFrog>
Ok, I think this thing is working!
20:19
<&jerith>
\o/
20:22
<&ToxicFrog>
But it's hard to tell because no-one is talking!
20:25
<&McMartin>
loldoom
20:33 Kindamoody|afk is now known as Kindamoody
20:42 himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
20:44 * Vornicus BECOMES IMMORTAL
20:44
<&jerith>
\o/ IMMORTALITY!
20:45
<&McMartin>
\o/
20:46
<&McMartin>
Also, I've posted my reference solution for NIM GAME, which you beat handily, and also posted a working solution for the number guesser
20:46 * jerith takes a look.
20:55
<&jerith>
I wasn't even trying to be particularly optimal.
20:55
<&jerith>
Although I probably did use some of the tricks I picked up earlier without thinking much about it.
21:01
<&McMartin>
My usual implementation technique is to break a problem into functional units and wire the results together independently, which is tremendously wasteful of silicon.
21:03
<&McMartin>
I probably waste at least 6 yen fixing pinouts that a more coherent design would just roll with out of the gate.
21:04
<&jerith>
*yuan
21:04
<&McMartin>
Er, right.
21:04
<&McMartin>
People's Monetary Units.
21:04
<&jerith>
(China, not Japan. It's the same currency symbol.)
21:04
<&jerith>
If you hold tab, you can run tracks underneath the components.
21:06
<&McMartin>
Oh yes, that part's fine.
21:07
<&McMartin>
It's just that my design "wanted" XInput and simple outputs in almost exactly the opposite form of how they were presented, so I have three super-dumb 4-pin CPUs feeding the one 6-pin CPU that actually does everything of importance.
21:07
<&McMartin>
I suspect I could replace all three with another 6-pinner with improvements in cost, power, and LoC.
21:09
<&jerith>
I've gotten quite good at wrangling signals to where I want them.
21:11
<&jerith>
Mostly from time spent trying to do SOLID STEEL GAMER in three lines of code with discrete logic makign up the difference.
21:12
<&jerith>
*making
21:15
<&McMartin>
OK, let's try to merge the units that are obviously excess.
21:15 * jerith tries to figure out SEQUENCE PEAK DETECTOR.
21:16
<&jerith>
You know, programming is much easier when you have more than one and a half registers.
21:21
<&McMartin>
It's true
21:21
<&McMartin>
Though if you have RAM it helps make up for that
21:21
<&McMartin>
The 6502 is 1 register and 2 half-registers~
21:21 * McMartin turns 3 chips into 1, gets within 1 yuan and 5 LoC/power units.
21:59
<&ToxicFrog>
Ok, this is weird af
21:59
<&ToxicFrog>
I run the relay on my laptop, it works fine
22:00
<&ToxicFrog>
I run the relay on the server and connect to it with a real IRC server, all the replies have random garbage prepended to them
22:06
<&[R]>
"Random garbage"?
22:06
<&[R]>
Like additional stuff prefixed with a colon?
22:06
<&ToxicFrog>
2-3 characters, colons or uppercase letters
22:06
<&ToxicFrog>
Like, the client sends PING localhost and gets back ::::SEIRC PONG SEIRC :localhost
22:07
<&[R]>
Weird
22:07
<&ToxicFrog>
It does it again and gets BBW:SEIRC PONG SEIRC :localhost
22:07
<&[R]>
I was thinking http://ircv3.net/ but that doesn't look like it.
22:07
<&ToxicFrog>
My best guess is that it's doing something that looks fine in the terminal but is confusing weechat's parser for irc traffic
22:07
<&[R]>
Maybe it's reusing a buffer incorrectly?
22:07
<&ToxicFrog>
Note that 'on the laptop' here implies 'and connecting to it with netcat'
22:07
<&ToxicFrog>
And in that context, everything it sends looks fine
22:09
<&ToxicFrog>
(and some of the messages it sends never made it to the IRC client at all)
22:10
<&jerith>
It's quite possible the server is sending different stuff to the client based on advertised capabilities or something.
22:10
<&ToxicFrog>
I wrote the server.
22:10
<&ToxicFrog>
It's not.
22:10
<&jerith>
Ah.
22:12
<&ToxicFrog>
And looking at the server logs, it thinks it's sending the right things.
22:13
<&jerith>
Maybe the client's expecting something different based on the capabilities it's advertising?
22:13
<&ToxicFrog>
lol
22:13
<&ToxicFrog>
ran it through od -c
22:13
<&ToxicFrog>
it's sending UTF-32
22:15
<&ToxicFrog>
I'm pretty sure that's not rfc1459 compliant
22:18
<@abudhabi>
Isn't encoding unspecified in that?
22:18
<&jerith>
Encoding in the message bytes is unspecified.
22:19
<&jerith>
Encoding in the protocol bytes is implicitly specified by them being bytes and not multibyte charecters.
22:26
<&ToxicFrog>
Also, the message isn't allowed to contain NUL
22:26
<&ToxicFrog>
Sending lines as UTF32 violates both of these constraints at once!
22:27
<&jerith>
Is it your server sending UTF32?
22:27
<&jerith>
Or the client?
22:28
<&ToxicFrog>
My server, which confuses the IRC client.
22:30
<&jerith>
Having spent some time playing TIS-100, I cannot avoid playing https://www.youtube.com/watch?v=qUbxFeqRZwI at max volume.
22:35
<&jerith>
And then, having completed several TIS-100 segments, it's time for https://www.youtube.com/watch?v=Q_LPJllaogU
23:39 Kindamoody is now known as Kindamoody[zZz]
23:44
<~Vornicus>
uch. befuddlement indeed. I'm definitely missing a trick that jerith has figured out.
23:46
<~Vornicus>
OH
23:47
<~Vornicus>
nope.
23:47
<~Vornicus>
gen doesn't work that way
23:47
<&jerith>
Vornicus: Still the amplifier puzzle?
23:47
<~Vornicus>
yeah
23:48
<&jerith>
You already know there's a limited set of input values.
23:48
<~Vornicus>
right, got that bit.
23:49
<&jerith>
What other ways are there to turn a limited set of input values into a limited set of output values?
23:50
<&jerith>
I can't think of another hint that won't give it away completely.
23:50 Jessikat [Jessica@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving]
23:50 Jessikat [Jessikat@Nightstar-f77.tcr.132.82.IP] has joined #code
23:51
<~Vornicus>
ah, I misinterpreted your thing earlier
23:52
<~Vornicus>
I was under the impression you managed the 146j with 3l
23:53
<~Vornicus>
and I was all "wat"
23:53
<&jerith>
No. I got 3l with 180j and then spent forever trying to get to 146j.
23:53 * Vornicus now has for this one a "cheap", a "good", and a "fast"
23:54
<&jerith>
Nqqerff cbegf zbq sbhegrra gur inyhrf lbh fraq gurz. Pbairavragyl, dhvgr n ybg bs guvatf lbh zvtug jnag ybbxhc gnoyrf sbe ner pbcevzr jvgu frira.
23:55
<~Vornicus>
indeed
--- Log closed Mon Apr 17 00:00:57 2017
code logs -> 2017 -> Sun, 16 Apr 2017< code.20170415.log - code.20170417.log >

[ Latest log file ]