Nick C's Notes

Professor of CS at Indiana University
He’s a “clinical” faculty member, he works and teaches; this is uncommon in CS
He worked a co-op at Intel first, then for Cummins
His career is largely in embedded/digital systems
He’s currently looking at low-power systems for tracking things
He came to university because he had more freedom to design systems there than in industry
Spent 11 years doing that stuff at IU, then led the IT dept there for three years, then went back to teaching and started a small business for selling his EACs, but brought that stuff back to university research after two years

Emily: is there overlap with other sciences? Bryce: wants to apply things from other domains, e.g. targeting the hearing aid market with his extended analog computers. He’s currently making “fitbits for birds,” activity trackers for junco birds. Biology is very fertile for new tech
With the avian tracking devices: began with a neural network, it’s supposed to filter signals, in a very general sense: they were building “matched filters”. The extended analog computer is supposed to be a kind of lookup table. They were in the position of having a technology but not a problem

Bryce’s role with Jonathan Mills was among other things to build an EAC of Mills’ design

Steven: is the neural network on the EAC recurrent, since there may be a feedback loop? Bryce: feedback can happen, but they did not explore that as an alternative model for financial viability reasons, and it’s not strictly speaking recurrent since the output has no effect on later inputs, unless you want it to.

Emily: why they weren’t looking to push EAC into the mainstream? Bryce: their advantage was in low-power, complex matched filter problems
Their neural networks are quite small, just 32x32x8. Neural nets came back as a solution to interpreting voices, but those are much bigger, and power-costly

Steven: why are there so few hidden layers? Bryce: it didn’t need to be big!

The neural nets are not trained while on the substrate: they just use MatLab to train their nets.
They were moving toward an analog-digital hybrid: the analog is “watching” while the digital micro-controller “sleeps,” until the analog sees something and wakes it up, as a way of saving power. The analog just has to be careful about when it should wake things up.
Je asks: why go into analog at all? Bryce: well, analog came first. But he was drawn in because he wanted to build something interesting.

A gentle introduction to the microEAC
It is actually sort of a digital system?: it has a 5x5 matrix of programmable analog cells, FPGAs, a sea of combinatoric logic blocks with a lookup table and you can create Booleans out of them, and it has other things, so you can use these to reconfigure the system. The rest is analog-digital converters and digital-analog converters, etc. On the back is a piece of conductive foam.

Emily: why did you use the substrate(s) you did? Bryce: needed a material that had high resistance, so foam worked well with microEAC. Differs depending on the EAC in question.

Dr Palmer: do swarm algorithms still get used to configure the EAC? Bryce: swarm made sense back when there was a sea of analog cells, but nowadays the typical neural net works fine. Swarms still have a use in online configuration, but for them not elsewhere.

Emily: are you a hardware guy? Bryce: he’s a “systems” guy: operating systems level and below, down to questions like how memory works, how drivers work, specialized and custom hardware, and so on. He doesn’t work on higher level stuff like compiler writing. Sometimes he works in embedded systems, a little “black box” system of its own in the larger one, other times not.

Dr Palmer: benefit of working for various companies? Bryce: Intel isn't going to let you do any of the cool stuff. He got great contacts there though, which especially help if he’s working at a big city. Working at Cummins, he learned Process™: How do you document? How do you work in a regulated way? etc. He was managing there a change to a package for an integrated circuit. It taught you about documentation, making tests, and so on. Eventually he got to lead his own design team!
Working at a small company, he had to be more of a jack of all trades: there was no one else to push a problem on. Time spent learning new things is limited in a small business.
Nick C: follow-up question about small business. Bryce: Suppose you need to accomplish a task that requires learning a new programming language. With a large business, they'll give you the time to go learn that. But with a small business, the first milestone is quick: depending on capital, you may have more or less time, but regardless, fast, so anything that isn’t about that milestone gets discarded. Small businesses expose you to “business realities,” he said.

Steven: Are the weights DACs? Bryce: Yes!!! It’s a way to output a current based on a digital number presented to it. The weights are stored digitally, and they use the DAC to multiply that value. The foam sheet was effectively acting as the multiplier there.
Steven: does using DACs slow down the computation? Bryce: nope, because the weights aren’t changing dynamically, and the multiplication can happen at the speed of the throughput? That's part of the magic of analog, I take it.
Steven: For someone going into industry for EAC application, what should they do? Bryce: The only jobs that apply are one for which one needs low-power and signal processing. So if you're looking for a place to apply EAC, look for those.

Emily: How much circuitry training does one need to understand EAC? Bryce: the programmer/software angle on this is a machine learning background: swarm intelligence, neural nets, etc.; the programmer doesn’t need to know much of anything about the circuitry. The programmer could potentially come up with novel ways of doing the online training!
Emily: But how much circuitry training does one need. Bryce: The programmer can’t do the stuff at the analog level, but the implications of using such a chip is understandable to the non-engineer, so don't worry too much about it.

Brandon: What mistakes do students make in job hunting? Bryce: Not having any experience at all going into the job market. Having experience will help them narrow down what they don’t want to do, and is proof that their education is worth it. Ride out the first job a while, see if you acclimate to it.