IRC channel logs

2013-03-30.log

back to list of logs

<mark_weaver>sorry, ran into someone in person here.
<mark_weaver>my first unix box was also a 486, but *much* earlier than linux 1.0
<mark_weaver>I started with my own unix box just a bit before NetBSD was launched.
<dsmith-work>I do remember the articles in Dr Dobbs by Jolitz. Porting bsd to the 386
<mark_weaver>ah, so that was the association with Dr Dobbs.
<mark_weaver>dsmith-work: was the soundcard and cdrom integrated somehow? like on the same card or something?
<mark_weaver>somehow, I managed to never run slackware
<mark_weaver>although it seems respectable.
<mark_weaver>!uname
<mark_weaver>hehe, he only listens to you :)
<dsmith-work>Yes. The soundcard had a dsp on it and it emulated a SoundsBlaster. It also had a cdrom interface.
<dsmith-work>It was cool, because that was the dsp I was using at work at the time. (Analog Devices 21xx stuff)
<mark_weaver>ah yes, I have some vague recollection of those soundblaster cards. I think I even had one in the early days :)
<dsmith-work>Heh. I wrote a disassembler for that so I could see what was in the sound card dsp image.
<mark_weaver>nice, so you actually hacked code for DSPs at the time?
<dsmith-work>Yes. We were doing control of dampers for automotive suspension systems.
<dsmith-work>Skyhook control and all that.
<dsmith-work>There was this fluid that could go from milk to toothpaste in about 5-15ms
<mark_weaver>very interesting!
<dsmith-work>With about a 3-4Kv per mm field
<mark_weaver>what triggers the transition?
<mark_weaver>ah..
<mark_weaver>what is that fluid called?
<dsmith-work>So you compare the relative velocity to the "absolute" velocity. Depending on the directions they are in, you either turn off, or apply a force proportional to the relative velocity.
<mark_weaver>I've done a little bit of reading about control theory, but never studied it carefully.
<dsmith-work>Electrheological fluid
<dsmith-work>The dsp basically converted two accelerometers into velocities.
<mark_weaver>what is the relative velocity and absolute velocity, more precisely?
<mark_weaver>(of course every velocity is relative to something)
<dsmith-work>absolute is integrated acceleration on the body.
<dsmith-work>Relative is the velocity between the wheel and the body.
<mark_weaver>ah, I see.. so absolute velocity is an estimate of the velocity of the car relative to the road, right?
<dsmith-work>Yes.
<mark_weaver>okay
<dsmith-work>If the road doesn't move.
<mark_weaver>*nod*
<mark_weaver>what's your educational background?
<dsmith-work>But it does. Holes, hills, etc.
<dsmith-work>Self taught.
<mark_weaver>excellent! what are the main subjects you have taught yourself?
<mark_weaver>(I'm also mostly self taught.. what I learned at university is really only a small fraction of what I've learned in life)
<dsmith-work>Well, I went to a tech school to learn electronics. And another to fix mainframe computers.
<janneke>g'night!
<mark_weaver>good night janneke !
<dsmith-work>ibm 360's
<dsmith-work>Yeah, stuff advances so rapidly.
<mark_weaver>analog or digital electronics?
<dsmith-work>Not much from the 70' is still userful.
<mark_weaver>hehe
<dsmith-work>Both I guess. We had some digital logic near the end.
<dsmith-work>The version before we started using dsp's was all analog.
<dsmith-work>What a pain!
<mark_weaver>hehe
<mark_weaver>yeah, it's so much nicer to be able to just write code.
<dsmith-work>Ever try to design a bandpass filter centered at .1 Hz?
<mark_weaver>that's pretty low frequency.. I imagine that would be tricky.
<dsmith-work>The capacitors are all too leaky for the op amp input bias currents.
<mark_weaver>there are some pretty huge super capacitors these days though.. maybe easier now than it was.
<mark_weaver>what did you need that for, out of curiosity?
<dsmith-work>The integrators for Accel to Velocity.
<mark_weaver>ah, right. makes sense.
<dsmith-work>Needed to get rid of the DC
<mark_weaver>*nod*
<mark_weaver>DSPs are a godsend for that, eh?
<dsmith-work>We actually used 1Hz to 20Hz on the side of the filter as an integrator
<dsmith-work>YEah.
<dsmith-work>And we could CHANGE the algorithm without soldering.
<mark_weaver>yep, we're all so spoiled nowadays :)
<dsmith-work>Sos we could compare different models.
<dsmith-work>It was really fun.
<dsmith-work>We had a man-rated shaker table.
<dsmith-work>And I could ride the different control alogrithsm.
<mark_weaver>may I ask your age?
<dsmith-work>Litterally, by the seat of my pants.
<mark_weaver>that does sound like good fun. I never had access to such a thing :)
<dsmith-work>Hmm. born in '59, so.. 54 this fall.
<dsmith-work>And you?
<mark_weaver>born in '70, turned 42 on the day the world was supposed to end.
<dsmith-work>Heh.
<mark_weaver>longest night of the year :)
<dsmith-work>My 30th birthday was that huge quake in CA.
<mark_weaver>ha, I remember that quake!
<mark_weaver>wow
<dsmith-work>Or at least I remember it being the 30th.
<mark_weaver>quite a coincidence.
<dsmith-work>Well, quakes are memorable.
<mark_weaver>when and how did you discover lisp/scheme?
<mark_weaver>or more to the point, when/how did you get interested in it.
<mark_weaver>lisp is about the same age as you :)
<dsmith-work>scwm!
<dsmith-work>Well emacs before that.
<dsmith-work>Around 84, 85 I saw microemacs. Hmm. No, it was JOVE (Jakes Own Version of Emacs)
<dsmith-work>Was using vi before that.
<mark_weaver>ah yes, you've done quite a bit of hacking on scwm, haven't you?
<dsmith-work>Guy I was working with typed a } and it auto indented and I was sold.
<dsmith-work>scwm is what brought me to guile.
<mark_weaver>I don't really know the details of your relationship to that project.
<dsmith-work>I used to use it years ago.
<dsmith-work>It bitrotted. I sent in soem patched to bring it up to 1.8 (or maybe it was 1.6)
<dsmith-work>And he made me the maintainer.
<mark_weaver>heh
<dsmith-work>Still needs lots of love.
<dsmith-work>The C code is pretty much up to date.
<mark_weaver>I can't remember if I ever tried scwm. but if I did, it was long before I had any strong interest in scheme.
<mark_weaver>SICP is what made me fall in love with scheme, and very significantly changed my philosophy of programming.
<dsmith-work>The gtk code needs updating. I just have no time, or motivation! to work on it.
<mark_weaver>but I didn't discover it until the late 90s iirc, quite late in my programming career.
<mark_weaver>*nod*
<mark_weaver>are you working on anything fun these days?
<dsmith-work>The thing that *really* hooked me on scheme, was the ((if flag + *) 3 4) example in RnRS
<mark_weaver>hehe
<dsmith-work>Tube Guitar amps.
<mark_weaver>vacuum tubes?
<dsmith-work>yes
<mark_weaver>those still perform better than transistors in some ways, don't they?
<mark_weaver>I've forgotten the details.
<dsmith-work>MUCH better. ;^)
<dsmith-work>There are many reasons.
<mark_weaver>it's a *completely* different type of device, obviously.
<dsmith-work>Gentler non-linearities
<mark_weaver>do you play the guitar also?
<dsmith-work>Assymetric non-liniearities
<dsmith-work>Very high output impedance to the spaaker.
<dsmith-work>Soft power supplies.
<dsmith-work>Yes I do.
<mark_weaver>what is a "soft" power supply ?
<dsmith-work>It sags under load
<mark_weaver>ah, okay.
<dsmith-work>So you get a kind of natural compression.
<mark_weaver>*nod*
<mark_weaver>well, I have to go offline for a while. joining some friends for dinner. nice talking to you! :)
<mark_weaver>(I might pick your brain about these tube amps at some future time though :)
***jao is now known as Guest43756
<taylanub>If I have a module (bytestructures procedural), does the file-system representation have to be bytestructures/procedural.scm ?
<nalaginrut>yes, if it's in the load-path
<taylanub>Hrm, OK.
<taylanub>Also, I'll make a syntactic version, and not sure if that's possible and plausible with syntax-rules; would it be worth trying to write it in portable syntax-case ? The procedural implementation uses SRFIs 1, 9, and 11, and bytevectors, and is otherwise R5RS I think. (Bytevectors are also in R7RS-small, so you could also say it's R7RS-small plus those three SRFIs.)
<taylanub>(Is there a thing such as portable syntax-case ? How well is R6RS supported ?)
<dsmith>taylanub, The bytestructures dir must be in a directory on the load path.
<taylanub>dsmith: And must the file be called procedural.scm ?
<dsmith>yes
<taylanub>OK.
<dsmith>So if you added the bytestructures dir to the load path, then it would NOT find your module. That *would* work if your module was (procedural).
<taylanub>I see.
<dsmith>Great
<taylanub>While making a syntactic version of my bytestructures implementation, would it be bad practice to simply wrap my `define-record-type' calls, variable definitions etc. in `eval-when' and turn my procedures into macros ?
<mark_weaver>taylanub: that strikes me as a suboptimal approach, but it's hard for me to tell without seeing your current code.
***adu_ is now known as adu
<dsmith>mark_weaver, http://scholar.lib.vt.edu/theses/available/etd-111299-170915/unrestricted/Chapter4ETD-Modified.pdf
<dsmith>mark_weaver, Take a look at figure 4.21 on page 70. That's the skyhook I was talking about.
<dsmith>Lookss like they have done some work on getting the harshness out.
<mark_weaver>dsmith: fascinating stuff! I've only occasionally thought about all the magic that makes modern cars so comfortable to ride. This reminds me how sophisticated they have become :)
<dsmith>Yes!
<mark_weaver>I'm going to have to wait to another time to dig into this though. I have *way* too much to do for 2.0.8 right now :/
<dsmith>It was a lot of fun working with that stuff.
<dsmith>Great! I mean, I'm really thankful for all the work you do for Guile.
<mark_weaver>Thanks :) I really enjoy working in this community.
<dsmith>Especially all the numerics stuff. I sure would have liked to have guile back when I was working with dsp filters.