2023-10-13 08:07:16 Croran: Have you done Starting Forth's exercises yet? 2023-10-13 08:07:26 That's all I've done 2023-10-13 09:23:51 Croran: I'm not familiar with Rather's workbook. 2023-10-13 10:56:23 re: my complaint above about "big numbers," I have no problem with a couple of mathematicians or computer scientists having a frienly competition to see who can "capture" the largest number with some algorithm. But it just seems like a silly contest not really worthy of all the attention it seems to get online. 2023-10-13 15:51:35 Oh, cool - looks like there is OpenCL support on Raspberry Pi. 2023-10-13 15:52:12 That would open the door to some very low-cost "cluster experimentation." Doubt the performance would be terribly impressive in absolute terms, but it would still be interesting. 2023-10-13 15:53:18 One day at work they put a bunch of deprecated junk on a table in the break room and invited us to help ourselves. I snapped up a 16-port switch. 2023-10-13 15:53:45 Would cost an horribly painful amount of money to plug 16 RPi's into it. 2023-10-13 15:53:52 Or 15 with a host connection, I guess. 2023-10-13 15:55:37 I saw a video yesterday where the speaker warned that the really high speedup factors you hear mentioned in connection with GPU programming are somewhat mythical. He noted that regardless of core counts, it usually turns out to be the data bandwidth you can achieve that gates your overall performance. 2023-10-13 15:56:15 I compared a high-end GPU and a high-end Intel server processor, and said that more realistically you mgiht see a factor of five speedup on most problems. 2023-10-13 15:56:59 5x is nothing to sniff at 2023-10-13 15:57:17 Certainly is not. He wasn't arguing against GPU programming - he clearly does a lot of it. 2023-10-13 15:57:51 He was a mathematician that works mostly in medical applications. 2023-10-13 15:58:18 He described one situation where the activity at hand was brain surgery to try to kill cancerous tumors with laser radiation. 2023-10-13 15:58:53 they actually drill a hole in the patient's skull and stick the laser in there on a cable. There's a camera, and they decide in real time exactly how to assault the tumor with the laser. 2023-10-13 15:59:05 So, something like real-time results are needed for that. 2023-10-13 15:59:33 Apparently their image processing was such that it took all the hardware they could throw at it to get the work done at that rate. 2023-10-13 16:00:22 passive radar has similar problems 2023-10-13 16:04:12 That notion of networking a bunch of Pi's together has me wondering how much "fat" there is in network protocols. If I owned the whole network and could use it any way I wanted to, I wonder if there might be faster ways to move data round than just the normal "follow all the rules" method. 2023-10-13 16:04:47 I mean if I directly took hold of the nics and used them in some arbitrary way. 2023-10-13 16:05:09 SCTP is a thing 2023-10-13 16:06:02 I'll take a look. I guess it might involve re-programming the switch too. 2023-10-13 16:06:18 I know I've see hacker projects out there where they change switch firmware to do interesting things. 2023-10-13 16:06:58 a good switch should pass wacky protocols around (not all switches are good) 2023-10-13 16:08:23 This one is Netgear, so I'd hope it's reasonably good. 2023-10-13 16:08:33 gigabit switch, too. I was pretty pleased to get it. 2023-10-13 16:09:10 What I had in mind at the time is to swap it with the four-port switch I've got in my little "equipment cabinet" upstairs, so I can actually connect all of the network outlets in my house at the same time. 2023-10-13 16:09:27 I've periodically had to go up there and move cables around when my household networking needs changed. 2023-10-13 16:09:40 But I haven't actually confirmed the switch still works, beyond just powering it up. 2023-10-13 16:10:46 SCTP looks interesting, though it looks like anything I did with it I could do with UDP. 2023-10-13 16:11:24 many folks invent something like sctp over udp because sctp don't fly over WAN 2023-10-13 16:12:16 Looks like one of the biggest differences is that SCTP ensures in-order delivery. 2023-10-13 16:14:17 One type of problem I wrote code for back at UT Austin involved electric machinery. So you had coil configurations in the pieces that had some well-defined self-inductance, and then the coupling was a function of a position or an angle that was changing. So the mutual inductances changed as the thing operated. 2023-10-13 16:14:57 The big matrix problem you have to solve in those settings involves an "inductance matrix" in which both the self and mutual inductances appear. 2023-10-13 16:15:24 And you basically need the inverse of that matrix, or some cousin of the inverse like the LU factors. 2023-10-13 16:16:00 It's a block type matrix, with the self-inductance matrices in the top left and bottom right, and the mutual inductance matrix in the top right and its transpose in the bottom left. 2023-10-13 16:16:41 Turns out you can work on that equation for a while and get things down to the point where you don't have to invert the whole matrix every time - you can some of the intermediate results and re-use them on every time step. 2023-10-13 16:16:58 It would be interesting distributing that work over a collection of processors. 2023-10-13 16:18:22 Anyway, I wound up modeling the mechanical dynamics, the electrical transients, and also the thermal evolution. The resistance of my conductor depended on temperature, and I needed that in the model. And of course the heat starts spreading out as soon as it's created, so there was a heat flow problem integrated into the whole thing too. 2023-10-13 16:19:22 What I called "coils" above really involved conductors with quite large cross sections - not a coil of skinny wire. So the current distribution across the conductor's cross section wasn't uniform , changed over time, and had to be modeled as well. 2023-10-13 16:19:44 and it's the currents that actually wind up creating the torque, so that had to be calculated from the current distribution each step. 2023-10-13 16:20:32 Did dynamic step size adjustment, too. It would dial down the time step when things were changing quickly. 2023-10-13 16:22:48 There was a concession to compute power reality, though - I ignored everything that wasn't axisymmetric and turned it into a 2D problem. 2023-10-13 16:28:14 Oh, I didn't realize there was a Raspberry Pi 5 now. 2023-10-13 16:28:59 Doesn't seem to be purchaseable yet. 2023-10-13 17:08:25 KipIngram: that sounds vaguely similar to a problem I had with tuning filters by adjusting the positions of movable slugs with servos 2023-10-13 17:09:03 KipIngram: everything interacted like crazy and someone far better at maths than me had derived a fairly complex but highly accurate function that described each servo position 2023-10-13 17:09:48 KipIngram: the equation had terms in it that looked like a bunch of wifi passwords 2023-10-13 17:09:52 anyway 2023-10-13 17:10:01 I'm good at maths, but I'm better at hand-tuning filters 2023-10-13 17:10:11 so I fucked all that in the bin, and replaced it with a couple of lookup tables 2023-10-13 17:10:42 bigger, but much *much* faster, and of course capable of being fudged to compensate for variable loading 2023-10-13 17:11:23 Yes - similar relationships. In my case i was modeling the dynamics - the position evolved in response to the torque developed. So "the loop was closed" all the way around. But the position dependency of the inductances - yeah, same thing. 2023-10-13 17:12:51 I didn't calculate the inductances all the way from field considerations either - there's a book out there by a guy named Grover who gives formulae for inductance of various configurations. One of the is axisymemetric wire loops. I made heavy use of that. 2023-10-13 17:15:42 With the memory available these days, I'd just tabulate those inductance values on some small rotation step and then interpolate from the table. It would be a big table, but not really big by modern RAM standards. 2023-10-13 17:15:53 And you're right about "much much fastEr.' 2023-10-13 17:19:13 This ran on a Cray, btw. It was in the building across the street - one of the ones that looked like a tower with sofa seats wrapped around it. 2023-10-13 17:19:51 This would have been circa 1990 give or take a year. 2023-10-13 17:20:20 Well, gonna go knock out my jog; back in a bit. 2023-10-13 19:41:12 Ok, now this Numberphile bit is bending my brain. 2023-10-13 19:41:59 Gabriel's Horn. You make Gabriel's Horn by considering the function 1/x starting at x=1 and going all the way out to x=infinity, and then making a surface of revolution from that by spinning it around the x axis. 2023-10-13 19:42:16 You get an infinitely long horn shape that opens up to radius 1 at the moutn. 2023-10-13 19:42:20 mouth 2023-10-13 19:42:48 Now, you can calculate the volume contained within that, and it's pi. So you could fill the horn up with pi volume units of paint. 2023-10-13 19:43:03 But, you can also calculate the surface area of the horn, and that turns out to be infinite. 2023-10-13 19:43:13 So, you can fill it with paint, but you can't PAINT it. 2023-10-13 19:43:22 All the math makes perfect sense and is inarguable. 2023-10-13 19:43:39 But yet... when you fill it with paint, haven't you just painted the whole inside surface? 2023-10-13 19:44:21 Maybe the argument there is that would mean placing an infinitely thin coat of paint on the horn at at infinity. 2023-10-13 19:44:38 Well, it would mean that. But it's still bizarre. 2023-10-13 19:45:03 I guess you could argue that you could paint any infinite surface with a finite amount of paint if the coat thickness can go toward zero without limit. 2023-10-13 19:46:28 Gabriel must have a really small mouth. 2023-10-13 19:54:20 it would probably take a lot of grad students 2023-10-13 22:03:42 Yeah, but they're cheap.