I have to question the blind assertion that this is the average user. Can one even establish a mean (or median) user on a number of different behavioral axes?
This is a common myth among users and developers alike. I regularly hear "the majority of people aren't going to do that," but it's as silly to base design decisions on what the supposed majority will do in one case as it is to claim to be representative of the "average user" with one system. The BBC uses such vagaries as "However, at least once an hour, on average...". Those are two orthogonal restrictions. If something happens at least once an hour, that is very different than something averaging once an hour. Which is it?
It's a fair concern, that putting an older XP installation on an open hole to the internet can be dangerous, but I'm not sure that it's something that the "average" user does. New-computer buyers default to the firewall being on (and annoying), and the last three broadband vendors that I used (DSL, then Cable, then DSL with a different provider) sent modems with built-in firewall/routers to use with their system. The last one sent an 802.11g router that defaulted to an open access point, but that's just another chapter in a long story of security vs. convenience.
The BBC could have used a more modern setup, but they wouldn't have been able to do their week-long series on how to protect against these dangers if they didn't encounter the manufactured dangers in the first place.
There's something to see here, but it's so childishly sensationalist that you should just move along...
Let's say I have a for loop. These are pretty common in code (obscenely common wouldn't be a gross overstatement).
for( ii = 0; ii < NumberOfElementsInBlah; ++ii) {
Blah.DoSomethingUniquetoThisElement(ii); }
So, let's make this work for multiple processors, scaling to the system that we're running on:
#pragma omp parallel {
#pragma omp for schedule(static)
for( ii = 0; ii < NumberOfElementsInBlah; ++ii)
{
Blah.DoSomethingUniquetoThisElement(ii);
}
}
What do you know?! We're done...
Now, of course, there are data dependency and variable interaction problems to handle (which OpenMP provides facilities for), but, if Blah.DoSomethingUniquetoThisElement() were actually your work, you'd be done with this code. It's really that easy.
In both cases, the code was building on a RAID 0 stripe of two drives. At least on my system, going to three drives made for a marginal improvement, and going to 4 did nothing (controller-bound for bandwidth).
We have a decently sized tree, and our build process builds orthogonal chunkcs of code in separately launched instances of nmake to improve performance. It's a simple approach to the problem, but it works well.
Oh, and the concern is blowing L2 cache for different image data on switches. We're talking about processing of two separate images (in memory). I'll try to dig up the code/numbers.
Maybe if you've got two CPU-bound processes, and you don't wind up running into bus bandwidth problems or memory contention issues, maybe you'll get almost the same performance, but I doubt it.
If you have the choice between switching between two threads doing data-stream processing (video processing, for instance) on a fast single-core or two half-speed dual-core procs, you can actually see better performance under some circumstances on the half-speed dual-core procs. Why? The scheduler is a general-purpose unit, not really written to optimally let one frame get processed entirely after the other. It has to work this way, because the illusion of responsiveness depends on some threads getting back to waiting in a timely manner, and the scheduler doesn't know which thread is which. This means that the two threads will switch back and forth on the single-proc machine, and you'll get cache eviction. This is far more important with modern prefetchers than the FSB or arithmetic performance (at least, for most of the image processing I do).
Obviously, the best solution is to have only one thread working at a time, coordinated to not contend for the resources of the processor, but we could be looking at two threads from separate processes. Coordinating these would be hard. This isn't just a hypothetical problem. I've done the legwork on this, writing the code, running profilers, timing execution, and working with optimization engineers processor vendors.
The rest of what you say is largely alright, but I'd encourage you to take a look at OpenMP (fork/join parallelism). Also, just building with nmake, switching from a 2p machine to a 4p machine (2.4GHz to 2.2GHz, even) cut my build time from 11 minutes to 7, and my computer is still usable for other tasks (like typing this message).
Would I want my MCE box to be 4p? Probably not, unless it meant that it ran at a lower clock/voltage and could pull off the same tasks while being passively cooled.
People focusing on parallelization will point to problems that are "embarassingly" parallelizable.
Let's assume that we have good memory behavior, or an interconnect like hypertransport or the as-yet-unseen CSI. Let's then look at something that can be broken into source and destination parts.
We'll go with image convolution.
So, we can break an HD image in to horizontal strips and work on them on separate cores, but we enjoy the cache locality of working on data within our range if we don't make our strips too small. Each thread working on an individual line in the image would be silly, as the overhead for the thread management would go up but cache coherency would go down.
Now, I brought this one up because I've actually worked on threading this very problem with OpenMP. Where does the knee of overthreading cost get really ugly on a four-core box when doing a 9x9 convolution? About 20 lines of HD material on my Woodcrest. That's 54 separate threads for HD material, if I feel so inclined. There's no reason to overthread so heavily, but it's doable without doing serious harm. If I had 54 cores actually doing the work, I'd have my image processing done in humorously short order.
Who would want that done by so many cores? Well, convolution isn't the only thing we do in our video editor, and I don't expect that it's the only thing that we will want to do in the future. I didn't even discuss task-level parallelism, but we have things like decoding multiple streams, pre-cooking expensive transitions, threading compression, etc. These things add up.
Other areas that come to mind just free-form typing? Speech recognition, data mining, global illumination, traditional shading, ray-tracing, weather prediction, matrix inversion...
Let's look at matrix inversion: Material science, physics, economics...
It's silly to go on. Being able to thread is hugely valuable to a large class of tasks. It opens up a lot of possibilities. Yes, it changes the way that you have to think about programming, but it's not wildly difficult to make the leap. I don't expect that everyone will be able to adjust (I've known plenty of decent programmers who couldn't reason through threading), but it's definitely coming. Hopefully we won't be wondering "aren't 200 cores 120 too many?"
We all have limited intellect, and how we choose to address the limits of our abilities is where I have a problem with Yau's behavior. I don't think that he's some sort of math pretender in the general sense. He definitely has serious mathematical chops, but what he's done when his considerable (but, yes, limited) intellect has come up short is over-inflate his contributions, or those of his students or colleagues, and fail to credit others appropriately. It's not about who you believe. This is information on the face of his behavior and on his own writings. It's definitely not unique to him, but that doesn't make it any better. We shouldn't give Yau a pass for ugly behavior because of the race card.
Posting behind AC and saying that the New Yorker article is my only source of information when I've been following geometrization off and on for the last ten years is just silly. There's no merit in being counter to the prevailing sentiment when the prevailing sentiment stands so much in the right.
I had a professor tell me once after I'd been a hot-head: "The thing you need to learn is that absolutely every endeavor is political." It took several years, and plenty of hot-headed exchanges, for the weight of that to sink in, but he was right. Maybe Yau just needs to learn to be more subtle.
This isn't the first time that he's used failure to understand portions of proofs to piggyback on others by collaborating to fill non-holes in proofs.
Part of this is due to the obscenely political state of modern mathematics. Part of it is the silly amount of credit given to people willing to do the grunt work of filling out proofs, even though it's important. Still, a great deal of this has to be put on Yau and his strong-arm, slap-dash tactics. It doesn't help that the accusation of the portrayal of a racial stereotype is contained within fulfillment of the accused behavior, but Nasar never said that Chinese mathematicians are dirty, cheating bastards. She said that Yau is.
Yau's press-release shows how much he believes he represents Chinese mathematics. A statement disparaging Yau does the same for Chinese mathematicians?
Please.
There's nothing racial about someone spending the latter half of his life manipulating a broken system when his actual intellect is insufficient.
So, I know that doesn't say much. Here's the gist of it:
- A couple of wires that are positively charged charge the air and the particles in the air. - A couple of plates that come after the wires and are negatively charged pull on the positively charged air and the particulate waste in the air. - The air goes whizzing by (inertia, pressure, etc.), and the particles get stuck on the plates.
That last step is where the problem will be for a computer application. These guys get covered in fuzzy, nasty, dust, and that dust makes the blades less effective. Be prepared to clean your fan replacement at least once a week.
Except I already have a computer with a pretty hoppin' graphics card for graphics work.
If I were looking at buying a computer for just gaming, yeah, I'd probably go with a console first, but what's the problem with having both?
What job-having tech-nerds don't have several piles of old computers and old consoles taking up space in the basement or spare bedroom?
Just about every working geek I know can go "Okay, so I've had: A Colecovision, a 2600, Master System, Genesis, SNES, Game gear, Playstation, N64, Dreamcast, PS2" (my list) and then turn around and say "And, for computers, I've had a C64, 286, A500, 386, A1200, DX4/75 (remember those?), P75, p133, pII 266, NeXTStation Turbo, p3-450, etc..." (my computer list goes crazy after that). I've played games on every one of the systems I've owned except for my iMac and Powerbook. Anyone who sticks to only one platform is limiting himself.
It's like someone who insists on only eating boiled food.
Does anyone like their HR department? There has to be someone somewhere who is cool with HR in hiring and benefits handling.
Some seem to be cool with the people involved but not with the process. I certainly hope that some have found a fair balance of off-loading responsibility and keeping control over important decisions. Once HR becomes anything other than a transparent helper of the employment process, in my experience, it's generally a nuisance.
My employer does this, but I think they're just looking for someone with enough debt to want to rob the company. It doesn't come in to play in our thumbs-up/thumbs-down decision in engineering to hire someone (the final word). Still, some of the best programmers I've known must have terrible credit (never paying bills on time, etc), because one of the key traits shared by all of these programmers is the ability to focus on one thing to the detriment of all else.
Let HR departments keep doing stuff like this and you'll see more and more "for immediate consideration, please send your resume to this address" where the address in question is not someone in HR.
It's long since time that we returned the task of deciding on competence to competent people.
Do you want some pack in HDMI cable or one that fits your setup? The reality is that you have to cut the cost of goods in the box to meet a cost target, and you cut the things that most people won't use first.
Or if you want a digital HD signal going from your console to your display device. Considering that the display will take an analog signal and digitize it, an all-digital path is better.
Still, if you have a home theater setup, would a supplied 6-foot cable be enough? How about 3-foot, or should we push to 8? You can see where you'd be wasting a lot of people's money by including a cable that the vast majority can't use. Even if it would fit your system, you'd be in the minority for having HDMI. Yes, it's a $600 system, but I don't see people beefing when their DVI laptops don't come with DVI cables.
I don't need statistics to know that Thinkpads are used in a higher proportion than Vaios by business users. I also don't need statistics to know that ultimate frisbee players are generally less aggressively competitive (probably because they smoke pot) than football players. It's sufficient for someone to say "in my experience" and move on. The poster wasn't characterizing you personally. He was making a collective (and relative) judgement about a group of people with which we all have experience. If you can't smell the elitism in the community of coffee-house art-hipster Mac users, then you probably couldn't detect the elitism of Amiga users, or NeXT users.
I've been part of them all, by the way. I went to the Commodore Amiga user group that met every other Tuesday when I had my Amigas, had a NeXTstation Turbo, and have a Powerbook and iMac. In every case, the percentage of elitist users among the user-base that I interacted with was higher than Wintel users. I don't have to quantify it to be able to make a judgement about it. It could be because these platforms had more enthusiastic users, more willing to jump in to something not in the mainstream, but I tend to think that it's the inverse of Amiga Persecution Complex. Instead of thinking that there is some large conspiracy against the platform, this tone of elitism helps to rationalize the lack of success that the platform sees.
"Those people just aren't cool enough for my platform of choice."
The obvious intent of the Apple ads is to play on the characteristics of the users of the machines, and I think they're very effective ads. Do you really view that shiny new MacBook (which looks arguably more cleanly designed than any other notebook available) as a converse-and-sweatshirt-wearing slacker? Really?
This view of the Mac as a smarter, cooler, computer is probably helping sales, so don't worry about it. If you're not a jerk, just use your computer and continue not being a jerk.
I had my Integra Type R stolen out of my driveway while I was gone for the night. It was found two days later (minus the engine, suspension, brakes, and interior). The person from State Farm handling the claim clearly thought that I was somehow involved in the vehicle's disapearance, and it took more than two months for me to get a check (while I was still making payments on the car). It turns out that my rental coverage stopped after one month, leaving me soaking the expense while the guy from State Farm drooled on himself.
The steering-wheel lock had been forced, but that wasn't enough. They had to be sure that I wasn't involved before they'd pay me for the car. The immobilizer functions are either tied to the ECU or inline on the way to the ECU. The guys at Sport Compact Car know more about this, and have said that it is laughably easy to just pop in and take the car. For those who want to take a look, I think the ECU is under the passenger-side floorboard.
A neighbor of mine (who also had a yellow Type R) had his car stolen from a mall parking lot while security guards watched. They later told him that the thieves drove up, slim-jimmed the door to get in, popped in an ECU, and drove off in under two minutes.
It's worth noting that I'm normally quite happy with State Farm. I totalled a car on my own, and my wife was driving when we got hit by an uninsured (and drunk, and high, and without a license, and with a warrant out for his arrest, with a cop watching... Seriously, not a joke...) driver, totalling her car. In each case, things were handled quickly, without issue. It likely comes down to the individual handling your claim.
I agree, in principle, with your third point, but do you know what effect this is going to have on slashdot readers? Personally, I'm going to carry my digital SLR with me just to snap photos of police officers in areas where I expect this to happen. Bonus points if they damage my equipment in the act, making an easier entry to a civil suit.
This is a fight that we can take to the streets by exercising our rights. If someone has the incident report (from which we can pull the offending officers' names), let's get some Philly flash mobs to photograph these officers in action. Just make sure to keep your distance and avoid harassing any officers. Oh, and be ready to be arrested. The sort of police officers who do this sort of thing are scared children looking for a place to exert power.
My apologies to those who modded the parent of the parent up, but you're all wrong.
First off, that's not what these people are claiming.
Secondly, if the turbine alone were enough to cause condensation, and were all that was required for operation, these guys would be violating the second law of thermodynamics.
But you did read that last paragraph, right? I don't think I exemplify anything other than an unreasonable emotional attachment to my product that allows me to be taken advantage of.
I essentially said that, if you kick things out the door through lots of late nights, people will come to know you as someone who finishes well. Then they'll give you more work to do. I didn't say this was good. There generally aren't performance bonuses (unless they've been agreed to before), large amounts of comp time, or cool perks awaiting those who completely bust themselves to get something done.
If you love the product and the work, that can be a reason to do it, but don't do it because you think it will get you much more than a "sucker" stamp on your forehead. It won't.
Learning to use copy/paste doesn't mean "use copy and paste for everything you do." Don't confuse the two.
Copy and paste come in handy when you're refactoring a function call, building a table of similarly named elements, or propogating a new flag/variable. It can be a serious time-saver. Ctrl+Shift+(left or right) to select, Ctrl+V, or double-click, Ctrl+V.
I'm not saying that copying huge chunks of code is a good idea. That ends up costing you more time. I'm saying that typing things out fully when you could use copy/paste can be a time saver. It's also worth mentioning that learning little shortcuts in your environment may not save you time overall, but it can make you faster when you need it. Spend slow times getting to know your workspace.
Yes... I'm still at work.
One last note would be that, when it comes down to it and you just have to kill yourself to get something out the door, you shouldn't expect any huge pats on the back for it. If you grind hard, you generally won't be the last guy holding up the show. Do this for a few revisions, and people will come to think of you as a closer. I don't know if this really helps in any way. I think it generally just means that you get more work to do...
Reading slashdot during build-times is the only reason that I'm still here at 1am, working on an app in crunch time.
I think that the most important thing to do when a project is on an insane schedule is realize that you aren't super-human and pace yourself. If you don't, and crunch hard nights or extra-long 50-hour sessions, you'll spend the next few days with a fried brain and a complete inability to make use of your time.
If you're normally a 9-5 guy, pull 10 hour days. If you're normally longer, possibly consider working longer, but notice when you've started lagging because of fatigue.
Other things:
Take walks. Get out, get blood flowing, and rest your eyes. Don't stop to talk to people on your walks, because you'll smoke hours talking about nothing (like postings on slashdot).
If you're angry, or burned out, take a day. You can spend entire weeks in a funk if you can't get yourself out of it. It doesn't help you, and it doesn't help your team. If your boss can't make sense of needing to pull away so you can be more effective, try and find another job.
Be reasonable about moving targets. There's no benefit to throwing a fit when your boss changes dates/requirements on you, but let him/her know what it's going to cost in time or other features. Be quick about this. Don't stew about it and let the feature-spec gel before you're quick to pull the "we have to cut..." card.
Big design up front: Don't do something three times because you weren't sure how you were going to do it in the first place.
Less design up front: Don't overdesign something because you're so hung up on not doing it twice. You might have to code it twice, or three times. Get dirty in the code long before you've started sweating details that don't matter. If you're solid, this stuff will just flow out naturally.
Learn to use copy and paste, along with other tricks to save yourself grunt-work time. It amazes me to no end how much time I see some programmers spend on writing code. On the same note, learn to type quickly. I've known some great programmers who were hunt-and-peck two-finger typists, and those are the same ones who generally pulled super all-nighters typing at 20 wpm.
We disable the message service (because of broadcast messages), and we consider it extremely bad behavior in our shop to send people these sorts of messages. If you need to chat with someone, email them, use IM (if available), or just walk down the hall...
This is one problem I have with the current mindset.
Why is it that the truth is in the middle between two seemingly extreme viewpoints? Why wasn't there facilitation of 9/11 by the Bush administration? There are a lot of unnervingly unanswered questions. Why wasn't Saddam responsible?
Okay... Sorry... That's just stupid.
Still, my point is that the middle between two opposed viewpoints shouldn't be where we assume the truth lies. It just allows someone who is willing to say or do anything shift the frame of assumption away from what may very well be the truth. Most of us will never know the truth about most things, so let's not let a few people skew the collective perception through deception.
Now, your larger point, that we should have a serious investigation, is something that I'd like to see coming from more people. It's a rather obvious point, once stated, but one that we don't make nearly enough noise for.
I thought about submitting, but actual work got in the way.
I'm glad I skipped it, because, having looked at some of the other designs, this is one of the more poorly crafted re-designs. I would have just been livid at being waxed by a look that, as far as I can tell, only has the gimmick of collapsable headers going for it.
The unfinished corners, blocks of grey, text floating in a sea of white, and gradient backgrounds all conspire to build a turn-of-the-century look. Slashdot will now go from a mid-90's look to an early 2000's look.
Great.
At least the runner up used borders for story postings. $250 for having a clearly better design has to sting a bit.
A small bug list can just indicate poor testing or poor reporting. While you don't want major bugs to be in the bug list in high numbers, a bug list should contain all of the minor quibbles that cropped up during extensive testing.
A small bug list proves very little.
We used to hold our products for two weeks at a bug count of zero. Any new bug would reset the count. Then we staffed up our QA team. This practice became impossible. Our known bug list went from zero bugs to hundreds deferred in the next version, but our quality improved.
And here's (video, wmv) a video of me kicking over a box right before another copy of me walks in front of the first and picks the box up.
I made it in about 20 minutes. They've had five years. I'm definitely not saying that the video is faked. I'm just saying that the conspiracy theorists will just look at this as a feeble attempt to fight back a tide of question-worthy evidence.
They might be right, or they might not. I'll be surprised if we ever get solid evidence one way or another. If I had the really good tape of the hit locked up in the Pentagon, I'd just hang on to it to mess with people.
I have to question the blind assertion that this is the average user. Can one even establish a mean (or median) user on a number of different behavioral axes?
This is a common myth among users and developers alike. I regularly hear "the majority of people aren't going to do that," but it's as silly to base design decisions on what the supposed majority will do in one case as it is to claim to be representative of the "average user" with one system. The BBC uses such vagaries as "However, at least once an hour, on average...". Those are two orthogonal restrictions. If something happens at least once an hour, that is very different than something averaging once an hour. Which is it?
It's a fair concern, that putting an older XP installation on an open hole to the internet can be dangerous, but I'm not sure that it's something that the "average" user does. New-computer buyers default to the firewall being on (and annoying), and the last three broadband vendors that I used (DSL, then Cable, then DSL with a different provider) sent modems with built-in firewall/routers to use with their system. The last one sent an 802.11g router that defaulted to an open access point, but that's just another chapter in a long story of security vs. convenience.
The BBC could have used a more modern setup, but they wouldn't have been able to do their week-long series on how to protect against these dangers if they didn't encounter the manufactured dangers in the first place.
There's something to see here, but it's so childishly sensationalist that you should just move along...
Now, of course, there are data dependency and variable interaction problems to handle (which OpenMP provides facilities for), but, if Blah.DoSomethingUniquetoThisElement() were actually your work, you'd be done with this code. It's really that easy.
In both cases, the code was building on a RAID 0 stripe of two drives. At least on my system, going to three drives made for a marginal improvement, and going to 4 did nothing (controller-bound for bandwidth).
We have a decently sized tree, and our build process builds orthogonal chunkcs of code in separately launched instances of nmake to improve performance. It's a simple approach to the problem, but it works well.
Oh, and the concern is blowing L2 cache for different image data on switches. We're talking about processing of two separate images (in memory). I'll try to dig up the code/numbers.
Maybe if you've got two CPU-bound processes, and you don't wind up running into bus bandwidth problems or memory contention issues, maybe you'll get almost the same performance, but I doubt it.
If you have the choice between switching between two threads doing data-stream processing (video processing, for instance) on a fast single-core or two half-speed dual-core procs, you can actually see better performance under some circumstances on the half-speed dual-core procs. Why? The scheduler is a general-purpose unit, not really written to optimally let one frame get processed entirely after the other. It has to work this way, because the illusion of responsiveness depends on some threads getting back to waiting in a timely manner, and the scheduler doesn't know which thread is which. This means that the two threads will switch back and forth on the single-proc machine, and you'll get cache eviction. This is far more important with modern prefetchers than the FSB or arithmetic performance (at least, for most of the image processing I do).
Obviously, the best solution is to have only one thread working at a time, coordinated to not contend for the resources of the processor, but we could be looking at two threads from separate processes. Coordinating these would be hard. This isn't just a hypothetical problem. I've done the legwork on this, writing the code, running profilers, timing execution, and working with optimization engineers processor vendors.
The rest of what you say is largely alright, but I'd encourage you to take a look at OpenMP (fork/join parallelism). Also, just building with nmake, switching from a 2p machine to a 4p machine (2.4GHz to 2.2GHz, even) cut my build time from 11 minutes to 7, and my computer is still usable for other tasks (like typing this message).
Would I want my MCE box to be 4p? Probably not, unless it meant that it ran at a lower clock/voltage and could pull off the same tasks while being passively cooled.
People focusing on parallelization will point to problems that are "embarassingly" parallelizable.
Let's assume that we have good memory behavior, or an interconnect like hypertransport or the as-yet-unseen CSI. Let's then look at something that can be broken into source and destination parts.
We'll go with image convolution.
So, we can break an HD image in to horizontal strips and work on them on separate cores, but we enjoy the cache locality of working on data within our range if we don't make our strips too small. Each thread working on an individual line in the image would be silly, as the overhead for the thread management would go up but cache coherency would go down.
Now, I brought this one up because I've actually worked on threading this very problem with OpenMP. Where does the knee of overthreading cost get really ugly on a four-core box when doing a 9x9 convolution? About 20 lines of HD material on my Woodcrest. That's 54 separate threads for HD material, if I feel so inclined. There's no reason to overthread so heavily, but it's doable without doing serious harm. If I had 54 cores actually doing the work, I'd have my image processing done in humorously short order.
Who would want that done by so many cores? Well, convolution isn't the only thing we do in our video editor, and I don't expect that it's the only thing that we will want to do in the future. I didn't even discuss task-level parallelism, but we have things like decoding multiple streams, pre-cooking expensive transitions, threading compression, etc. These things add up.
Other areas that come to mind just free-form typing?
Speech recognition, data mining, global illumination, traditional shading, ray-tracing, weather prediction, matrix inversion...
Let's look at matrix inversion:
Material science, physics, economics...
It's silly to go on. Being able to thread is hugely valuable to a large class of tasks. It opens up a lot of possibilities. Yes, it changes the way that you have to think about programming, but it's not wildly difficult to make the leap. I don't expect that everyone will be able to adjust (I've known plenty of decent programmers who couldn't reason through threading), but it's definitely coming. Hopefully we won't be wondering "aren't 200 cores 120 too many?"
We all have limited intellect, and how we choose to address the limits of our abilities is where I have a problem with Yau's behavior. I don't think that he's some sort of math pretender in the general sense. He definitely has serious mathematical chops, but what he's done when his considerable (but, yes, limited) intellect has come up short is over-inflate his contributions, or those of his students or colleagues, and fail to credit others appropriately. It's not about who you believe. This is information on the face of his behavior and on his own writings. It's definitely not unique to him, but that doesn't make it any better. We shouldn't give Yau a pass for ugly behavior because of the race card.
Posting behind AC and saying that the New Yorker article is my only source of information when I've been following geometrization off and on for the last ten years is just silly. There's no merit in being counter to the prevailing sentiment when the prevailing sentiment stands so much in the right.
I had a professor tell me once after I'd been a hot-head: "The thing you need to learn is that absolutely every endeavor is political." It took several years, and plenty of hot-headed exchanges, for the weight of that to sink in, but he was right. Maybe Yau just needs to learn to be more subtle.
This isn't the first time that he's used failure to understand portions of proofs to piggyback on others by collaborating to fill non-holes in proofs.
Part of this is due to the obscenely political state of modern mathematics. Part of it is the silly amount of credit given to people willing to do the grunt work of filling out proofs, even though it's important. Still, a great deal of this has to be put on Yau and his strong-arm, slap-dash tactics. It doesn't help that the accusation of the portrayal of a racial stereotype is contained within fulfillment of the accused behavior, but Nasar never said that Chinese mathematicians are dirty, cheating bastards. She said that Yau is.
Yau's press-release shows how much he believes he represents Chinese mathematics. A statement disparaging Yau does the same for Chinese mathematicians?
Please.
There's nothing racial about someone spending the latter half of his life manipulating a broken system when his actual intellect is insufficient.
So, I know that doesn't say much. Here's the gist of it:
- A couple of wires that are positively charged charge the air and the particles in the air.
- A couple of plates that come after the wires and are negatively charged pull on the positively charged air and the particulate waste in the air.
- The air goes whizzing by (inertia, pressure, etc.), and the particles get stuck on the plates.
That last step is where the problem will be for a computer application. These guys get covered in fuzzy, nasty, dust, and that dust makes the blades less effective. Be prepared to clean your fan replacement at least once a week.
No thanks.
Except I already have a computer with a pretty hoppin' graphics card for graphics work.
If I were looking at buying a computer for just gaming , yeah, I'd probably go with a console first, but what's the problem with having both?
What job-having tech-nerds don't have several piles of old computers and old consoles taking up space in the basement or spare bedroom?
Just about every working geek I know can go "Okay, so I've had: A Colecovision, a 2600, Master System, Genesis, SNES, Game gear, Playstation, N64, Dreamcast, PS2" (my list) and then turn around and say "And, for computers, I've had a C64, 286, A500, 386, A1200, DX4/75 (remember those?), P75, p133, pII 266, NeXTStation Turbo, p3-450, etc..." (my computer list goes crazy after that). I've played games on every one of the systems I've owned except for my iMac and Powerbook. Anyone who sticks to only one platform is limiting himself.
It's like someone who insists on only eating boiled food.
Does anyone like their HR department? There has to be someone somewhere who is cool with HR in hiring and benefits handling.
Some seem to be cool with the people involved but not with the process. I certainly hope that some have found a fair balance of off-loading responsibility and keeping control over important decisions. Once HR becomes anything other than a transparent helper of the employment process, in my experience, it's generally a nuisance.
My employer does this, but I think they're just looking for someone with enough debt to want to rob the company. It doesn't come in to play in our thumbs-up/thumbs-down decision in engineering to hire someone (the final word). Still, some of the best programmers I've known must have terrible credit (never paying bills on time, etc), because one of the key traits shared by all of these programmers is the ability to focus on one thing to the detriment of all else.
Let HR departments keep doing stuff like this and you'll see more and more "for immediate consideration, please send your resume to this address" where the address in question is not someone in HR.
It's long since time that we returned the task of deciding on competence to competent people.
Do you want some pack in HDMI cable or one that fits your setup? The reality is that you have to cut the cost of goods in the box to meet a cost target, and you cut the things that most people won't use first.
Or if you want a digital HD signal going from your console to your display device. Considering that the display will take an analog signal and digitize it, an all-digital path is better.
Still, if you have a home theater setup, would a supplied 6-foot cable be enough? How about 3-foot, or should we push to 8? You can see where you'd be wasting a lot of people's money by including a cable that the vast majority can't use. Even if it would fit your system, you'd be in the minority for having HDMI. Yes, it's a $600 system, but I don't see people beefing when their DVI laptops don't come with DVI cables.
This is just non-story Sony-ragging.
I don't need statistics to know that Thinkpads are used in a higher proportion than Vaios by business users. I also don't need statistics to know that ultimate frisbee players are generally less aggressively competitive (probably because they smoke pot) than football players. It's sufficient for someone to say "in my experience" and move on. The poster wasn't characterizing you personally. He was making a collective (and relative) judgement about a group of people with which we all have experience. If you can't smell the elitism in the community of coffee-house art-hipster Mac users, then you probably couldn't detect the elitism of Amiga users, or NeXT users.
I've been part of them all, by the way. I went to the Commodore Amiga user group that met every other Tuesday when I had my Amigas, had a NeXTstation Turbo, and have a Powerbook and iMac. In every case, the percentage of elitist users among the user-base that I interacted with was higher than Wintel users. I don't have to quantify it to be able to make a judgement about it. It could be because these platforms had more enthusiastic users, more willing to jump in to something not in the mainstream, but I tend to think that it's the inverse of Amiga Persecution Complex. Instead of thinking that there is some large conspiracy against the platform, this tone of elitism helps to rationalize the lack of success that the platform sees.
"Those people just aren't cool enough for my platform of choice."
The obvious intent of the Apple ads is to play on the characteristics of the users of the machines, and I think they're very effective ads. Do you really view that shiny new MacBook (which looks arguably more cleanly designed than any other notebook available) as a converse-and-sweatshirt-wearing slacker? Really?
This view of the Mac as a smarter, cooler, computer is probably helping sales, so don't worry about it. If you're not a jerk, just use your computer and continue not being a jerk.
I had my Integra Type R stolen out of my driveway while I was gone for the night. It was found two days later (minus the engine, suspension, brakes, and interior). The person from State Farm handling the claim clearly thought that I was somehow involved in the vehicle's disapearance, and it took more than two months for me to get a check (while I was still making payments on the car). It turns out that my rental coverage stopped after one month, leaving me soaking the expense while the guy from State Farm drooled on himself.
The steering-wheel lock had been forced, but that wasn't enough. They had to be sure that I wasn't involved before they'd pay me for the car. The immobilizer functions are either tied to the ECU or inline on the way to the ECU. The guys at Sport Compact Car know more about this, and have said that it is laughably easy to just pop in and take the car. For those who want to take a look, I think the ECU is under the passenger-side floorboard.
A neighbor of mine (who also had a yellow Type R) had his car stolen from a mall parking lot while security guards watched. They later told him that the thieves drove up, slim-jimmed the door to get in, popped in an ECU, and drove off in under two minutes.
It's worth noting that I'm normally quite happy with State Farm. I totalled a car on my own, and my wife was driving when we got hit by an uninsured (and drunk, and high, and without a license, and with a warrant out for his arrest, with a cop watching... Seriously, not a joke...) driver, totalling her car. In each case, things were handled quickly, without issue. It likely comes down to the individual handling your claim.
I agree, in principle, with your third point, but do you know what effect this is going to have on slashdot readers? Personally, I'm going to carry my digital SLR with me just to snap photos of police officers in areas where I expect this to happen. Bonus points if they damage my equipment in the act, making an easier entry to a civil suit.
This is a fight that we can take to the streets by exercising our rights. If someone has the incident report (from which we can pull the offending officers' names), let's get some Philly flash mobs to photograph these officers in action. Just make sure to keep your distance and avoid harassing any officers. Oh, and be ready to be arrested. The sort of police officers who do this sort of thing are scared children looking for a place to exert power.
My apologies to those who modded the parent of the parent up, but you're all wrong.
First off, that's not what these people are claiming.
Secondly, if the turbine alone were enough to cause condensation, and were all that was required for operation, these guys would be violating the second law of thermodynamics.
Take a read.
But you did read that last paragraph, right? I don't think I exemplify anything other than an unreasonable emotional attachment to my product that allows me to be taken advantage of.
I essentially said that, if you kick things out the door through lots of late nights, people will come to know you as someone who finishes well. Then they'll give you more work to do. I didn't say this was good. There generally aren't performance bonuses (unless they've been agreed to before), large amounts of comp time, or cool perks awaiting those who completely bust themselves to get something done.
If you love the product and the work, that can be a reason to do it, but don't do it because you think it will get you much more than a "sucker" stamp on your forehead. It won't.
Learning to use copy/paste doesn't mean "use copy and paste for everything you do." Don't confuse the two.
Copy and paste come in handy when you're refactoring a function call, building a table of similarly named elements, or propogating a new flag/variable. It can be a serious time-saver. Ctrl+Shift+(left or right) to select, Ctrl+V, or double-click, Ctrl+V.
I'm not saying that copying huge chunks of code is a good idea. That ends up costing you more time. I'm saying that typing things out fully when you could use copy/paste can be a time saver. It's also worth mentioning that learning little shortcuts in your environment may not save you time overall, but it can make you faster when you need it. Spend slow times getting to know your workspace.
Yes... I'm still at work.
One last note would be that, when it comes down to it and you just have to kill yourself to get something out the door, you shouldn't expect any huge pats on the back for it. If you grind hard, you generally won't be the last guy holding up the show. Do this for a few revisions, and people will come to think of you as a closer. I don't know if this really helps in any way. I think it generally just means that you get more work to do...
Back to the grind...
I think that the most important thing to do when a project is on an insane schedule is realize that you aren't super-human and pace yourself. If you don't, and crunch hard nights or extra-long 50-hour sessions, you'll spend the next few days with a fried brain and a complete inability to make use of your time.
If you're normally a 9-5 guy, pull 10 hour days. If you're normally longer, possibly consider working longer, but notice when you've started lagging because of fatigue.
Other things:
And my build is done...
We disable the message service (because of broadcast messages), and we consider it extremely bad behavior in our shop to send people these sorts of messages. If you need to chat with someone, email them, use IM (if available), or just walk down the hall...
In short, "net send" is off limits in our office.
This is one problem I have with the current mindset.
Why is it that the truth is in the middle between two seemingly extreme viewpoints? Why wasn't there facilitation of 9/11 by the Bush administration? There are a lot of unnervingly unanswered questions. Why wasn't Saddam responsible?
Okay... Sorry... That's just stupid.
Still, my point is that the middle between two opposed viewpoints shouldn't be where we assume the truth lies. It just allows someone who is willing to say or do anything shift the frame of assumption away from what may very well be the truth. Most of us will never know the truth about most things, so let's not let a few people skew the collective perception through deception.
Now, your larger point, that we should have a serious investigation, is something that I'd like to see coming from more people. It's a rather obvious point, once stated, but one that we don't make nearly enough noise for.
I thought about submitting, but actual work got in the way.
I'm glad I skipped it, because, having looked at some of the other designs, this is one of the more poorly crafted re-designs. I would have just been livid at being waxed by a look that, as far as I can tell, only has the gimmick of collapsable headers going for it.
The unfinished corners, blocks of grey, text floating in a sea of white, and gradient backgrounds all conspire to build a turn-of-the-century look. Slashdot will now go from a mid-90's look to an early 2000's look.
Great.
At least the runner up used borders for story postings. $250 for having a clearly better design has to sting a bit.
A small bug list can just indicate poor testing or poor reporting. While you don't want major bugs to be in the bug list in high numbers, a bug list should contain all of the minor quibbles that cropped up during extensive testing.
A small bug list proves very little.
We used to hold our products for two weeks at a bug count of zero. Any new bug would reset the count. Then we staffed up our QA team. This practice became impossible. Our known bug list went from zero bugs to hundreds deferred in the next version, but our quality improved.
And here's (video, wmv) a video of me kicking over a box right before another copy of me walks in front of the first and picks the box up.
I made it in about 20 minutes. They've had five years. I'm definitely not saying that the video is faked. I'm just saying that the conspiracy theorists will just look at this as a feeble attempt to fight back a tide of question-worthy evidence.
They might be right, or they might not. I'll be surprised if we ever get solid evidence one way or another. If I had the really good tape of the hit locked up in the Pentagon, I'd just hang on to it to mess with people.