I have these three books. They're all for integrated circuit design, but they definitely give an in-depth coverage of analog design. They're pretty heavy in terms of material. You might be looking for something a bit broader in scope.
If you use the shell a lot, I recommend you get familiar with grep, awk, sed, find and xargs. Here's a quick example that I just had to use today. I got a bunch of Windows ascii files mixed with a bunch of other files. I wanted to run dos2unix on only the Windows ascii files. And the files were spread across several directories.
find . -type f | xargs file | grep CRLF | aw 1 | sed 's/://' | xargs dos2unix
My knowledge of tcsh is what's been keeping me from switching to bash. I like to use popular standards, but I don't know how to do this stuff in bash. I learned the tcsh stuff when I actually had time to read shell man pages.:)
Directory stack commands, pushd and popd, are quite handy. I alias them to pd and po. Then pd works just like cd, except it remembers where you've been.
The advantage of the directory stack over "cd -" is that the directory stack always remembers where you last were. "cd -" only remembers until you change directories again.
In tcsh (I don't know other shells), you can do directory stack substitution. =0 is current directory, =1 is one up, =2 is two up, and so on.
I also use bindkeys to bind Control-G to 'dirs -v' so I can look at the directory stack with ease, even in the middle of a command.
Personally, I think directory stack commands are the least-known, but most useful feature in tcsh.
In the IC design market, we're certainly not going back to hand design.:) But that's probably expected. We have to integrate many, many devices (thousands in my case, but millions for the digital guys), and they are incredibly small. Gone are the days of predicting silicon behavior with equations on a napkin. These simpler models still provide good insight, but we need simulation software that can better predict how the circuit will behave to even have a chance of success. (Plus each spin on silicon costs millions of dollars. The bosses don't like it when we don't get it right.)
Having said that, we can get too dependent on the tools. Sometimes for certain circuits we learn that if this line cross that point, we're good. But it's too easy to forget why it would cross that point or even what the line measures. Today more than ever it's essential that good designer's understand what's physically going on. The tool can't truly model everything accurately, and even if it could it can't truly run all possible scenarios even with today's compute resources (my top level sims run for about a week). So the tools have limitations and we must be aware of them. A guy with a wrench can't assume everything is hexagonal, or that everything should be torqued in the first place.
Also, software tools can pidgin-hole us. They are written with a certain design paradigm in mind. That might represent good practice over a long period of time and over many different types of circuits, but eventually you'll hit limitations. You need to understand those limitations to build a better tool. We need to know when it's time to shift paradigms. Now new paradigms come along before the old ones even get broken in because we're working with tens of nanometers for features sizes.
Anyway, this is just the perspective from the integrated circuit industry (and specifically on the analog side). But I suspect that in this world of so much device integration that we'll really need computers to keep track of all the amazing richness of technology that these new widgets contain.
I couldn't find this paper, but searching on the web I found the original paper that references. (Sorry, you have to be an IEEE member to read it.) It describes the relationships you mention. I hadn't heard of the memristor before. I'm used to dealing with circuit equations of voltage, current, and charge. I haven't dealt with magnetic flux since college.
Anyway, the concept is neat. But one problem I had is that the paper says that the memristance (M) needs to change with charge (or flux) to be interesting. But the other fundamental elements (R = dv/di, C = dq/dv, and L = dphi/di) all have basic components that assume it's fixed. Circuits using resistors, capacitors, and inductors all assume the R, C, and L are fixed, except in special cases where it is explicitly says otherwise. So why does a memristor get to have a changing M value? Supposedly because if it didn't it would just look like a resistor and would be a boring element. But I think there must be more to it. But so far I haven't figured it out.
The distinction is hazy, but I think I can see it where it comes from.... when a diode/transistor does something, it affects of the "layout" of the circuit, rather than directly affecting the electrons flowing through it.
Not quite correct. A transistor does directly affect the electrons that flow through it. I'm particularly thinking of MOSFETs, which I work with. There's a gate that directly affects how much current will flow through the channel.
I think the distinction has to do with linearizing the circuit. When you decompose a transistor into a voltage controlled current source, you get a linear element. Rs, Ls, and Cs are already linear. But I don't get why the memristor should be considered a new fundamental circuit element. It doesn't sound linear. Actually it just sounds like a current controlled resistor. I'm sure it's quite useful, but I don't see why you can't break it into linear circuit components.
I criss-crossed the country with shurikens in my backpack. I forgot they were in there. It wasn't until my last flight home that they were found, and boy were they upset.
The activation voltage of a transistor is variable- it's a property of the materials its made of..7 is a common one and thus used in a lot of texts, but it isn't set in stone.
It's also a property of the doping levels of the silicon. Basically, you need to bring a certain amount of charge under the channel to turn the device on. This depends on the substrate material, but also depends on how much charge is available (i.e. doping).
In a given process, you can different flavors of transistors, each with its own threshold voltage. In a 90nm process I'm currently designing in, the digital devices have a threshold of about 250mV. Of course, I'm an analog designer, so that just make my work harder.:) We would normally design with 0.6V threshold devices. The digital devices are faster, but the analog devices have much more gain. But you can't design with higher threshold devices below about 2V. We're at 1.5V, so we need the lower threshold devices.
This idea is discussed in the book, The Body Has a Mind of Its Own. It talks about all the different brain maps for the body, including how the map is stretched to include a tool that we're using. I haven't actually read the book, but I heard an interview on Science Friday.
I noticed this article seemed to work under the constraint that there are exactly 435 members of the House. Why stick to this number? Larry J. Sabato deals with this and many other basic assumptions in the Constitution in his book A More Perfect Constitution. (See bullet 5 for members of HOR.) He suggests that we conduct a new Constitutional Convention to revamp things. And he's not arguing that his 23 points are the absolute best choices, but rather a starting point in the discussion. I would love to see this sort of basic reworking of things, assuming we take proper precautions to protect people's rights.
These are already available on the UCB site. I do like the YouTube format better, but the selection from the Berkeley site is currently larger. They have some great analog transistor design classes there.
Partisan politics seem to get worse and worse every year. That being said, at least he is doing something. Some of it might be to get attention, but his politics in general have always struck me as more honest then most. I think he's well aware that he isn't going to be a mainstream candidate any time soon. Wow, I totally thought you were writing about Cheney in this until the end. I had to check three times to make sure I was still reading Slashdot.
Here's a map website for the Phoenix area (must have Internet Explorer on Windows) that uses their own software. You can select different parcels of land and see who owns it and how much they paid. You can also turn aerial photography. Something like this would be awesome done using Google Maps.
good command line interface - Particularly I use tcsh, but anything equally powerful would do. I do all file operations through command line. I can't stand watching people on Linux go through the file browsers when just typing the commands would be so much faster. Also, if I need to quickly extract data from one file and rearrange it, I usually do this with a long piped command line (my obsessive nature makes script writing a long task).
practical windows management - I keep too many windows open to not have good WM. Basically, I need to be able to get to any one of my 20+ windows with the flick of my wrist. I use multiple desktops in KDE so I never have to minimize a window. I also have active borders turned on to hop between desktops with only mouse movement (Uh oh, I hear footsteps, back to my work desktop instead of/.). I suppose something like OSX's expose' would work as well, but I haven't tested it out.
I must admit that I'm inticed by OSX's eye candy features. But all I have are x86 machines, and I'm not about to go buy a mac because I want to toy around with it. So I must wait till some X replacement starts stealing Mac's cool features.
My wife and I went to London for our honeymoon, and after I would fill up my flash card with pictures, I would transfer them to our laptop. We were wrapping up our trip, and we had about 9 days of pictures. (You might imagine what's happens next.)
Well, I was using kuickshow and was deleting some unneeded files through their browser and somehow deleted the wrong directory. Well, next thing I knew, the whole photo directory was empty! My wife was not happy.
But I managed to keep her from completely freaking out while explaining how I had the situation under control. Fortunately, since I was soothing her, I didn't have a chance to freak out about exactly how I was going to get control of the situation.
Well, after some googling, I figured out how to use grep on the hard drive device itself. So I opened one of my remaining pictures in emacs and saw some signature text at the beginning. I grepped the hard drive for this text string and returned the byte offset from the beginning of the hard drive for each match. Then I wrote a small C program to go to these locations and dump the next 5MB of data to a file. Then I openned up each of these files in emacs, and trimmed the beginning and end to match what a good jpeg looked like, and then openned it up in kuickshow.
Anyways, this whole process took me about three days. About 90% of the data recovery was done in about 4 hours on the final day. The rest of the time, was trying to figure out exactly how to do it.
And so I went from zero to hero with my wife. I learned some cool grep and C tricks. And it was pretty fun. We recovered about 80% of the pictures. I could only recover photos that were contiguous on the hard drive. I didn't know how to find all the fragments of non-contiguous files. But we had taken so many pictures that 80% was actually pretty good. We were very happy!
Lessons learned: [1] Don't use kuickshow browser (actually it was my fault, but I can't help but feel a prejudice now). [2] Always backup data to CD. I actually had a CD burner on my laptop, but I never got around to burning it yet.
Kind of a twist on "I've forgotten more than you'll ever know."
Our babies were delivered via Caesarean section, which meant we got to pick the birthday.
Design of Analog CMOS Integrated Circuits
by Behzad Razavi
http://www.amazon.com/Design-Analog-CMOS-Integrated-Circuits/dp/0072380322
Analysis and Design of Analog Integrated Circuits
by by Paul R. Gray, Paul J. Hurst, Stephen H. Lewis, Robert G. Meyer
http://www.amazon.com/Analysis-Design-Analog-Integrated-Circuits/dp/0471321680
Analog Integrated Circuit Design
by David Johns, Ken Martin
http://www.amazon.com/Analog-Integrated-Circuit-Design-David/dp/0471144487
I have these three books. They're all for integrated circuit design, but they definitely give an in-depth coverage of analog design. They're pretty heavy in terms of material. You might be looking for something a bit broader in scope.
(Useful) Stupid Glob-pattern Tricks
That's really helpful to know! :) I help people that use bash and I hate not having this feature.
Run "myps | grep firefox | awkill -9" to kill all firefox sessions.
Don't forget directory stack substitution (=1, =2, etc.)
Grab column 5 with "aw 5". (e.g. ls -l | aw 5)
If you use the shell a lot, I recommend you get familiar with grep, awk, sed, find and xargs. Here's a quick example that I just had to use today. I got a bunch of Windows ascii files mixed with a bunch of other files. I wanted to run dos2unix on only the Windows ascii files. And the files were spread across several directories.
My knowledge of tcsh is what's been keeping me from switching to bash. I like to use popular standards, but I don't know how to do this stuff in bash. I learned the tcsh stuff when I actually had time to read shell man pages. :)
The advantage of the directory stack over "cd -" is that the directory stack always remembers where you last were. "cd -" only remembers until you change directories again.
In tcsh (I don't know other shells), you can do directory stack substitution. =0 is current directory, =1 is one up, =2 is two up, and so on.
I also use bindkeys to bind Control-G to 'dirs -v' so I can look at the directory stack with ease, even in the middle of a command.
Personally, I think directory stack commands are the least-known, but most useful feature in tcsh.
Having said that, we can get too dependent on the tools. Sometimes for certain circuits we learn that if this line cross that point, we're good. But it's too easy to forget why it would cross that point or even what the line measures. Today more than ever it's essential that good designer's understand what's physically going on. The tool can't truly model everything accurately, and even if it could it can't truly run all possible scenarios even with today's compute resources (my top level sims run for about a week). So the tools have limitations and we must be aware of them. A guy with a wrench can't assume everything is hexagonal, or that everything should be torqued in the first place.
Also, software tools can pidgin-hole us. They are written with a certain design paradigm in mind. That might represent good practice over a long period of time and over many different types of circuits, but eventually you'll hit limitations. You need to understand those limitations to build a better tool. We need to know when it's time to shift paradigms. Now new paradigms come along before the old ones even get broken in because we're working with tens of nanometers for features sizes.
Anyway, this is just the perspective from the integrated circuit industry (and specifically on the analog side). But I suspect that in this world of so much device integration that we'll really need computers to keep track of all the amazing richness of technology that these new widgets contain.
Anyway, the concept is neat. But one problem I had is that the paper says that the memristance (M) needs to change with charge (or flux) to be interesting. But the other fundamental elements (R = dv/di, C = dq/dv, and L = dphi/di) all have basic components that assume it's fixed. Circuits using resistors, capacitors, and inductors all assume the R, C, and L are fixed, except in special cases where it is explicitly says otherwise. So why does a memristor get to have a changing M value? Supposedly because if it didn't it would just look like a resistor and would be a boring element. But I think there must be more to it. But so far I haven't figured it out.
Thanks for your explanation.
Not quite correct. A transistor does directly affect the electrons that flow through it. I'm particularly thinking of MOSFETs, which I work with. There's a gate that directly affects how much current will flow through the channel.
I think the distinction has to do with linearizing the circuit. When you decompose a transistor into a voltage controlled current source, you get a linear element. Rs, Ls, and Cs are already linear. But I don't get why the memristor should be considered a new fundamental circuit element. It doesn't sound linear. Actually it just sounds like a current controlled resistor. I'm sure it's quite useful, but I don't see why you can't break it into linear circuit components.
I criss-crossed the country with shurikens in my backpack. I forgot they were in there. It wasn't until my last flight home that they were found, and boy were they upset.
It's also a property of the doping levels of the silicon. Basically, you need to bring a certain amount of charge under the channel to turn the device on. This depends on the substrate material, but also depends on how much charge is available (i.e. doping).
In a given process, you can different flavors of transistors, each with its own threshold voltage. In a 90nm process I'm currently designing in, the digital devices have a threshold of about 250mV. Of course, I'm an analog designer, so that just make my work harder. :) We would normally design with 0.6V threshold devices. The digital devices are faster, but the analog devices have much more gain. But you can't design with higher threshold devices below about 2V. We're at 1.5V, so we need the lower threshold devices.
This idea is discussed in the book, The Body Has a Mind of Its Own. It talks about all the different brain maps for the body, including how the map is stretched to include a tool that we're using. I haven't actually read the book, but I heard an interview on Science Friday.
For those that don't want to read ( Me included :) ) can hear an audio interview with Diane Rehm.
With Planck constant what it is, how many bits of precision are we?
Does this guy look like he's peeing on the car?
These are already available on the UCB site. I do like the YouTube format better, but the selection from the Berkeley site is currently larger. They have some great analog transistor design classes there.
Sheehans are notorious for long protests when they're unhappy.
Did it take anyone else a while to realize that Monzilla was a play off of Godzilla, not Mozilla?
Komi
- good command line interface - Particularly I use tcsh, but anything equally powerful would do. I do all file operations through command line. I can't stand watching people on Linux go through the file browsers when just typing the commands would be so much faster. Also, if I need to quickly extract data from one file and rearrange it, I usually do this with a long piped command line (my obsessive nature makes script writing a long task).
- practical windows management - I keep too many windows open to not have good WM. Basically, I need to be able to get to any one of my 20+ windows with the flick of my wrist. I use multiple desktops in KDE so I never have to minimize a window. I also have active borders turned on to hop between desktops with only mouse movement (Uh oh, I hear footsteps, back to my work desktop instead of
/.). I suppose something like OSX's expose' would work as well, but I haven't tested it out.
I must admit that I'm inticed by OSX's eye candy features. But all I have are x86 machines, and I'm not about to go buy a mac because I want to toy around with it. So I must wait till some X replacement starts stealing Mac's cool features.Of course there could be the confound that people who have healthier sleeping habits also have healthier eating habits. But it's worth looking into.
Here's a list of games that I play a lot (in order that I think of them):
- Settlers of Cataan (and Seafarers expansino)
- Carcassonne (and many expansions)
- Game of Thrones (with Clash of Kings Expansion)
- Risk: Godstorm
- Ticket to Ride (great for people new to gaming)
- Bang (great for large groups of 6-8)
- St. Petersburg
- Diplomacy (can cause you to hate your friends!)
Here's a few games that are good for 2 players:komi
Well, I was using kuickshow and was deleting some unneeded files through their browser and somehow deleted the wrong directory. Well, next thing I knew, the whole photo directory was empty! My wife was not happy.
But I managed to keep her from completely freaking out while explaining how I had the situation under control. Fortunately, since I was soothing her, I didn't have a chance to freak out about exactly how I was going to get control of the situation.
Well, after some googling, I figured out how to use grep on the hard drive device itself. So I opened one of my remaining pictures in emacs and saw some signature text at the beginning. I grepped the hard drive for this text string and returned the byte offset from the beginning of the hard drive for each match. Then I wrote a small C program to go to these locations and dump the next 5MB of data to a file. Then I openned up each of these files in emacs, and trimmed the beginning and end to match what a good jpeg looked like, and then openned it up in kuickshow.
Anyways, this whole process took me about three days. About 90% of the data recovery was done in about 4 hours on the final day. The rest of the time, was trying to figure out exactly how to do it.
And so I went from zero to hero with my wife. I learned some cool grep and C tricks. And it was pretty fun. We recovered about 80% of the pictures. I could only recover photos that were contiguous on the hard drive. I didn't know how to find all the fragments of non-contiguous files. But we had taken so many pictures that 80% was actually pretty good. We were very happy!
Lessons learned: [1] Don't use kuickshow browser (actually it was my fault, but I can't help but feel a prejudice now). [2] Always backup data to CD. I actually had a CD burner on my laptop, but I never got around to burning it yet.