In grad school, you innovate and push the frontier.
You do that in a PhD program; the question was about a MS. Some masters students to research, but at least where I went to school (on the border of top-10 grad schools in CS) the masters students who do research outside of class were a minority.
Even when working on your PhD, there's a ton of learning about history that you won't have done in undergrad.
I'm probably the exception that proves the rule, but a while back I did actually send a pair of headphones in for repair. $30 instead of $100 replacement cost.
If by "computer science" you mean "programming", then Knuth's series is indispensable
I would not call that programming; there's waaaaay too much algorithm complexity analysis to fall into that camp.
A final text worth looking at is Michael Sipser's "Introduction to the Theory of Computation" (you can save some $$ by purchasing one of the older editions).
I said this elsewhere in the thread, but I'm not a fan of Sipser; I would easily go with Hopcroft, Motwani, and Ullman. The latter coverage is both broader and deeper than Sipser's, especially in the automaton/formal languages topic.
That's pretty much my impression too, especially in the formal languages part and doubly-especially for CFLs & PDAs. (In fairness, I think Sipser might give a better account of certain complexity topics; e.g. my Hopcroft doesn't seem to talk about logspace, which either Sipser does or my prof did not from a book.)
My guess is that the people who really like Sipser like it because they took a class that used it, they liked that class, and they haven't seen Hopcroft.:-)
I'm a PL person, so I'm biased, but I second both the Dragon Book as well as your choice of Automata Theory. Some additional notes:
The 1st edition Dragon Book can be picked up cheap. Don't. The second edition covers many more topics, and in addition the field of compiler optimization was more or less revolutionized by the invention of "SSA" form after the first edition was published.
That said, it's not the greatest book for the front end of the compiler, and maybe overall picture. "Engineering A Compiler" by Cooper and Torczon is a reasonable choice and is clearer and better organized on that front, but doesn't cover as much especially on the advanced side.
Hopcroft & Ullman has been superceeded by Hopcroft, Motwani, and Ullman, which I point out because the authors and names changed. A lot of people like Sipser's book: I think it's overrated, and much prefer Hopcroft. Sipser's treatment of CFLs for example is anemic.
To be fair, Hackintoshes show that there's no technical reason why OS X would be useful on computers other than a Mac. It's valid to point out that the licencing restrictions on OS X are still in play.
After 2.5 years and 41K miles my effective range is essentially unchanged from when the car was new.
That... is a pretty new car. The national average for driving miles is something a little shy of 15K/year (or ~35K/2.5 yr) so you're not driving much above average either.
And I could be wrong here, but I would expect the "wear" curve on a battery to be something like a logistic, meaning a small decay early on would be expected.
I don't spend a huge amount on maintenance so far, either -..., replacing the tires (the largest single expense, which you'd presumably still have),...
Of a gas car's scheduled maintenance, tires won't be your largest single expense -- the timing belt will. (Unless you're enough of a gearhead to do it yourself, which few are.)
Busses are a poor form of mass transit because they usually take the same roads that private cars do.
I wouldn't say that that necessarily makes them bad; they're still a pretty integral part. And at least IMO, the big thing between driving and bussing is that even if the latter is somewhat slower it can still enough of a better use of time that it can still be worth it -- you can read, work on a laptop, watch something on a tablet, etc. instead of having to actually drive.
As long as the bus isn't, I dunno, more than about twice as long as driving (the absolute difference matters too) then the time cost isn't innately prohibitive. The main question then becomes waiting time. For day jobs where you have a bit of flex time, you can schedule your arrival and departure to match the schedule and all's well; where it starts to get worse is if you're in a location that can't sustain very frequent trips (the "you don't need to memorize a schedule, the next train will come in a few moments" phenomenon) and you're doing shopping or something where you can't conveniently change your times. For a while I didn't have a car, and whenever I wanted to go to the grocery store for milk or something it was a 50 minute trip (10 min out, 10 min in store, 20 minutes waiting for return bus, 10 min back) instead of like a 20-25 minute drive.
"Additionally, depending upon your locale, the Leaf's charging costs may be close to zero; here in Silicon Valley it's very common for workplaces to provide free charging stations for electric cars. I am pretty sure that at least a dozen of my co-workers pay nothing for recharging since they just plug in at work and recharge there every day."
Yes, despite the fact that most cars have only 4-5 year warranties, they last for 10+ years, and people still buy them secondhand after they're long out of warranty. Why would the Leaf be any different?
I think it depends on how the warranty relates to the expected life. I don't think you can directly compare gas to electric cars on this point; there are a couple big differences.
People have decades of experience with gas cars and how much maintenance they need as they get older -- even though cars are much more reliable than they were then, it has changed gradually over time. We have a lot less (by which I really mean "almost no") direct experience with how batteries behave as they get older. Even if you think "well, I'd probably be getting an electric than gas", the uncertainty in that and the large cost of being wrong (a replacement battery pack would cost more than an entire replacement gas engine, and the latter can often be fixed; if you can install the engine yourself, the difference would be large) means that a lot of people would play it safe.
In addition to that, I think it's likely that Nissan is giving an "artificially long" warranty on the Leaf batteries specifically to assuage the fear about lifetime. What I mean by that is that the expected cost to Nissan of honoring the Leaf's battery warranties is probably higher than the expected cost to them of honoring their typical gas car warranties. That's great if you have the car during the warranty, but worse if you get it after the warranty is out.
According to a few sites easily found by Google, the average US person drives almost 15K miles/year(!). Let's be conservative and say 10K miles. Let's again (I strongly suspect) be conservative and say the average car gets 30 mpg, and gas is $3/gal. 10K miles/yr / 30 mi/gal * 3 $/gal = $1K/year in gas.
OK, so what about the Leaf? Well, here things get complicated. In some ways I'm making a best-case estimate because I'm assuming that all Leaf driving will be on battery, which would not likely be true. But I can't easily do better, so this is what you get. Besides, you'll see the difference is so stark that it'll hardly matter.
According to Wikipedia, the leaf uses about 34 kWh/100 miles; let's be conservative and say 30 kWh. Let's say the average electricity price in the use is 13 cents/kWh (EIA says 11.88 average). So we have 10K miles/year * 30/100 kwH/mile * 13/100 $/kWH = $400/year.
In other words, an electric will save you $600/year. So if you need a $5K battery replacement every 10 years, by those figures you'd still make out with the Leaf even if the maintenance costs were the same.
Yeah, but that's I think a much less important measure than the car's age, because to a large extent the expected maintenance cost is spread around among the different owners. So you don't have to plan to own the car for 10 years to suffer the hit.
Personally, I suspect this is by far the biggest reason why old cars are pretty cheap. I could spend $3K on a 10-year old car, but I'm not really spending $3K; I'm spending $3K + (maintenance-cost-of-old - maintenance-cost-of-new), and I'm only willing to get a car with higher maintenance costs because I'm paying the seller less. Sure, there are some people who need the new-fangled thing as you say, but a large minority (or even maybe a majority) would be fine driving an old car if the maintenance wasn't obnoxious. So the seller in some sense suffers some the maintenance costs that I incur after the sale. In the same way, if you choose to buy a leaf and sell it after a couple years, you're still suffering some of the expected battery replacement costs that won't happen for quite some time still.
It's like a house's roof. "Why bother, most people don't own houses for more than 15 years" isn't (or wouldn't be, if it's actually true:-)) a good argument against the claim "metal roofs are expensive long-term."
Now, all that said, what I wrote above is written as if the electric car will have a higher long-term cost because of the battery replacement. Whether this is true or not is far from certain.
Do you think maintenance costs don't exist for gas cars?
My current car is 12 years old, and I've had it for the past 7. In that time, repairs and maintenance that I've had to do that are arguably specific to gas engines have been (1) a routine timing belt change, (2) a corroded crankshaft position sensor plug, (3) spark plug replacements including helicoil installation, (4) two MIL diagnoses, (5) many oil changes, (6) because I got unlucky, fallout from a shredded timing belt resulting in a valve job. In addition, there is continuing fallout from #6 in the form of what is nearly certainly lifter tick, which has not yet been resolved. There may be a couple more. Someone elsewhere in the thread said a new battery pack would probably be in the vicinity of $5K now; courtesy of #6, I've probably paid in that ballpark in engine-specific repairs.
For someone who knows has the tools, knowledge, and opportunity to do their own work, that cost would be a lot less -- but that doesn't describe most people. The spark plug change was the only one that I almost had those requisite requirements to do myself.
If the drivetrain of electrics really is as low maintenance as people make it out to be, even at today's battery prices they wouldn't be much worse -- and there's a lot of room for improvement and reasons to think it will get better.
This is actually correct: the median car age in the US in 2011 (latest year mentioned in wikipedia) was 10.8 years. And the average age is going up, and electric cars will only make it go up more.
And before someone going on a rant saying that that's a brain dead thing to do, it's something that pretty much every compiler does when using the stack.
Um, no.
The compiler doesn't really generate code that expects local variables to persist across function returns, which would be the equivalent to what we're talking about here. The one possible exception I can think of is that you could sort of argue that ABIs where there's a red zone beneath the stack pointer fit your description, but I would dispute even that.
The way the allocator is "supposed to" behave -- like a LIFO -- is like the compiler's use of the stack. The use-after-free is not.
Well, there's the overall warmup process that takes 30 seconds or whatever, but what I'm talking about is just a momentary power draw (1/4 of a second or 1/2 a second) when the warmup process starts.
I have no idea if the readings are accurate for a momentary power draw, but I swear I saw it register a draw of almost a kilowatt for just one or two readings as it was turning on.
Mine started accordian jamming. Pulled out the rollers, roughened them up with some sandpaper (got that trick from Wikipedia), and it seems to be back in working order.
I have a few objections to that, as nice as it is for what it's trying to be.
The first is covered by the "Is there any kind of Âpresenter screen in Impressive?" FAQ. (Or more directly, the "No, and there is currently no proper way (or plans) to implement such a thing" answer.) There's sort of a half-assed workaround that gets some of the way there, but a half-assed workaround is still half-assed.
The second is that I don't think PDF is a good delivery medium for a lot of presentations. A lot of people (especially here) will decry things like fancy effects and animations, and when used without purpose they're distracting and obnoxious. However, they can also be used very well, to clarify relationships or show how a system transitions from state-to-state and stuff like that. I get the feeling that PDF is a bit more capable here than I give it credit for, but I still think it's pretty poor in comparison to something in the PPT/Impress/Keynote genre.
Third, it's only a viewer, which leaves open the question of what you author the PDFs in. The example slides are Beamer, and as much of a fan of Latex as I am for documents*, I think it's a pretty poor fit for most presentations. Partly this goes to my previous point, but I also think that presentations are a medium that minimizes most of Latex's strengths and maximizes its weaknesses.
(* Actually this is untrue. I hate Latex.:-) But like PPT, it stands out as being by far the best of a bad lot.)
Like you say, to each their own, but I think it's not for me.
Keynote is free now with Macs and iOS devices and free online for everyone.
Are you sure about that? I tried signing into iCloud with the credentials I use for iTunes, and it said "Your Apple ID must be used to set up iCloud on an OS X or iOS device before you can use iCloud.com."
Did I go to the wrong place? Or can I set up an account even if I don't own a machine?
it's easier to type "17 25 4 12" than "17 25 4 12" even ignoring row vs column-ness.
Let's try that again not making up new HTML tags:...it's easier to type "17 [enter] 25 [enter] 4 [enter] 12" than "17 [comma] 25 [comma] 4 [comma] 12" even ignoring row vs column-ness.
You do that in a PhD program; the question was about a MS. Some masters students to research, but at least where I went to school (on the border of top-10 grad schools in CS) the masters students who do research outside of class were a minority.
Even when working on your PhD, there's a ton of learning about history that you won't have done in undergrad.
I'm probably the exception that proves the rule, but a while back I did actually send a pair of headphones in for repair. $30 instead of $100 replacement cost.
I have an old HP Laserjet 4+ that's going after almost 20 years (and just passed 23,000 pages). :-)
I love this book. I think it would be amazingly fun to create a freshmen seminar class around.
I would not call that programming; there's waaaaay too much algorithm complexity analysis to fall into that camp.
I said this elsewhere in the thread, but I'm not a fan of Sipser; I would easily go with Hopcroft, Motwani, and Ullman. The latter coverage is both broader and deeper than Sipser's, especially in the automaton/formal languages topic.
That's pretty much my impression too, especially in the formal languages part and doubly-especially for CFLs & PDAs. (In fairness, I think Sipser might give a better account of certain complexity topics; e.g. my Hopcroft doesn't seem to talk about logspace, which either Sipser does or my prof did not from a book.)
My guess is that the people who really like Sipser like it because they took a class that used it, they liked that class, and they haven't seen Hopcroft. :-)
I'm a PL person, so I'm biased, but I second both the Dragon Book as well as your choice of Automata Theory. Some additional notes:
The 1st edition Dragon Book can be picked up cheap. Don't. The second edition covers many more topics, and in addition the field of compiler optimization was more or less revolutionized by the invention of "SSA" form after the first edition was published.
That said, it's not the greatest book for the front end of the compiler, and maybe overall picture. "Engineering A Compiler" by Cooper and Torczon is a reasonable choice and is clearer and better organized on that front, but doesn't cover as much especially on the advanced side.
Hopcroft & Ullman has been superceeded by Hopcroft, Motwani, and Ullman, which I point out because the authors and names changed. A lot of people like Sipser's book: I think it's overrated, and much prefer Hopcroft. Sipser's treatment of CFLs for example is anemic.
To be fair, Hackintoshes show that there's no technical reason why OS X would be useful on computers other than a Mac. It's valid to point out that the licencing restrictions on OS X are still in play.
That... is a pretty new car. The national average for driving miles is something a little shy of 15K/year (or ~35K/2.5 yr) so you're not driving much above average either.
And I could be wrong here, but I would expect the "wear" curve on a battery to be something like a logistic, meaning a small decay early on would be expected.
Of a gas car's scheduled maintenance, tires won't be your largest single expense -- the timing belt will. (Unless you're enough of a gearhead to do it yourself, which few are.)
I wouldn't say that that necessarily makes them bad; they're still a pretty integral part. And at least IMO, the big thing between driving and bussing is that even if the latter is somewhat slower it can still enough of a better use of time that it can still be worth it -- you can read, work on a laptop, watch something on a tablet, etc. instead of having to actually drive.
As long as the bus isn't, I dunno, more than about twice as long as driving (the absolute difference matters too) then the time cost isn't innately prohibitive. The main question then becomes waiting time. For day jobs where you have a bit of flex time, you can schedule your arrival and departure to match the schedule and all's well; where it starts to get worse is if you're in a location that can't sustain very frequent trips (the "you don't need to memorize a schedule, the next train will come in a few moments" phenomenon) and you're doing shopping or something where you can't conveniently change your times. For a while I didn't have a car, and whenever I wanted to go to the grocery store for milk or something it was a 50 minute trip (10 min out, 10 min in store, 20 minutes waiting for return bus, 10 min back) instead of like a 20-25 minute drive.
Not very good at reading, are you?
"Additionally, depending upon your locale, the Leaf's charging costs may be close to zero; here in Silicon Valley it's very common for workplaces to provide free charging stations for electric cars. I am pretty sure that at least a dozen of my co-workers pay nothing for recharging since they just plug in at work and recharge there every day."
I think it depends on how the warranty relates to the expected life. I don't think you can directly compare gas to electric cars on this point; there are a couple big differences.
People have decades of experience with gas cars and how much maintenance they need as they get older -- even though cars are much more reliable than they were then, it has changed gradually over time. We have a lot less (by which I really mean "almost no") direct experience with how batteries behave as they get older. Even if you think "well, I'd probably be getting an electric than gas", the uncertainty in that and the large cost of being wrong (a replacement battery pack would cost more than an entire replacement gas engine, and the latter can often be fixed; if you can install the engine yourself, the difference would be large) means that a lot of people would play it safe.
In addition to that, I think it's likely that Nissan is giving an "artificially long" warranty on the Leaf batteries specifically to assuage the fear about lifetime. What I mean by that is that the expected cost to Nissan of honoring the Leaf's battery warranties is probably higher than the expected cost to them of honoring their typical gas car warranties. That's great if you have the car during the warranty, but worse if you get it after the warranty is out.
Oh, and of course (7) gas.
According to a few sites easily found by Google, the average US person drives almost 15K miles/year(!). Let's be conservative and say 10K miles. Let's again (I strongly suspect) be conservative and say the average car gets 30 mpg, and gas is $3/gal. 10K miles/yr / 30 mi/gal * 3 $/gal = $1K/year in gas.
OK, so what about the Leaf? Well, here things get complicated. In some ways I'm making a best-case estimate because I'm assuming that all Leaf driving will be on battery, which would not likely be true. But I can't easily do better, so this is what you get. Besides, you'll see the difference is so stark that it'll hardly matter.
According to Wikipedia, the leaf uses about 34 kWh/100 miles; let's be conservative and say 30 kWh. Let's say the average electricity price in the use is 13 cents/kWh (EIA says 11.88 average). So we have 10K miles/year * 30/100 kwH/mile * 13/100 $/kWH = $400/year.
In other words, an electric will save you $600/year. So if you need a $5K battery replacement every 10 years, by those figures you'd still make out with the Leaf even if the maintenance costs were the same.
Yeah, but that's I think a much less important measure than the car's age, because to a large extent the expected maintenance cost is spread around among the different owners. So you don't have to plan to own the car for 10 years to suffer the hit.
Personally, I suspect this is by far the biggest reason why old cars are pretty cheap. I could spend $3K on a 10-year old car, but I'm not really spending $3K; I'm spending $3K + (maintenance-cost-of-old - maintenance-cost-of-new), and I'm only willing to get a car with higher maintenance costs because I'm paying the seller less. Sure, there are some people who need the new-fangled thing as you say, but a large minority (or even maybe a majority) would be fine driving an old car if the maintenance wasn't obnoxious. So the seller in some sense suffers some the maintenance costs that I incur after the sale. In the same way, if you choose to buy a leaf and sell it after a couple years, you're still suffering some of the expected battery replacement costs that won't happen for quite some time still.
It's like a house's roof. "Why bother, most people don't own houses for more than 15 years" isn't (or wouldn't be, if it's actually true :-)) a good argument against the claim "metal roofs are expensive long-term."
Now, all that said, what I wrote above is written as if the electric car will have a higher long-term cost because of the battery replacement. Whether this is true or not is far from certain.
Right, I know what I was thinking of -- a valve cover gasket replacement to stop oil from seeping into the spark plug tubes.
Though I re-added my figures, and it's a bit further from $5K than I thought. Still, it's not grossly less.
Do you think maintenance costs don't exist for gas cars?
My current car is 12 years old, and I've had it for the past 7. In that time, repairs and maintenance that I've had to do that are arguably specific to gas engines have been (1) a routine timing belt change, (2) a corroded crankshaft position sensor plug, (3) spark plug replacements including helicoil installation, (4) two MIL diagnoses, (5) many oil changes, (6) because I got unlucky, fallout from a shredded timing belt resulting in a valve job. In addition, there is continuing fallout from #6 in the form of what is nearly certainly lifter tick, which has not yet been resolved. There may be a couple more. Someone elsewhere in the thread said a new battery pack would probably be in the vicinity of $5K now; courtesy of #6, I've probably paid in that ballpark in engine-specific repairs.
For someone who knows has the tools, knowledge, and opportunity to do their own work, that cost would be a lot less -- but that doesn't describe most people. The spark plug change was the only one that I almost had those requisite requirements to do myself.
If the drivetrain of electrics really is as low maintenance as people make it out to be, even at today's battery prices they wouldn't be much worse -- and there's a lot of room for improvement and reasons to think it will get better.
This is actually correct: the median car age in the US in 2011 (latest year mentioned in wikipedia) was 10.8 years. And the average age is going up, and electric cars will only make it go up more.
and if they don't have something that is awkward, difficult, or impossible to take with them. And if the ride isn't prohibitively longer than driving.
Um, no.
The compiler doesn't really generate code that expects local variables to persist across function returns, which would be the equivalent to what we're talking about here. The one possible exception I can think of is that you could sort of argue that ABIs where there's a red zone beneath the stack pointer fit your description, but I would dispute even that.
The way the allocator is "supposed to" behave -- like a LIFO -- is like the compiler's use of the stack. The use-after-free is not.
Well, there's the overall warmup process that takes 30 seconds or whatever, but what I'm talking about is just a momentary power draw (1/4 of a second or 1/2 a second) when the warmup process starts.
I hooked my 4+ up to a Kill-A-Watt.
I have no idea if the readings are accurate for a momentary power draw, but I swear I saw it register a draw of almost a kilowatt for just one or two readings as it was turning on.
Mine started accordian jamming. Pulled out the rollers, roughened them up with some sandpaper (got that trick from Wikipedia), and it seems to be back in working order.
I have a few objections to that, as nice as it is for what it's trying to be.
The first is covered by the "Is there any kind of Âpresenter screen in Impressive?" FAQ. (Or more directly, the "No, and there is currently no proper way (or plans) to implement such a thing" answer.) There's sort of a half-assed workaround that gets some of the way there, but a half-assed workaround is still half-assed.
The second is that I don't think PDF is a good delivery medium for a lot of presentations. A lot of people (especially here) will decry things like fancy effects and animations, and when used without purpose they're distracting and obnoxious. However, they can also be used very well, to clarify relationships or show how a system transitions from state-to-state and stuff like that. I get the feeling that PDF is a bit more capable here than I give it credit for, but I still think it's pretty poor in comparison to something in the PPT/Impress/Keynote genre.
Third, it's only a viewer, which leaves open the question of what you author the PDFs in. The example slides are Beamer, and as much of a fan of Latex as I am for documents*, I think it's a pretty poor fit for most presentations. Partly this goes to my previous point, but I also think that presentations are a medium that minimizes most of Latex's strengths and maximizes its weaknesses.
(* Actually this is untrue. I hate Latex. :-) But like PPT, it stands out as being by far the best of a bad lot.)
Like you say, to each their own, but I think it's not for me.
Are you sure about that? I tried signing into iCloud with the credentials I use for iTunes, and it said "Your Apple ID must be used to set up iCloud on an OS X or iOS device before you can use iCloud.com."
Did I go to the wrong place? Or can I set up an account even if I don't own a machine?
Let's try that again not making up new HTML tags: ...it's easier to type "17 [enter] 25 [enter] 4 [enter] 12" than "17 [comma] 25 [comma] 4 [comma] 12" even ignoring row vs column-ness.