Wow, that's frightening. We had to write such a thing in our introductory data structures class. (The reason it was in that class was that we used it to make parse trees and to demonstrate how pre-order, in-order and post-order traversals yielded prefix (Polish), infix and postfix (Reverse Polish) forms of expressions.)
I don't think it's even really important to know 5 different types of balanced trees intimately. It's more important to know the basics of a broad array of data structures and their tradeoffs, and that even for a specific type of data structure (balanced tree, in this case), that there are different types, each with their own tradeoffs. For instance, I can't really tell you off the top of my head what the difference is between a red-black tree and an AVL tree, but I know both exist and both are self-balancing, and so if I needed such a beast, I'd go look at both to see which fits better.
For most things, the actual data structure you use isn't as important as having the right abstractions. For example, do you care if your symbol table is a hash table or a balanced tree all that much, or yet some other structure? Not really. What you may care about is what the O() complexity is for insertions, deletions and lookups, so you can pick the implementation that best matches your usage pattern. And most of the time, you can just plop down an STL map and forget about it.:-)
The university library I have access to is about 30 miles from my office. And 'sides, work reimburses me for books I buy for work. In fact, my office at work is about 100 yards from where our corporate library used to be before they shut it down.
I can't really justify hopping in the car and driving across town because I forgot some esoteric aspect of C++ template instantiation, or wondered how a particular Boost template gets invoked. And sometimes paper is better than the web at these things.
Yeah, most of the time I don't feel like dragging a laptop in the john. I also just find PDFs painful for long reading sessions.
I don't really treat ANKOS as gospel for much of anything—I saw all the commentary in the days and months after it came out. But, I find the general reasoning and some of the findings with automata interesting from a non-expert's perspective. James Gleick's Chaos is another book I read with that level of engagement, some years ago, as well as Hawking's two books on time.
It's like the Discovery Channel's specials, only much more to the point and a little less watered down.
The reason I'm only ~333 pages into ANKOS is I only get a couple pages read in a, erm, sitting. If it's a really interesting bit, I'll stay there a little longer, or bring the book with me for a couple minutes.
There's an art to picking bathroom reading material, though. Areas of My Expertise is perfect for it, as it's structured like an almanac. War and Peace? Not so much.
Good point. When I first moved down to my new job, before my wife had graduated college, I'd spend a lot of time at B&N "renting" books for $3/cup at their coffee shop. (Typically these were $60 - $90 tomes from the engineering section.) Every so often, I'd actually buy one that seemed worthwhile. With B & N shops every couple miles, it's just too easy. I couldn't even tell you where the libraries are in that neighborhood. But I can tell you where the bookstores are.
In the end, I think I ended up better off than if I had gone to the library. Not only did I get my fill of lattes, but also I got to buy and keep the really good books, and what books they had were guaranteed to be up to date. I remember back in junior high and high school (and to a lesser extent, college) relying on interlibrary loans to get the occasional computer book that was less than 5 years old. That's a lifetime in this industry!
Don't get me wrong: As a broke high schooler, the library was a godsend. But once I got into my engineering career, there was no going back. I haven't been back to a public library since.
Easy: I buy reference books, not fiction.:-) I don't even read the whole thing once, but I do read many portions repeatedly, and it tends to be demand-driven random access. That said, I did read "Effective C++" pretty much linearly cover-to-cover when I got it, as well as "The Algorithm Design Manual." I'll still go back and reference bits randomly.
Aside from that, there's my, erm, "throne of learning" book set, which currently consists of "Areas of My Expertise" (which I did read cover to cover, and will probably re-read bits of for a muse), and "A New Kind of Science", which I'm about 1/3rd of the way through. ANKOS is big enough that I can't possibly read it as a borrowed book. And, it has pretty pictures... I'm sure I'll go back and borrow some of the automata to repurpose them. And as for having books in the john... I know I'm not alone.
So, I guess there's two rationales: Reference books get reused, and many people read books while in the bathroom. As for the former, it's nice to keep the book. As for the latter... wouldn't you like one that hasn't been in the bathroom yet?
Fair enough. Interestingly, I met my wife when I was working at the library (computer hotline), and had to take the library time sheet over to Computing Services in another building. So, I didn't meet her in the library, but I did meet her because I was working in the library. We're still together 12 years later.
As for going to the library to use the computers... I was doing that over 20 years ago! Who knew I'd be one of the trendsetters.
(Their Apple ][e kicked my TI-99/4A's arse. I still have those ProDOS 5.25" floppy disks, too. Verbatim: The elephant never forgets!)
Yeah it means something like 'great' or 'woo' (which it's probably historically related to).
That and its proximity to "root" made it popular among skript kiddiez back in the day. I remember hearing "w00t" in college, and that was, oh... way too long ago.
Never mind that it's spelled gigawatts, and that watts specifies a rate of consumption of energy (power), rather than amount of energy. You can't store gigawatts. You can only store gigawatt-hours (or other suitable unit that comes down to energy, as opposed to power).
Maybe the thought is that the C students still have a chance to get motivated, and need to be reached in a different way, since whatever they're currently doing doesn't work?
I haven't opened my spam folders in ages. I get maybe 1 spam leaking through in my Yahoo! inbox a day, and maybe 1 a month in GMail. Each account has about 700-800 spam in the spam folder with a 30 day autodelete. This means I'm getting about 50 spam/day. I can live with deleting one bogus email per day on avarage. 1 in 50 spam getting through? Not bad!
Are there false positives? Not that I've noticed in a long time. There might be, but the last few times I've deigned to wander through those swamps, I've found nothing of value.
That's not to say all spam filters are good. Yahoo! and Google seem to have done a stellar job. My email account at Global Crossing, though, which used d-spam, had a 27% false positive rate when I finally gave up on it. I just forwarded everything to Google instead.:-)
That isn't source code though, it's machine code. It's not surprising when a game cartridge includes the machine code. In fact, it's pretty much expected.;-) Yars' Revenge isn't even unique with regards to repurposing machine code as graphics patterns. Intellivision's B-17 Bomber does something similar for its "flak."
I remember we had to make a 1st and 2nd order differentiator for one of our first senior labs. Differentiators are annoying because their gain increases with frequency. Naturally, there was a bandwidth spec, and a phase angle spec at the endpoints of that bandwidth. What the wiley profs where expecting us to all go do is build low pass filters and learn how, say, the bizarre phase behavior of a Butterworth filter could really ruin our day.
My lab partner and I remembered learning about "gain-bandwidth product" and how it applied to good ol' 741 op-amps. Basically, what that says is the more gain you ask for out of an op-amp, the less bandwidth you get. Above that point, the frequency response falls off. Given our input and output impedance specs, we settled on a very simple differentiator design that consisted of two op amps separated by a simple RC differentiator. (Capacitor in series, resistor to ground.) We then set the gain on the two op-amp stages so that the end-to-end gain was the specified gain, but the first-stage gain was so high that the op-amp effectively band-limited the signal, thereby giving us our low-pass filter.
Needless to say, everyone was astounded that we had only 2 747's on our board (each 747 is the equivalent of two 741s), 10 resistors and only 2 capacitors, and we were fully in spec. Everyone else had at least twice as many op amps and all these silly 2-pole filters everywhere, and were having a hard time hitting spec. Oh, and we only took half the day.
Sadly, we got a C on that lab initially because our writeup sucked. We didn't adequately explain our design or how we achieved our results. (I think this may have been our first or second real lab in senior lab.) The professors were duly impressed though.:-) We were allowed to go back and amend our lab notebooks with more thorough documentation. (In fact, we were required to.) We subsequently got an A on the rewritten lab.
Right, but you can load coal onto a train sitting right there next to the mine and haul it up the road to the power plant for cheap. How does the He3 get back here? Even with your numbers, you're far from break-even even if you assume He3 recovery from the lunar is as cheap as is coal recovery, normalized per BTU, unless you mine a metric assload of He3 on each trip. And you haven't told us where all the deuterium comes from.
Now, if we put the power plants themselves on the moon and beamed the energy down via microwaves, we might have a chance, but there's a limit to how many watts we want to beam through the atmosphere. This also requires finding a cheap source of deuterium on the Moon as well.
Well, as an employee of the company, I am able to use my company's patents, within the scope of my employment. If I terminate my employment, though, does that patent grant persist once I leave the company? The company is no longer "conveying" the application to me.
How about outside contractors? We have contractors from many other companies working within our company, using our tools and our network and our file shares. They're permitted to work with our IP in ways outlined in our contracts and NDAs. What is the scope of the patent license there? If XYZ corp has a contractor on our network using GCC, does that grant XYZ corp access to our full patent portfolio for any use, or just patents that pertain to technologies in GCC? Or does the grant (regardless of the breadth of the grant) extend only to that contractor?
I can definitely see a need to either revise the wording, or publish a lawyer approved interpretation of the clause. The breadth of the coverage (patent licenses pertaining only to patents that the covered work may infringe upon) seems relatively clear, but the rest does not.
But of course! I think we just witnessed the invention of the ACME Portable Hole!
Wow, that's frightening. We had to write such a thing in our introductory data structures class. (The reason it was in that class was that we used it to make parse trees and to demonstrate how pre-order, in-order and post-order traversals yielded prefix (Polish), infix and postfix (Reverse Polish) forms of expressions.)
And I wasn't even a CS major. (BSEE)
--JoeI don't think it's even really important to know 5 different types of balanced trees intimately. It's more important to know the basics of a broad array of data structures and their tradeoffs, and that even for a specific type of data structure (balanced tree, in this case), that there are different types, each with their own tradeoffs. For instance, I can't really tell you off the top of my head what the difference is between a red-black tree and an AVL tree, but I know both exist and both are self-balancing, and so if I needed such a beast, I'd go look at both to see which fits better.
For most things, the actual data structure you use isn't as important as having the right abstractions. For example, do you care if your symbol table is a hash table or a balanced tree all that much, or yet some other structure? Not really. What you may care about is what the O() complexity is for insertions, deletions and lookups, so you can pick the implementation that best matches your usage pattern. And most of the time, you can just plop down an STL map and forget about it. :-)
The university library I have access to is about 30 miles from my office. And 'sides, work reimburses me for books I buy for work. In fact, my office at work is about 100 yards from where our corporate library used to be before they shut it down.
I can't really justify hopping in the car and driving across town because I forgot some esoteric aspect of C++ template instantiation, or wondered how a particular Boost template gets invoked. And sometimes paper is better than the web at these things.
--JoeYeah, most of the time I don't feel like dragging a laptop in the john. I also just find PDFs painful for long reading sessions.
I don't really treat ANKOS as gospel for much of anything—I saw all the commentary in the days and months after it came out. But, I find the general reasoning and some of the findings with automata interesting from a non-expert's perspective. James Gleick's Chaos is another book I read with that level of engagement, some years ago, as well as Hawking's two books on time.
It's like the Discovery Channel's specials, only much more to the point and a little less watered down.
--JoeNice try, but no.
The reason I'm only ~333 pages into ANKOS is I only get a couple pages read in a, erm, sitting. If it's a really interesting bit, I'll stay there a little longer, or bring the book with me for a couple minutes.
There's an art to picking bathroom reading material, though. Areas of My Expertise is perfect for it, as it's structured like an almanac. War and Peace? Not so much.
--JoeGood point. When I first moved down to my new job, before my wife had graduated college, I'd spend a lot of time at B&N "renting" books for $3/cup at their coffee shop. (Typically these were $60 - $90 tomes from the engineering section.) Every so often, I'd actually buy one that seemed worthwhile. With B & N shops every couple miles, it's just too easy. I couldn't even tell you where the libraries are in that neighborhood. But I can tell you where the bookstores are.
In the end, I think I ended up better off than if I had gone to the library. Not only did I get my fill of lattes, but also I got to buy and keep the really good books, and what books they had were guaranteed to be up to date. I remember back in junior high and high school (and to a lesser extent, college) relying on interlibrary loans to get the occasional computer book that was less than 5 years old. That's a lifetime in this industry!
Don't get me wrong: As a broke high schooler, the library was a godsend. But once I got into my engineering career, there was no going back. I haven't been back to a public library since.
--JoeEasy: I buy reference books, not fiction. :-) I don't even read the whole thing once, but I do read many portions repeatedly, and it tends to be demand-driven random access. That said, I did read "Effective C++" pretty much linearly cover-to-cover when I got it, as well as "The Algorithm Design Manual." I'll still go back and reference bits randomly.
Aside from that, there's my, erm, "throne of learning" book set, which currently consists of "Areas of My Expertise" (which I did read cover to cover, and will probably re-read bits of for a muse), and "A New Kind of Science", which I'm about 1/3rd of the way through. ANKOS is big enough that I can't possibly read it as a borrowed book. And, it has pretty pictures... I'm sure I'll go back and borrow some of the automata to repurpose them. And as for having books in the john... I know I'm not alone.
So, I guess there's two rationales: Reference books get reused, and many people read books while in the bathroom. As for the former, it's nice to keep the book. As for the latter... wouldn't you like one that hasn't been in the bathroom yet?
--JoeFair enough. Interestingly, I met my wife when I was working at the library (computer hotline), and had to take the library time sheet over to Computing Services in another building. So, I didn't meet her in the library, but I did meet her because I was working in the library. We're still together 12 years later.
As for going to the library to use the computers... I was doing that over 20 years ago! Who knew I'd be one of the trendsetters.
(Their Apple ][e kicked my TI-99/4A's arse. I still have those ProDOS 5.25" floppy disks, too. Verbatim: The elephant never forgets!)
--JoeThat and its proximity to "root" made it popular among skript kiddiez back in the day. I remember hearing "w00t" in college, and that was, oh... way too long ago.
Heh... Linux has been my desktop for 14 years now.
The last time? I haven't seen it used in a sentence for the first time. (Mentioning it by reference doesn't count.)
Never mind that it's spelled gigawatts, and that watts specifies a rate of consumption of energy (power), rather than amount of energy. You can't store gigawatts. You can only store gigawatt-hours (or other suitable unit that comes down to energy, as opposed to power).
:-)
You won't like my latest game then. Fortunately, there are enough people who do.
And here I thought you were talking about Sonic the Hedgehog games at first.
Maybe the thought is that the C students still have a chance to get motivated, and need to be reached in a different way, since whatever they're currently doing doesn't work?
I haven't opened my spam folders in ages. I get maybe 1 spam leaking through in my Yahoo! inbox a day, and maybe 1 a month in GMail. Each account has about 700-800 spam in the spam folder with a 30 day autodelete. This means I'm getting about 50 spam/day. I can live with deleting one bogus email per day on avarage. 1 in 50 spam getting through? Not bad!
Are there false positives? Not that I've noticed in a long time. There might be, but the last few times I've deigned to wander through those swamps, I've found nothing of value.
That's not to say all spam filters are good. Yahoo! and Google seem to have done a stellar job. My email account at Global Crossing, though, which used d-spam, had a 27% false positive rate when I finally gave up on it. I just forwarded everything to Google instead. :-)
--JoeWhich weighs more? A pound of uranium or a pound of feathers? :-)
That isn't source code though, it's machine code. It's not surprising when a game cartridge includes the machine code. In fact, it's pretty much expected. ;-) Yars' Revenge isn't even unique with regards to repurposing machine code as graphics patterns. Intellivision's B-17 Bomber does something similar for its "flak."
Consult Negativland for implementation details
(And remember, he was the voice of Shaggy in Scooby Doo, too...)
--JoeI remember we had to make a 1st and 2nd order differentiator for one of our first senior labs. Differentiators are annoying because their gain increases with frequency. Naturally, there was a bandwidth spec, and a phase angle spec at the endpoints of that bandwidth. What the wiley profs where expecting us to all go do is build low pass filters and learn how, say, the bizarre phase behavior of a Butterworth filter could really ruin our day.
My lab partner and I remembered learning about "gain-bandwidth product" and how it applied to good ol' 741 op-amps. Basically, what that says is the more gain you ask for out of an op-amp, the less bandwidth you get. Above that point, the frequency response falls off. Given our input and output impedance specs, we settled on a very simple differentiator design that consisted of two op amps separated by a simple RC differentiator. (Capacitor in series, resistor to ground.) We then set the gain on the two op-amp stages so that the end-to-end gain was the specified gain, but the first-stage gain was so high that the op-amp effectively band-limited the signal, thereby giving us our low-pass filter.
Needless to say, everyone was astounded that we had only 2 747's on our board (each 747 is the equivalent of two 741s), 10 resistors and only 2 capacitors, and we were fully in spec. Everyone else had at least twice as many op amps and all these silly 2-pole filters everywhere, and were having a hard time hitting spec. Oh, and we only took half the day.
Sadly, we got a C on that lab initially because our writeup sucked. We didn't adequately explain our design or how we achieved our results. (I think this may have been our first or second real lab in senior lab.) The professors were duly impressed though. :-) We were allowed to go back and amend our lab notebooks with more thorough documentation. (In fact, we were required to.) We subsequently got an A on the rewritten lab.
--JoePerhaps you missed the part where I both suggested that, and pointed out the primary shortcoming: You need deuterium too.
Right, but you can load coal onto a train sitting right there next to the mine and haul it up the road to the power plant for cheap. How does the He3 get back here? Even with your numbers, you're far from break-even even if you assume He3 recovery from the lunar is as cheap as is coal recovery, normalized per BTU, unless you mine a metric assload of He3 on each trip. And you haven't told us where all the deuterium comes from.
Now, if we put the power plants themselves on the moon and beamed the energy down via microwaves, we might have a chance, but there's a limit to how many watts we want to beam through the atmosphere. This also requires finding a cheap source of deuterium on the Moon as well.
Hell, save all the mining for the side of the moon none of us can see.
Well, as an employee of the company, I am able to use my company's patents, within the scope of my employment. If I terminate my employment, though, does that patent grant persist once I leave the company? The company is no longer "conveying" the application to me.
How about outside contractors? We have contractors from many other companies working within our company, using our tools and our network and our file shares. They're permitted to work with our IP in ways outlined in our contracts and NDAs. What is the scope of the patent license there? If XYZ corp has a contractor on our network using GCC, does that grant XYZ corp access to our full patent portfolio for any use, or just patents that pertain to technologies in GCC? Or does the grant (regardless of the breadth of the grant) extend only to that contractor?
I can definitely see a need to either revise the wording, or publish a lawyer approved interpretation of the clause. The breadth of the coverage (patent licenses pertaining only to patents that the covered work may infringe upon) seems relatively clear, but the rest does not.
--Joe