gooseyard
Joined 15 years ago
Joined 15 years ago
Despite those needs though, I eventually looked into the p-b-s builder and found that I couldn't make a serious argument against continuing to maintain our builder and all of the random crap that's needed to manage all the dependencies and using p-b-s. It solves all the same problems and after having switched to it a couple of years ago, my initial concerns about possibly needing to get changes upstreamed never became an issue as your folks pretty much always run into and fix stuff before I do and have been both really pragmatic and helpful in any of the discussions surrounding issues. I keep hoping for an opportunity to contribute something back since the project has really saved me a great deal of toil over the past year or two since adopting it.
I really like the model of treating the interpreter as just another runtime dependency, and after working in the Erlang universe for a few years I keep thinking there are some interesting opportunities for tooling related to bundling stripped-down versions of the runtime stuff along with an application rather than some of the more exotic approaches. Stuff like rebar/erlang.mk might be a nice pattern to study.
Anyhow if Indygreg is reading this, huge thanks and nice work, and I really appreciate all the work you (Charlie) and the astral folks have put in, it's been a real bright spot at work for a while.
It's interesting since I saw another comment near yours that raised the question of robustness of the lab-grown design, which I thought was kind of the most fascinating part of the damninteresting article was the revelation that the evolved programs were inseparable from the single physical FPGA used in the training. Since this RFIC training model employs a simulator, do you suppose that the quirks of the physical hardware on which the simulator runs are sufficiently isolated from the training such that a pair of designs would behave similarly when the simulator was run on distinct hardware? And I guess the even more obvious question is whether a design evolved on a simulator would have any hope of behaving as expected in physical hardware?
My hunch about the latter is no, although it still seems like an interesting study, and I often find myself thinking that really understanding what was going on with the FPGAs might be a prerequisite for really understanding how to master reinforcement learning.
Anyway I'm glad you posted this and if you have any other favorites related to this domain send them my way!
I've been doing this for coming up on thirty years now, mostly at one large company, and I spent a significant number of hours every week fielding questions from people who are newer at it who are having trouble with one thing or another. Often I can tell immediately from the question that the root of the problem is that their world model (Naur would call it their Theory) is incomplete or distorted in some way that makes it difficult for them to reason about fixing the problem. Often they will complain that documentation is inadequate or missing, or that we don't do it the way everyone else does, or whatever, and there's almost always some truth to that.
The challenge then is to find a way to represent your own theory of whatever the thing is into some kind of symbolic representation, usually some combination of text and diagrams which, shown to a person of reasonable experience and intelligence, would conjure up a mental model in the reader which is similar to your own. In other words you want to install your theory into the mind of another person.
A theory of the type Naur describes can't be transplanted directly, but I think my job as a senior developer is to draw upon my experience, whether it was in the lecture hall or on the job, to figure out a way of reproducing those theories. That's one of the reasons why communication skills are so critical, but its not just that; a person also needs to experience this process of receiving a theory of operation from another person many times over to develop instincts about how to do it effectively. Then we have to refine those intuitions into repeatable processes, whether its writing documents, holding classes, etc.
This has become the most rewarding part of my work, and a large part of why I'm not eager to retire yet as long as I feel I'm performing this function in a meaningful way. I still have a great deal to learn about it, but I think that Naur's conception of what is actually going on here makes it a lot more clear the role that senior engineers can play in the long term function of software companies if its something they enjoy doing.
In the end, I am generally using the search engine to find examples because I am too lazy to look at the source for the library I'm using, but if the choice is between an LLM that fabricates stuff some percentage of the time and just reading the fucking code like I've been doing for decades, I'd rather just take my chances with the search engine. If I'm unable to understand the code I'm reading enough to make it work, it's a good signal that maybe I shouldn't be using it at all since ultimately I'm going to be on the hook to straighten things out if stuff goes sideways.
Ultimately that's what this is all about- writing code is a big part of my career but the thing that has kept me employed is being able to figure out what to do when some code that I assembled (through some combination of experimentation, documentation, or duplication) is not behaving the way I had hoped. If I don't understand my own code chances are I'll have zero intuition about why it's not working correctly, and so the idea of introducing a bunch of random shit thrown together by some service which may or may not be able to explain it to me would be a disservice to my employers who trust me on the basis of my history of being careful.
I also just enjoy figuring shit out on my own.
She mentioned that even if you could find one of the machines that was working, keeping it running required routine maintenance and that they were down to essentially one guy who was nearing the age of retirement who had the skill and parts to keep one running. So they were in a race against time to figure out which masters to convert.
The problem gets even more thorny for sessions that were recorded using software like ProTools, which has been around in some form or another for almost 40 years, has gone through countless revisions of project file formats, and has a complicated relationship with specialty audio hardware and software plugins.
It seems like there's a general awareness of the problem now and good studios are taking some measures to archive sessions in ways that allow them to be imported in the future, but in the meantime there are two decade's worth of recordings at risk, even if their media hasn't been lost or corrupted. I guess if nothing else its a cool opportunity for people who like to hack on systems of this type though.
since it's convenient to use the headphone out on the uv1 for the headset, i do use a limiter plugin in Rogue Amoeba Soundsource to compress the output from the conferencing software we use, it's nice being able to do that per-application since i listen to music through the headset a lot and don't want to have to take the limiter in and out.
analog headsets are so much less annoying and flexible, huge fan
I am by no means a prolific or genius songwriter, nobody would know any of my music, and I don't believe that any of it is particularly impressive. However I've always found the fact that it happened spontaneously way to be a source of wonder, and as I've aged as a musician its delightful to see the endless stream of new songs and that it doesn't seem to matter whether you're a prodigy when it comes to writing songs that impact listeners. It seems to be a fundamental aspect of the human experience.
The analogy I've tried to use in teaching is that learning to play jazz is like being a comedian; when your skills are at their peak you're going to be inventing jokes regularly, but in the decades before you get there, you're going to be delivering other people's jokes putting a little of your own spin on them. The delivery matters a lot, and like good jazz playing it's pretty much impossible to write a book called "How to be Funny" that wouldn't just be an academic analysis rather than an instructional guide.
I struggled with jazz for the reasons I've alluded to above, and it wasn't until I started studying with a teacher who just had me memorize hundreds of standards that I got my playing together. We definitely talked about the technical bits of what was happening in the tunes, but those were really just interesting observations; repeatedly playing them in a group setting after woodshedding them at home between lessons, then taking a lot of solos was really what made it happen.
It really makes me happy to see up-and-coming killer players like Patrick Bartley espousing this same approach. Yeah it means you're going to spend thousands of hours memorizing tunes, but if that's not fun then playing jazz isn't going to be fun either.