2024-10-17 06:16:30 Yes, they really are incredible. So easy to take for granted, but I remember when there were none - when transistor radios were just beginning to get common. 2024-10-17 06:16:45 If your radio had seven transistors, that was a lot. 2024-10-17 06:17:27 And then calculators appeared, and that was just crazy unbelievable. 2024-10-17 06:18:05 Things cross my mind from time to time that were just such a part of my world back then that my kids won't ever know. 2024-10-17 06:18:29 TV stations going off the air at night. The little dot in the center of the TV screen after you turned it off. Silly stuff like that. 2024-10-17 06:18:46 Most stations would play the national anthem at sign-off. 2024-10-17 06:18:53 Or something along those lines. 2024-10-17 06:19:19 Sometimes this: 2024-10-17 06:19:22 https://www.youtube.com/watch?v=OVTj7RQhNK0 2024-10-17 08:47:31 zelgomer: yeah, it depends on the cell size 2024-10-17 08:48:21 KipIngram: I think I figured out how to do a binary full adder with about seven transistors 2024-10-17 08:48:50 the half adder is https://tinyurl.com/2453lhx2 2024-10-17 20:27:40 Oh, I want to look at that. Driving my wife somewhere now - back shortly. 2024-10-17 20:47:29 How does the emitter current of your transistor on the left get to ground? Looks like you're passing it throgh the source? 2024-10-17 20:48:05 Or are you expecting it to go base-emitter of the other transistor? 2024-10-17 20:48:28 The middle transistor. 2024-10-17 20:48:32 yes, the source has to sink it 2024-10-17 20:48:44 like in TTL 2024-10-17 20:48:50 Ok. 2024-10-17 20:49:56 What if the source is high? I'm not intimately familar with TTL transistor operation - that still works? No problem if the source is low, but my first worry would be when it's high. 2024-10-17 20:50:54 well, the really big limitation is that two highs or two lows have to be pretty close together to turn the output off 2024-10-17 20:50:54 And I do see now that I've looked at it a little more it's symmetrical - I should be saying "outside" transistor instead of "left." 2024-10-17 20:50:54 Well, parts of it are symmetrical. Aspects. 2024-10-17 20:51:56 It's clever. I'd feel like I needed to test it pretty well, and I haven't vetted all the cases, but I'm willing to take your word that it works logically. 2024-10-17 20:52:00 so if you were trying to use TTL or 5V CMOS voltage levels, you might have one input at 3.4 volts and the other at 4.4 volts, both counting as "high" for TTL or CMOS purposes, but counting as "unequal" from the point of view of this circuit 2024-10-17 20:52:32 Yeah. A little non-standard, but within the specs. 2024-10-17 20:53:08 yeah, those voltages are within TTL or 5V CMOS spec, but this circuit is much more demanding about your voltage levels (and therefore less noise tolerant). You could add an extra base diode or something to loosen that up 2024-10-17 20:54:03 Right. Kind of the same way the migration from SLC through MLC, TLC, and now QLC pushed the noise margin down. QLC splits that range of possible voltages into 16 buckets instead of SLC's two. 2024-10-17 20:54:33 And those flash cell voltages DO drift as charge leaks, so it's a constant struggle to keep everything right. 2024-10-17 20:55:29 We have a process that runs in the background in our drive firmware, and over the course of a week or so it reads every piece of data and checks to make sure the voltages are centered in their ranges. If they drift too much we rewrite that data to a new physical cell and mark the old one for garbage collection and re-use. 2024-10-17 20:55:33 Yeah. TTL has a similarly small noise margin for "low" voltage levels, and it's a problem 2024-10-17 20:55:55 Oh, I didn't know you worked on FTLs! 2024-10-17 20:56:07 Wow, it's been a LONG time since I've had to think about TTL. 2024-10-17 20:56:15 haha 2024-10-17 20:56:28 Back in the mid/late 80's I had a copy of that standard "gold book" that had all those parts documented. 2024-10-17 20:56:50 I wish, man - it'd be great if we could actually have FTL. 2024-10-17 20:57:14 are you saying your drive firmware doesn't rise to the level of being an FTL? :) 2024-10-17 20:57:21 yeah, I have fun childhood memories of reading TTL databooks 2024-10-17 20:57:34 Not quite. But they don't let me work on it. ;-) 2024-10-17 20:58:47 I managed the guys that did for the first few months I was there - it's what I was hired for. Then IBM bought the place and imported legacy managerment, so we all had to find something else to do. Or leave, I guess, but they offered a retention package that made that an undesirable option. 2024-10-17 20:59:12 That's unfortunate. What are you doing there now? 2024-10-17 20:59:44 I've been thinking a lot about Flash storage lately because I have this submilliwatt personal computer project called the Zorzpad 2024-10-17 21:00:00 I monitor the performance of the drives. Which isn't as lame as it sounds at first brush - it goes beyond black box testing and looks into things happening deep inside the drive, which actually does capitalize on my understanding of the things. 2024-10-17 21:00:03 where my plan is to use some SLC NAND for persistent storage 2024-10-17 21:00:26 It doesn't sound lame at all 2024-10-17 21:00:37 And it keeps me rubbing elbows with the dev team, which is fun. 2024-10-17 21:00:48 I get to feel "semi part of" that group still. 2024-10-17 21:01:39 At first I was bummed that I wasn't going to be in management - it's mostly what I'd done for the 15 years or so prior to then. But once I saw what the management job at IBM entails I actually became glad. 2024-10-17 21:01:48 They spend almost all their time sitting around in meetings. 2024-10-17 21:02:03 I think I would have hated it. 2024-10-17 21:02:05 Yosef Kreinin posted a thing recently about how managers have no human rights 2024-10-17 21:02:12 Ouch. 2024-10-17 21:02:56 I guess I can imagine where he's coming from, but most of them are really just trying to take care of their families just like me, so... 2024-10-17 21:03:05 https://yosefk.com/blog/managers-have-no-human-rights.html 2024-10-17 21:03:39 > My point in this writeup is that a manager doesn't get to whine about any of this, any more than a boxer gets to whine about a broken nose. A normal person very much does get to whine about a broken nose, and it isn't whining - it's grounds for a lawsuit in any reasonable jurisdiction. But when a boxer steps into the boxing ring, he obviously forfeits the basic human right of not getting punched in the 2024-10-17 21:03:45 face. 2024-10-17 21:04:22 It's an interesting mix of guys (the managers around me). A couple of them are totally "driven" and always trying to make a good show, and a bunch of them clearly just want to keep their head below ground level in the trench and attract as little attention as possible. 2024-10-17 21:05:42 Meanwhile, I've got a job and it's paying my bills and I only have about six years to retirement. I'm happy to just ride this train on in. 2024-10-17 21:07:26 Every time I have a six month review with whoever my manager is at the time (I've had about 18 since 2013) the standard patter about career growth comes up. I haven't figured out yet how to convey to them that IBM is never going to give me the kind of inflential role I had a number of times in the past, and I'm so close to retirment that "growth" is the last thing on my mind. 2024-10-17 21:07:37 Always feels like saying that outright wouldn't make a good impression. 2024-10-17 21:08:44 There are a couple of possibilities there. One is that the reason they bring it up is to keep you from leaving if you're frustrated with the lack of growth by trying to find a way to address the problem (which is maybe impossible in your case, but they didn't know that when they set up the process) 2024-10-17 21:08:49 I've kind of proven to myself that I was able to do those things, and just don't feel the need to prove it again. 2024-10-17 21:09:14 Yes, that could be - I usually just assume it's what they're trained to talk about. 2024-10-17 21:09:14 haha, so some of your managers didn't even make it to your first six-month review? 2024-10-17 21:09:43 Oh, some turned over in just a month or so. Not that they got fired or anything - the place is just constantly "re-organizing." 2024-10-17 21:09:45 I wonder if you could usefully claim that the growth you're interested in is technical rather than into management 2024-10-17 21:09:56 I just don't have that tolerance for boredom. I'm underleveled at my current job and that's why I'm jumping ship in a few weeks 2024-10-17 21:10:02 Usually as a result of some turnover way up at the executive level, and the new guy feels like he needs to "do something." 2024-10-17 21:10:54 Well, I wouldn't say I'm "bored." The connection to the technology itself is enough to keep things fresh. 2024-10-17 21:10:54 well, that and my (much less experienced) lead doesn't trust my technical judgement 2024-10-17 21:11:04 There's a constant flow of new features and I am always asked to figure out how to demonstrate that they're working as well as they should. 2024-10-17 21:11:10 I do feel like I "keep my hand in." 2024-10-17 21:11:19 but mostly I can't stay engaged with both a) no agency and b) kind of a boring product, technically 2024-10-17 21:11:56 Plus I basically developed all the tools I use myself (except for the actual traffic generator - that's an open source tool called fio). 2024-10-17 21:12:39 But all the data management, the stuff to monitor internal stuff in the drives beyond "just performance," etc. - I got to put that all together, and got to do it on my own so I wasn't faced with conforming to someone else's coding standard, etc. 2024-10-17 21:12:54 see, having lots of agency is beautiful 2024-10-17 21:12:59 I wouldn't rock the boat either 2024-10-17 21:13:03 I make things elsewhere like bubblepop.lol for my fun but I like to be engaged at work, too 2024-10-17 21:13:22 Yes - that's exactly it. I am largely left alone when it comes to that aspect of things, and I love that. 2024-10-17 21:13:41 Makes it much more like the sort of small company job I thought I was taking to start with. 2024-10-17 21:13:58 I should check out fio 2024-10-17 21:14:17 Fio is quite nice. 2024-10-17 21:14:21 Very powerful. 2024-10-17 21:14:37 https://fio.readthedocs.io/en/latest/fio_doc.html 2024-10-17 21:15:10 If you're doing nvme work you might also check this out: 2024-10-17 21:15:29 I'm not, I just have some bare SLC chips I'm going to hook up to a microcontroller 2024-10-17 21:15:38 https://spdk.io 2024-10-17 21:16:03 a lot of past filesystem performance testing work has used "traces" of file reads and writes captured from production systems 2024-10-17 21:16:07 Oh, ok. Well, I guess fio expects to run under some os. 2024-10-17 21:16:26 are there tools out there for capturing replaying such traces? 2024-10-17 21:16:30 But yes, you could use it to measure file system performance too. 2024-10-17 21:16:49 Fio will let you replay traffic, yes. I've never needed it, but I think it's there. 2024-10-17 21:17:34 A colleague of mine is looking at exploiting that to write a tool that will bring a freshly formatted SSD into garbage collection as quickly as possible. 2024-10-17 21:17:54 The normal way is to just fill it and then hit it with random writes for some number of hours until it gets there on its own. 2024-10-17 21:18:10 But if you tailor that stream of writes exactly right you could get it there a lot faster. 2024-10-17 21:18:49 I was jealous I hadn't thought of that myself. But I feel like he has an ownership of it now, at least for a while. 2024-10-17 21:19:14 That seems like a really good way to find weaknesses in your firmware! 2024-10-17 21:19:45 Yes, and carefully tailoring the data stream could also expose signal integrity weaknesses. 2024-10-17 21:20:36 Yes. Or potentially inadequate compensation for, what do you call it when a write to one cell affects the value of another? 2024-10-17 21:21:07 It's not signal integrity because the data being corrupted is previously written data at rest 2024-10-17 21:21:14 Oh gosh - that term's not comming to mind right now. But yes. 2024-10-17 21:21:58 It's less of a problem with SLC, which is one of the reasons I'm using SLC; I want the Zorzpad to have a long lifetime 2024-10-17 21:22:14 I used to chat with a guy in another channel who'd done a startup in Austin a while back (long while now) called Medusa Technology that specialized in that. They'd take people's designs for various things (motherboards, whatever) and figure out how to kill them by thrashing them with the right sort of test streams. 2024-10-17 21:22:26 Show the peeps that made them what they needed to improve. 2024-10-17 21:23:01 Mostly it involved making as many signals change level at the same time as possible. 2024-10-17 21:23:11 Sometimes! 2024-10-17 21:23:46 We do stuff in our drive to keep that from happening in the "obvious" cases - sort of scramble things with pseudo-random noise. But all that really does is make the streams that will break it a whole lot lower probability. 2024-10-17 21:24:33 They still exist. 2024-10-17 21:25:14 He used to tell me I should figure out how to "cancel" that, and watch folks lose their minds when everything fell over. Dude had a nasty streak. :-) 2024-10-17 21:26:29 I definitely agree 2024-10-17 21:26:55 One night he confided in me (I think he'd been drinking - it was wholly out of character) that he was worried his wife was stepping out. I talked with him as best I could, and then I never heard from him again. I suspect he was ashamed of "a moment of weakness." 2024-10-17 21:27:08 Oh no :( 2024-10-17 21:27:23 speaking of which, I wonder if I have money for food today... 2024-10-17 21:27:42 Kind of a shame too - we had a lot in common (same college around the same time, similar small company experiences, etc.). I'd enjoyed knowing him. 2024-10-17 21:27:56 Yeah, I have no idea how that all panned out. He was probably wrong, but who knows. 2024-10-17 21:28:42 He was incredibly private, but at one point I decided it would entertain me to nail down who he was. He'd let enough slip, and I'm 99% sure I did. 2024-10-17 21:28:56 I'd never have told him though - he'd have been furious. 2024-10-17 21:29:39 Getting the name "Medusa" was part of that little quest - he didn't give that to me himself. Always referred to it as "the startup." 2024-10-17 21:31:23 But he did talk a lot about being "a very low badge number" at Dell. That's why he was retired and I wasn't. :-) 2024-10-17 21:32:04 The big clue, though, was that he played trumpet in an Austin jazz band (that was never named). He did give the first name of a female vocalist that worked with them, and all of that was just enough to chase him down. 2024-10-17 21:33:34 I mean, how many jazz bands in Austin have a trumpet player that's a retired Dell software engineer? 2024-10-17 21:35:01 haha 2024-10-17 21:35:06 that's some serious google-fu tho 2024-10-17 21:35:20 Anyway, I like your circuit. I'm kind of a fan of doing "outside the usual box" things with parts. 2024-10-17 21:35:54 It's kind of like "Hacker's Delight" but hardware. 2024-10-17 21:35:58 Yeah 2024-10-17 21:36:24 when I was a kid it always really bugged me that the standard logic circuits were so wasteful 2024-10-17 21:36:56 I guess now there are adiabatic CMOS circuits that don't dump charge to ground except when they're doing irreversible computation 2024-10-17 21:37:30 KipIngram: what if he's here in this channel now under a different name? 2024-10-17 21:37:43 (obligatory nerdsnipe: https://www.nandgame.com/) 2024-10-17 21:38:07 Heh. Then he may be coming for me, because I am NOT hard to find. 2024-10-17 21:38:30 Forth is the last place I'd expect to find him. 2024-10-17 21:38:37 He was C or Go all the way. 2024-10-17 21:39:06 The guy who owned that channel is a Forth fan, and once in a while pops in here. 2024-10-17 21:39:25 Been a while since I've seen him, though. Anyway, the other guy constantly teased us about Forth. :-) 2024-10-17 21:39:34 "glorified maro assembler." 2024-10-17 21:41:14 I like Golang okay, and I also like glorified macro assemblers. And even humble ones 2024-10-17 21:42:01 Yeah. Go seems to be particularly strong for web work, and good for multi-tasking type things. I've never given it a really proper test drive, though. 2024-10-17 21:42:25 For tokthr I convinced gas to assemble my Forth bytecode, including jump offsets: https://github.com/kragen/tokthr/blob/master/tokthr.S#L934 2024-10-17 21:42:31 Makes sense it would be strong in those areas, coming from Google. 2024-10-17 21:42:47 Go is super good at handling lots of I/O bound processing, very reliably 2024-10-17 21:42:55 Golang really comes from Bell Labs though 2024-10-17 21:43:04 I mean it's Limbo or Newsqueak 2024-10-17 21:43:11 Someday someone is going to port Go to an actual mainframe and it'll be amazing 2024-10-17 21:44:21 oh, I guess the definition of words is a better example because it actually does have jump offsets: https://github.com/kragen/tokthr/blob/master/tokthr.S#L984 2024-10-17 21:45:11 the "fif" macro used for that bytecode conditional branch is at https://github.com/kragen/tokthr/blob/master/tokthr.S#L769 2024-10-17 22:23:57 xentrac: I have no doubt you can fit a working Forth into under 8k. 2024-10-17 22:25:16 Have you studied this? 2024-10-17 22:25:17 https://github.com/cesarblum/sectorforth 2024-10-17 22:25:35 It's not complete in and of itself of course, but it really underscores how much can be had for how little. 2024-10-17 22:26:17 It's not complete in and of itself of course, but it really underscores how much can be had for how little. 2024-10-17 22:26:51 This is also also quite interesting: 2024-10-17 22:26:56 https://github.com/nineties/planckforth 2024-10-17 22:27:22 Totally different sort of orientation, but I've wondered to what extent the two ideas could be combined. 2024-10-17 22:29:12 KipIngram: I've looked at sectorforth and planckforth somewhat, but obviously I hadn't when I had written tokthr :) 2024-10-17 22:32:24 the objective for tokthr was to see if I could get a usable high-level interactive interpreter into 2K 2024-10-17 22:32:32 not 2K of executable, 2K of RAM 2024-10-17 22:32:50 (with no ROM)