Yes, if you drink 1-2 cups/day you're fine. Any more than that, and you have to start balancing off the effects with wine and beer. I myself keep things in a healthy balance by drinking about 12 cups of coffee and 10 alcoholic beverages a day.
My doctor gives me a clean bill of health. He said, "You're healthy because your body is such a cesspool no bug can seem to survive in it.":-)
GDS has no trouble searching my data before this new "share across computers" feature. So the data never needs to be searched when it's on Google's servers, does it? It only needs to be in plaintext on my machines.
The Google servers would only be used as a staging area for moving the indexes from machine to machine, and while off my boxes, it's all totally 100% encrypted. What's the problem?
I'm confused...google could have its cake and eat it too if they did this feature right.
Here's how it ought to work. Everything is encrypted client-side before being sent up to the google servers in a way that google can't decrypt based on your user account password guarding public/private keys you generate per machine in the GDS front-end. Only the public keys are shared across the network, the data is completely encrypted everywhere except the endpoints. What's the problem?
Ah ha!, you say, the problem is that they mine that data on their servers for information they can use to advertise at you. First, is this true? I haven't been able to confirm it, though it seems in line with their advertising model. Second, assuming it is true, there's no reason GDS can't create some kind of index over your data client-side and then send up the statistical summary of the info it mined. That way, there's no way the docs could be reconstructed, google gets their ad revenue, and users get their functionality without having to worry about data on google's servers.
I have a feeling I'm going to receive several UFIAs as a result of this post (or, in a way, SFIAs I guess), but what the heck.
Next time you have to defend evolution theory against a creationist attack, I find it helps to keep in mind the following points:
1. Evolution is not "just a theory". There is the fact of evolution, which can be demonstrated with a Petri dish, a bacterial culture, and a few drops of the right toxin (or the ever-escalating nature of antibiotics is also a good example). Then there is also the theory of evolution, based on the fact, which derives from its initial form, Darwinism.
2. A scientific theory is a model that generates testable predictions. Creationism, or intelligent design, or whatever you want to call it may provide a rather complete (though fanciful) explanation of how we came to be...but what predictions does it provide? Any? No? Really? No possibility at all of using this model to advance technology or do anything useful whatsoever? Hm. Ok, then. No useful predictions, no theory.
I have nothing against the religious viewpoint. It's just not science. Keep it out of public school science classrooms. I have no problem if it's taught in an elective religion class, history class, etc, as long as it's not from a position of advocacy (for or against) and it's in context.
Also, it's no fair saying, "Evolution is just a theory," and then saying, "I want intelligent design recognized as a legitimate theory!" What's the point of elevating creationism to the apparently decrepit state of theory-hood?
And finally, no fair saying, "Belief in evolution is based on faith as much as belief in creationism." If you really believed that, you'd be advocating we teach evolution alongside all the other faiths in religion classrooms, right?
This is a great thing. (1) It will encourage companies to give away cash prizes for watching their ads, (2) it encourages companies to make ads that are entertaining, which I am more likely to watch, (3) it recognizes the inevitability that companies can no longer force consumers to watch ads by bombardment as we get more control over our lives--it recognizes my right to choose whether or not I'm going to watch this ad, (4) single, large prizes will encourage a few, dedicated people to "solve" the ad, much like radio call-in prizes encouraged a small sect of dialers who make their living...this means that companies will be much more likely to give away lots of smaller prizes because a small, dedicated group of people just out to get the money won't be any more likely to buy that company's products, (5) in a small way it encourages adoption of DVR technology--making this tech more widespread only helps everyone.
All in all, anytime a company modifies its business practices to recognize or support my freedom as a consumer, I'm all for it. To all you naysayers out there--would you prefer companies like KFC go the route of the music industry and try to sue DVR manufacturers or consumers that skip commercials for "stealing" content???
Variety does not always mean good. For instance, if your job includes new and interesting problems and that's the variety being added, great. If your boss wants to add to that list dancing like a monkey while he throws golf balls at you, that's certainly an increase in variety, but I would not consider it good.
Still, it would be a tough choice between that and going back to C++ from Java.
I don't see the relevance of your question about my assembly skills. The point is, I could program in assembly in industry if I wanted to, but that doesn't mean I'd like a job doing Java and assembly. It's nearly always more productive to specialize in one area, know the hell out of it, and do that.
Incidentally, as it happens, by pure chance alone, my experience with assembly is relevant to this discussion; I worked with assembly/C/Objective-C/C++ for a year for an R&D-type project and wrote an operating system. An OS is an example where the problem domain maps to a solution space that must cross all levels of software capability (by definition, in fact). In that case, it was appropriate to have people that devoted time to each--at least until the project got large enough to allow segmentation of skills (it never did).
Basically, I agree with you about Java. It is a pretty boring language. Programming languages in general are boring. I've probably written in over a dozen and I would claim some level of expertise in half a dozen. Does that make me a better Java programmer? You bet! Does it mean that my current job should exercise all those languages? Absolutely not! The desire of some coders to keep all their language skills sharp misses the forest for the trees (in possibly the best application of this cliche I've ever used). If you're focused on languages, you're not focused on problems. In my way of thinking, it's the problems that are interesting, not the tools, just as a concert pianist will tell you it's the music that's interesting, not the piano keys.
In fact, I'll go one step further. I *like* my programming languages boring--boring and predictable. It's the excitement caused by all the memory leaks and mysterious linker errors that make C++ such misery. If you're not finding Java a fun language, but C++ is, it's perhaps because the problems you're solving are so boring you need to erect artificial obstacles to make it interesting and appealing to your underutilized brain.
If a business is well-conceived and well-run, the problems that your business unit is focused on solving ought to be related enough to solve using a limited set of technologies. This is basic KISS principle stuff, I don't understand why so many coders think their field is somehow exempt...it's like the great Einstein said: make it as simple as possible, but no simpler. That means it's probably not a good idea to chuck in every technology under the sun if it's unnecessary.
If I go to work for a telco company, they have a couple of problems to solve: they want to provision services ordered by their customers, they want to bill their customers for those services, and they want some kind of on-line portal that allows customers to do account and order management. I should not have to be a Renaissance Man of Technology in order to contribute to that company's fairly tight set of goals. It's networked, enterprise software, there's a web component, so it's a Java stack: XML, EJBs, etc. You might like C++, you might like Delphi, you might like Scheme--they are simply not appropriate for such a business. Most businesses are like this--most businesses do not do small-scale OS-type projects that have to cross several solution spaces wrt technology.
In the past I've worked for such businesses, and I have felt very important as I was recognized as a Renaissance Man of Technology--I had little trouble moving from one to the next, and it was a very satisfying space for me to be in praise-wise and during 6-month review time. The rest of the time it wasn't so great--I spent more time dealing with integration problems that were a function of our technology choices and less time dealing with problems related to business logic that would actually make customers happier, bring in more revenue, and take over the marketspace. And that same skillset that made me such a boon to my bosses was required of *everyone* I worked with. For you developers out there: how many places have you worked where every last person was compet
What is the set of problems the business as a whole is trying to solve using software? Tell us that, and maybe someone can take a stab at this question.
I don't think the problem space addressable by a particular language is all that narrow. For instance, at my company we write web-based, rich-client, distributed enterprise software that helps companies run marketing campaigns. One of the products we sell is primarily written in C++, and it's a nightmare compared to Java. Turns out that if "networked enterprise app" turns up in your list of requirements, Java's going to be a better bet than C++. The functionality of that code has not increased nearly as much as the Java product I work on. While those guys twiddle bits and try to find memory leaks, we add features. Several of the C++ programmers have realized this in the last year or two and are all trying to transition over to the product I work on because they're tired of the spaghetti that comes with overtaxed, underfunded development. The business is unwilling to devote the resources to their project because, even in their hey dey when the product was first developed, they couldn't add features as quickly as we can (mysterious linker errors, non-standard threading tools, memory problems, etc).
The management consoles that run each of our products are written in VB. We had one guy that did that, and wrote the installers for our software, which required a smattering of Java, C++, and VB working with InstallShield (I think--I don't really know, I've never looked into it, but that's my impression). He left. Now we have to find someone to replace him that can and wants to do all of those things, which is impossible. So we've made the more sensible choice to obviate the need for such a person by redoing our consoles in Java. This will not only make the code easier to maintain, but it will allow us to add a whole raft of features we couldn't reasonably add in VB.
I've worked for big blue-chip companies to small startups. I've done consulting. The one constant I've seen of successful business is that a well-run business is trying to solve a problem or related set of problems. Most of the time those problems, if well-defined, map to a solution space that can be addressed with a limited range of technology that is intended to work in that particular space--if they're not, the business is split into divisions and those divisions are run separately, as when I was at GE.
Sometimes companies choose technologies that aren't designed for that solution space because they're familiar with it, and that's usually a bad mistake, but more frequently, and worse, I've seen companies adopt the approach that everyone at a low level should make the decisions on a case-by-case basis, as if the business unit isn't addressing a problem domain that is in some way a cohesive whole. Every company I've been at that does this winds up like my current company...they eventually bump up against the limits of the inappropriate technologies and run into manpower and hiring constraints that could have been avoided.
If all of the company's products solve problems that can be addressed reasonably with a single language, then it would be a good move to consolidate. At my current company, we have legacy code in C++, VB, and all of our current projects are in Java. Guess which code is the cruftiest? Guess which codebases no one wants to work with?
The company simply can't afford to keep a staff dedicated to each different language's codebase, and no Java developer I know would deign to work in C++ or VB even if they have extensive experience. I know assembly, but I'd start looking for a job if my boss told me I needed to split my time between Java and assembler.
On the other hand, if the company makes a diverse set of products that simply cannot reasonably be approached with a single language and platform, then it would be a mistake to try. Engineering should be split into separate divisions if the problems are that different and separate staffs should be maintained for each.
I too am a developer. What is your motivation to work so long and so hard? Are you working for a startup with tons of options? Are your coworkers your heartfelt friends? Often, in that kind of environment where everyone's making a grab for the brass ring sometimes you have to settle for your work life and personal life becoming one and the same. Still, though, if you're heart's not in it, it's likely not going to carry you along for the ride anyway.
If you're not making a buttload of money and/or options, then it's time to have a discussion with your boss. The way the market is right now in our field, you don't have to put up with this, especially if you're willing to relocate for a new job. Tell the boss you feel overloaded and you can't do the 8+ thing on a regular basis anymore. Tell him you'll be planning your schedule and your projects appropriately from now on. Do not let management impose deadlines on you--it's an agreement, not a mandate. When my boss gives me something to do, I come up with the timeline--if they try to foist a timeline on me, then I tell them ok, but I'll have to neglect all other work...in other words, nothing else moves until this is done. Then, if the timeline is still too aggressive, I point that out. If they're not willing to hear it, I drop it, work as hard as I can on it 8 hours/day until it is done. In the companies where a reasonable schedule is frowned upon, whenever a deadline slips I write an email to my boss summarizing the status reports I've been sending (see below) and explaining that I feel the project slipped due to mismanagement, not having enough resources devoted to the task. (Always be very professional when impugning management...never petty, never angry, etc.)
The trick is to use status reports, and be honest in those reports. The worse your boss is, the more status reports you give him, up to one every day (or more, if you're putting out a fire). If you feel the quality is low because of time pressure, say so as soon as you realize it. Give the boss a list of tasks in those status reports you need to finish to accomplish what you're given to do, and show each time you send him an update what you've finished. (The scale of the tasks should fit the frequency of the reports.) They don't need to be long--just a sentence or two, but make sure the subject line says "Status Report - mm/dd/yyyy" or something similar.
This works two ways--first, it lays out what you're doing and where you are, the boss can never claim to have been surprised by it because he always knows where you are, and second, you keep him updated on your obstacles (if you spent the afternoon noodling around with your revision control system because something wasn't working, you say you didn't get anything done for four hours and why in your status report). It establishes a written record of what's going on so the boss can't surprise you at the 6-month review--if that boss has a problem with you, there's ample opportunity for him to deal with it. I did this with my first job out of college. At my 6-month review, my boss tried to give me a bad review. I scheduled a meeting with him and his boss, and armed with a digest of the reports I'd been sending, I said, look, I think I have a legitimate complaint here--if I was doing such a bad job, how come I only hear about it when it's too late for me to correct it? If I was leaving too early and not accomplishing any of my tasks on a reasonable timeline, why didn't he tell me as it was happening? (Always in a professional, non-confrontational way, yadda yadda.)
If this approach doesn't work, then you're done at that place. If you're a developer, you're making decent money for a single guy, so ultimately the ball is in your court. You should have some cash banked (you don't have time to spend it, right?). If you give it this last shot and it doesn't work, then just start looking. Schedule interviews with as much regard for company time as they have for your personal time, and then take that time off and do the interviews. I'd star
yea, it seems like this dithering-in-time could only be useful on displays that could switch faster than the eye could perceive. In other words, way faster than 25ms displays.
Then again, this article is about a 3ms display. So I guess it's possible. I just don't know if it is what's going on.
Isn't it true that they're only doing this for works in the public domain already, i.e. libraries? In other words, aren't these works already 100% available to everyone in the community?
I had 5 machines going at one time--I recently gave 3 away. I need a decent linux box and a decent windows box. Other than that, you spend more time setting up and configuring environments than you do on actual work.
What I'd really like is a KVM that supports two monitors and allows you to put them both on one machine, both on the other, or split them. (The mouse bumps the edge of one desktop, after a bit of resistance the KVM flips over mouse/keyboard control to the other box.) Anyone know of anything like that?
Other than that, it sounds like you simply want to do development in a linux-based environment. Debugging a full-screen app and need to google something? Just flip over to another desktop.
I do see the wisdom of having a ton of HD space in one of the machines, but that's why I suggested a NAS. Low maintenance solution, once again, to put you to work.
I suspect this is IBM's way of looking good while encouraging its most expensive employees to leave. It's a win-win for IBM--if they can help society and cut the rolls of the old timers, everyone wins (including the old timer, who apparently wants to teach).
Given that, I'd be shocked if IBM did anything other than pay out the level of pension the person earned fair and square. After all, it only gets worse for IBM if the person sticks around to complete their pension as normal.
I have two monitors these days because I'm waiting for my CRT to blow up, so I bought a Samsung 213T before it does (great 21.3" LCD, if you're looking, by the way). It's a pivotable 1600x1200, and I nearly always use it pivoted 90 degrees 1200x1600 for longer pages. About the only time I switch to landscape position is when I'm editing a horizontal photo in Photoshop.
When my CRT does go out, I think I'm going to be stuck. I'm so used to having two monitors I'll have to run out and buy another 213T (or whatever the best deal on LCDs is at the time).
Of course I recommend an Aeron chair and a convertible workstation-type desk. this is the type of workstation that has a raising/lowering/tilting keyboard tray and another paddle that raises/lowers the entire desktop. This allows you to move from sitting to standing position in a second...very important for keeping those wrists, back, and neck from repetitive motion injury. Get an ergonomic keyboard and a click-wheel mouse with side buttons--this minimizes moving back and forth from keyboard to mouse.
I'd also take a look at various accessibility options. There are footpedal typing aids--why not engage those for a whole body coding experience? Gloves that behave like a keyboard and a mouse, trigger style mice, etc. I'd invest in a couple of different input options just to mix it up every now and then.
Set up the room with all windows blocking light securely and all lights inside the room should be indirect only, and places way to the side of your monitors so as to to minimize glare. Calibrate your monitors so that you don't have overly contrasty or bright images in front of your eyes all day, and take frequent breaks every 15 mins to half an hour.
Seems to me like disk space is getting to be more and more of a hassle these days--nip this in the bud since you have an unlimited budget by getting one of those 1.5TB network-attached storage modules they sell (I've seen them for digital photographers). They have internal RAID and support 1Gb Ethernet, which means you'll need a 1Gb switch and card in all the boxes on your home LAN. (Get fiber if you can, but now we're talking real money, I think.) Since I haven't played with NAS I'm not sure what you can do with them, but I have no reason to think you couldn't set up the RAIDing internally whatever way you wanted--I would personally go with RAID-6, some kind of LVM configuration on top of that, and the latest ReiserFS for my source control partition (lots of small text files). As it would be a while until I used half that space, it would be cool if I could mirror the entire setup internally--that way, when I wanted to completely restructure my disk space, I could just break the mirror, do a complete format of half of it, rejigger it around, copy stuff over from the half-mirror, destroy that and re-mirror. (0.75TB should be enough for anybody. What!?)
That's about all I can come up with for now...should be a pretty good start.
My friend asked me one time what's so great about PCs compared to Macs. He said, "What can you do with your PC that I can't do with my Mac running OS X?"
"Right-click."
I get lots of spam at my gmail account too, and it almost always gets marked and pulled into the spam folder, even phishing messages (which I helpfully mark as phishing in the "More Options" section that gmail provides--always happy to help out!).
I think that this article fails to differentiate between spam that people are getting versus spam that's actually being filtered--received but not noticed. So if spam filters got better, one would expect that more people would be ok with it. Then there's the other way of looking at it--anyone who was really enraged by spam might have already left the party, preferring to communicate with other people by leaving IMs for their friends and such. So that leaves the more tolerant crowd behind. (Though I can't see anyone doing without email today.)
Wouldn't it be a lot smarter to just update the software on their phones to report signal strength when called by a Verizon customer rep? That way, they'd get much more and much better data from actual customer phones, different models, and in exact proportion to the people that actually use their services.
I guess they might have to do something else for areas they're trying to move into where they don't have much penetration...so maybe station wagon guy will keep his job after all.
The Geneva Convention gives us the right to exclude these battlefield combatants from its dictums. It's written right into the Geneva Convention itself. What don't you get about that?
For that standard to apply, you have to follow the rules. The detainees were not following the rules of warfare, so they don't get the protections. Jeez. Just read the darn thing!
He was very clear, and said he was 100% sure. His representatives even said so to the United Nations.
Yes, and we had some bad intel. You can't waffle on things like this, you have to make decisions in a position of leadership. People who have never held down that kind of responsibility have a tough time understanding what a leader goes through in a situation like 9/11. He was shackled with bad intel, but had a strong idea that they probably did have WMD (which is still not explained--even Scott Ritter, the anti-Bush UN weapons inspector, admitted that when they were booted out of Iraq the last time Saddam did have stockpiles of WMDs and they were still unaccounted for), and there were good (but too-complicated to get into in a national debate) reasons besides that to go in, which are playing out right now.
By what right did Bush decided that an election was what Iraq needed ? By what right did Bush decided the fate of entire populations of other countries ? He has every right to do anything he pleases INSIDE the USA. If he wants to do something outside, there are correct ways to do that (United Nations, Diplomacy etc).
Most of Iraq wants the elections. It's only a very small minority of the population that is upset with this shift in balance of power--it's those who were most comfortable under Hussein. If you'll put down the New York Times and read an unbiased news source, you'd know that the sheer numbers don't bear out what you're saying.
Since when fighting terror with terror is the right thing to do ?
It's easy to complain with snappy sound bites, but it's hard to come up with something that will work. Do you have any suggestions for how we should safeguard ourselves from terror, or are you just going to continue your Bush bash? Give me some alternatives that are realistic, and I'll either show you why they won't work, have already been tried, or capitulate.
I never said Bush ordered the prisioners tortured on Gitmo.
I never said you said that. Did you read my post carefully before responding to it? We were talking about Abu Ghraib, not Gitmo. You have to know the difference if you're going to engage me here.
Are you saying that is justifiable ?
No, I think I said the exact opposite...I said we're dealing with it. If I thought it was justifiable, then I'd be upset that they're prosecuting the soldiers that tortured these prisoners at Abu Ghraib. I think they should be washed out--I think that jail time is a bit excessive, as most of these people are just kids trying to help their country, dropped in the middle of nowhere and unsupervised, and very possibly even led astray by CIA interrogators who wanted the prisoners "softened up." In any case, the actual "torture" that they did commit (1) wasn't that severe, and (2) was visited upon really bad guys. Am I supposed to lose sleep over some guy getting tortured who was picked up the day before for doing the exact same thing to innocents? Again, some perspective would help here.
And there you are wrong. First, yes, it can be close tribunals, but not closed military tribunals. Selected representatives of international bodies should be present.
What other country in a war would delegate the handling of battlefield combatants to other countries, especially countries that don't have our best interests at heart and aren't necessarily interested in seeing us succeed in the war? What other country would even let outsiders observe?
In this particular case, I was speaking of Brazil, and our facilites that refine nuclear fuel for energy production. Check the news, and you will see what kind of pressure (bulling) USA used.
I'm sure we have reasons for wanting to keep tabs on nuclear facilities no matter where
What I'm saying, in a highly cryptic way, apparently, is that the golden rule won't work against terrorists. When they hit the towers, we had to go into Afghanistan and root them out. We have to cripple terrorism by using violent means if necessary, even though it's not necessarily the way we'd like to be treated.
This golden rule thing, in this case, is pie in the sky. Is that really how'd you'd fight terrorism? Be nice to them and hope for the best?
Yes, if you drink 1-2 cups/day you're fine. Any more than that, and you have to start balancing off the effects with wine and beer. I myself keep things in a healthy balance by drinking about 12 cups of coffee and 10 alcoholic beverages a day.
:-)
My doctor gives me a clean bill of health. He said, "You're healthy because your body is such a cesspool no bug can seem to survive in it."
Huh-what?
GDS has no trouble searching my data before this new "share across computers" feature. So the data never needs to be searched when it's on Google's servers, does it? It only needs to be in plaintext on my machines.
The Google servers would only be used as a staging area for moving the indexes from machine to machine, and while off my boxes, it's all totally 100% encrypted. What's the problem?
I'm confused...google could have its cake and eat it too if they did this feature right.
Here's how it ought to work. Everything is encrypted client-side before being sent up to the google servers in a way that google can't decrypt based on your user account password guarding public/private keys you generate per machine in the GDS front-end. Only the public keys are shared across the network, the data is completely encrypted everywhere except the endpoints. What's the problem?
Ah ha!, you say, the problem is that they mine that data on their servers for information they can use to advertise at you. First, is this true? I haven't been able to confirm it, though it seems in line with their advertising model. Second, assuming it is true, there's no reason GDS can't create some kind of index over your data client-side and then send up the statistical summary of the info it mined. That way, there's no way the docs could be reconstructed, google gets their ad revenue, and users get their functionality without having to worry about data on google's servers.
Anyone have any notion of why this wouldn't work?
I have a feeling I'm going to receive several UFIAs as a result of this post (or, in a way, SFIAs I guess), but what the heck.
Next time you have to defend evolution theory against a creationist attack, I find it helps to keep in mind the following points:
1. Evolution is not "just a theory". There is the fact of evolution, which can be demonstrated with a Petri dish, a bacterial culture, and a few drops of the right toxin (or the ever-escalating nature of antibiotics is also a good example). Then there is also the theory of evolution, based on the fact, which derives from its initial form, Darwinism.
2. A scientific theory is a model that generates testable predictions. Creationism, or intelligent design, or whatever you want to call it may provide a rather complete (though fanciful) explanation of how we came to be...but what predictions does it provide? Any? No? Really? No possibility at all of using this model to advance technology or do anything useful whatsoever? Hm. Ok, then. No useful predictions, no theory.
I have nothing against the religious viewpoint. It's just not science. Keep it out of public school science classrooms. I have no problem if it's taught in an elective religion class, history class, etc, as long as it's not from a position of advocacy (for or against) and it's in context.
Also, it's no fair saying, "Evolution is just a theory," and then saying, "I want intelligent design recognized as a legitimate theory!" What's the point of elevating creationism to the apparently decrepit state of theory-hood?
And finally, no fair saying, "Belief in evolution is based on faith as much as belief in creationism." If you really believed that, you'd be advocating we teach evolution alongside all the other faiths in religion classrooms, right?
Arm yourselves with knowledge against the creationist movement: What Is Science?, Is Creationism Science?, and Common Specious Arguments Against Evolution. Please feel free to suggest additions or discuss on the associated discussion pages.
This is a great thing. (1) It will encourage companies to give away cash prizes for watching their ads, (2) it encourages companies to make ads that are entertaining, which I am more likely to watch, (3) it recognizes the inevitability that companies can no longer force consumers to watch ads by bombardment as we get more control over our lives--it recognizes my right to choose whether or not I'm going to watch this ad, (4) single, large prizes will encourage a few, dedicated people to "solve" the ad, much like radio call-in prizes encouraged a small sect of dialers who make their living...this means that companies will be much more likely to give away lots of smaller prizes because a small, dedicated group of people just out to get the money won't be any more likely to buy that company's products, (5) in a small way it encourages adoption of DVR technology--making this tech more widespread only helps everyone.
All in all, anytime a company modifies its business practices to recognize or support my freedom as a consumer, I'm all for it. To all you naysayers out there--would you prefer companies like KFC go the route of the music industry and try to sue DVR manufacturers or consumers that skip commercials for "stealing" content???
Variety does not always mean good. For instance, if your job includes new and interesting problems and that's the variety being added, great. If your boss wants to add to that list dancing like a monkey while he throws golf balls at you, that's certainly an increase in variety, but I would not consider it good.
Still, it would be a tough choice between that and going back to C++ from Java.
I don't see the relevance of your question about my assembly skills. The point is, I could program in assembly in industry if I wanted to, but that doesn't mean I'd like a job doing Java and assembly. It's nearly always more productive to specialize in one area, know the hell out of it, and do that.
Incidentally, as it happens, by pure chance alone, my experience with assembly is relevant to this discussion; I worked with assembly/C/Objective-C/C++ for a year for an R&D-type project and wrote an operating system. An OS is an example where the problem domain maps to a solution space that must cross all levels of software capability (by definition, in fact). In that case, it was appropriate to have people that devoted time to each--at least until the project got large enough to allow segmentation of skills (it never did).
Basically, I agree with you about Java. It is a pretty boring language. Programming languages in general are boring. I've probably written in over a dozen and I would claim some level of expertise in half a dozen. Does that make me a better Java programmer? You bet! Does it mean that my current job should exercise all those languages? Absolutely not! The desire of some coders to keep all their language skills sharp misses the forest for the trees (in possibly the best application of this cliche I've ever used). If you're focused on languages, you're not focused on problems. In my way of thinking, it's the problems that are interesting, not the tools, just as a concert pianist will tell you it's the music that's interesting, not the piano keys.
In fact, I'll go one step further. I *like* my programming languages boring--boring and predictable. It's the excitement caused by all the memory leaks and mysterious linker errors that make C++ such misery. If you're not finding Java a fun language, but C++ is, it's perhaps because the problems you're solving are so boring you need to erect artificial obstacles to make it interesting and appealing to your underutilized brain.
If a business is well-conceived and well-run, the problems that your business unit is focused on solving ought to be related enough to solve using a limited set of technologies. This is basic KISS principle stuff, I don't understand why so many coders think their field is somehow exempt...it's like the great Einstein said: make it as simple as possible, but no simpler. That means it's probably not a good idea to chuck in every technology under the sun if it's unnecessary.
If I go to work for a telco company, they have a couple of problems to solve: they want to provision services ordered by their customers, they want to bill their customers for those services, and they want some kind of on-line portal that allows customers to do account and order management. I should not have to be a Renaissance Man of Technology in order to contribute to that company's fairly tight set of goals. It's networked, enterprise software, there's a web component, so it's a Java stack: XML, EJBs, etc. You might like C++, you might like Delphi, you might like Scheme--they are simply not appropriate for such a business. Most businesses are like this--most businesses do not do small-scale OS-type projects that have to cross several solution spaces wrt technology.
In the past I've worked for such businesses, and I have felt very important as I was recognized as a Renaissance Man of Technology--I had little trouble moving from one to the next, and it was a very satisfying space for me to be in praise-wise and during 6-month review time. The rest of the time it wasn't so great--I spent more time dealing with integration problems that were a function of our technology choices and less time dealing with problems related to business logic that would actually make customers happier, bring in more revenue, and take over the marketspace. And that same skillset that made me such a boon to my bosses was required of *everyone* I worked with. For you developers out there: how many places have you worked where every last person was compet
What is the set of problems the business as a whole is trying to solve using software? Tell us that, and maybe someone can take a stab at this question.
I don't think the problem space addressable by a particular language is all that narrow. For instance, at my company we write web-based, rich-client, distributed enterprise software that helps companies run marketing campaigns. One of the products we sell is primarily written in C++, and it's a nightmare compared to Java. Turns out that if "networked enterprise app" turns up in your list of requirements, Java's going to be a better bet than C++. The functionality of that code has not increased nearly as much as the Java product I work on. While those guys twiddle bits and try to find memory leaks, we add features. Several of the C++ programmers have realized this in the last year or two and are all trying to transition over to the product I work on because they're tired of the spaghetti that comes with overtaxed, underfunded development. The business is unwilling to devote the resources to their project because, even in their hey dey when the product was first developed, they couldn't add features as quickly as we can (mysterious linker errors, non-standard threading tools, memory problems, etc).
The management consoles that run each of our products are written in VB. We had one guy that did that, and wrote the installers for our software, which required a smattering of Java, C++, and VB working with InstallShield (I think--I don't really know, I've never looked into it, but that's my impression). He left. Now we have to find someone to replace him that can and wants to do all of those things, which is impossible. So we've made the more sensible choice to obviate the need for such a person by redoing our consoles in Java. This will not only make the code easier to maintain, but it will allow us to add a whole raft of features we couldn't reasonably add in VB.
I've worked for big blue-chip companies to small startups. I've done consulting. The one constant I've seen of successful business is that a well-run business is trying to solve a problem or related set of problems. Most of the time those problems, if well-defined, map to a solution space that can be addressed with a limited range of technology that is intended to work in that particular space--if they're not, the business is split into divisions and those divisions are run separately, as when I was at GE.
Sometimes companies choose technologies that aren't designed for that solution space because they're familiar with it, and that's usually a bad mistake, but more frequently, and worse, I've seen companies adopt the approach that everyone at a low level should make the decisions on a case-by-case basis, as if the business unit isn't addressing a problem domain that is in some way a cohesive whole. Every company I've been at that does this winds up like my current company...they eventually bump up against the limits of the inappropriate technologies and run into manpower and hiring constraints that could have been avoided.
If all of the company's products solve problems that can be addressed reasonably with a single language, then it would be a good move to consolidate. At my current company, we have legacy code in C++, VB, and all of our current projects are in Java. Guess which code is the cruftiest? Guess which codebases no one wants to work with?
The company simply can't afford to keep a staff dedicated to each different language's codebase, and no Java developer I know would deign to work in C++ or VB even if they have extensive experience. I know assembly, but I'd start looking for a job if my boss told me I needed to split my time between Java and assembler.
On the other hand, if the company makes a diverse set of products that simply cannot reasonably be approached with a single language and platform, then it would be a mistake to try. Engineering should be split into separate divisions if the problems are that different and separate staffs should be maintained for each.
I too am a developer. What is your motivation to work so long and so hard? Are you working for a startup with tons of options? Are your coworkers your heartfelt friends? Often, in that kind of environment where everyone's making a grab for the brass ring sometimes you have to settle for your work life and personal life becoming one and the same. Still, though, if you're heart's not in it, it's likely not going to carry you along for the ride anyway.
If you're not making a buttload of money and/or options, then it's time to have a discussion with your boss. The way the market is right now in our field, you don't have to put up with this, especially if you're willing to relocate for a new job. Tell the boss you feel overloaded and you can't do the 8+ thing on a regular basis anymore. Tell him you'll be planning your schedule and your projects appropriately from now on. Do not let management impose deadlines on you--it's an agreement, not a mandate. When my boss gives me something to do, I come up with the timeline--if they try to foist a timeline on me, then I tell them ok, but I'll have to neglect all other work...in other words, nothing else moves until this is done. Then, if the timeline is still too aggressive, I point that out. If they're not willing to hear it, I drop it, work as hard as I can on it 8 hours/day until it is done. In the companies where a reasonable schedule is frowned upon, whenever a deadline slips I write an email to my boss summarizing the status reports I've been sending (see below) and explaining that I feel the project slipped due to mismanagement, not having enough resources devoted to the task. (Always be very professional when impugning management...never petty, never angry, etc.)
The trick is to use status reports, and be honest in those reports. The worse your boss is, the more status reports you give him, up to one every day (or more, if you're putting out a fire). If you feel the quality is low because of time pressure, say so as soon as you realize it. Give the boss a list of tasks in those status reports you need to finish to accomplish what you're given to do, and show each time you send him an update what you've finished. (The scale of the tasks should fit the frequency of the reports.) They don't need to be long--just a sentence or two, but make sure the subject line says "Status Report - mm/dd/yyyy" or something similar.
This works two ways--first, it lays out what you're doing and where you are, the boss can never claim to have been surprised by it because he always knows where you are, and second, you keep him updated on your obstacles (if you spent the afternoon noodling around with your revision control system because something wasn't working, you say you didn't get anything done for four hours and why in your status report). It establishes a written record of what's going on so the boss can't surprise you at the 6-month review--if that boss has a problem with you, there's ample opportunity for him to deal with it. I did this with my first job out of college. At my 6-month review, my boss tried to give me a bad review. I scheduled a meeting with him and his boss, and armed with a digest of the reports I'd been sending, I said, look, I think I have a legitimate complaint here--if I was doing such a bad job, how come I only hear about it when it's too late for me to correct it? If I was leaving too early and not accomplishing any of my tasks on a reasonable timeline, why didn't he tell me as it was happening? (Always in a professional, non-confrontational way, yadda yadda.)
If this approach doesn't work, then you're done at that place. If you're a developer, you're making decent money for a single guy, so ultimately the ball is in your court. You should have some cash banked (you don't have time to spend it, right?). If you give it this last shot and it doesn't work, then just start looking. Schedule interviews with as much regard for company time as they have for your personal time, and then take that time off and do the interviews. I'd star
...that any mode of dress involving a pocket protector is far worse than a t-shirt and jeans.
yea, it seems like this dithering-in-time could only be useful on displays that could switch faster than the eye could perceive. In other words, way faster than 25ms displays. Then again, this article is about a 3ms display. So I guess it's possible. I just don't know if it is what's going on.
Isn't it true that they're only doing this for works in the public domain already, i.e. libraries? In other words, aren't these works already 100% available to everyone in the community?
I had 5 machines going at one time--I recently gave 3 away. I need a decent linux box and a decent windows box. Other than that, you spend more time setting up and configuring environments than you do on actual work.
What I'd really like is a KVM that supports two monitors and allows you to put them both on one machine, both on the other, or split them. (The mouse bumps the edge of one desktop, after a bit of resistance the KVM flips over mouse/keyboard control to the other box.) Anyone know of anything like that?
Other than that, it sounds like you simply want to do development in a linux-based environment. Debugging a full-screen app and need to google something? Just flip over to another desktop.
I do see the wisdom of having a ton of HD space in one of the machines, but that's why I suggested a NAS. Low maintenance solution, once again, to put you to work.
I suspect this is IBM's way of looking good while encouraging its most expensive employees to leave. It's a win-win for IBM--if they can help society and cut the rolls of the old timers, everyone wins (including the old timer, who apparently wants to teach).
Given that, I'd be shocked if IBM did anything other than pay out the level of pension the person earned fair and square. After all, it only gets worse for IBM if the person sticks around to complete their pension as normal.
I have two monitors these days because I'm waiting for my CRT to blow up, so I bought a Samsung 213T before it does (great 21.3" LCD, if you're looking, by the way). It's a pivotable 1600x1200, and I nearly always use it pivoted 90 degrees 1200x1600 for longer pages. About the only time I switch to landscape position is when I'm editing a horizontal photo in Photoshop.
When my CRT does go out, I think I'm going to be stuck. I'm so used to having two monitors I'll have to run out and buy another 213T (or whatever the best deal on LCDs is at the time).Of course I recommend an Aeron chair and a convertible workstation-type desk. this is the type of workstation that has a raising/lowering/tilting keyboard tray and another paddle that raises/lowers the entire desktop. This allows you to move from sitting to standing position in a second...very important for keeping those wrists, back, and neck from repetitive motion injury. Get an ergonomic keyboard and a click-wheel mouse with side buttons--this minimizes moving back and forth from keyboard to mouse.
I'd also take a look at various accessibility options. There are footpedal typing aids--why not engage those for a whole body coding experience? Gloves that behave like a keyboard and a mouse, trigger style mice, etc. I'd invest in a couple of different input options just to mix it up every now and then.
Set up the room with all windows blocking light securely and all lights inside the room should be indirect only, and places way to the side of your monitors so as to to minimize glare. Calibrate your monitors so that you don't have overly contrasty or bright images in front of your eyes all day, and take frequent breaks every 15 mins to half an hour.
Seems to me like disk space is getting to be more and more of a hassle these days--nip this in the bud since you have an unlimited budget by getting one of those 1.5TB network-attached storage modules they sell (I've seen them for digital photographers). They have internal RAID and support 1Gb Ethernet, which means you'll need a 1Gb switch and card in all the boxes on your home LAN. (Get fiber if you can, but now we're talking real money, I think.) Since I haven't played with NAS I'm not sure what you can do with them, but I have no reason to think you couldn't set up the RAIDing internally whatever way you wanted--I would personally go with RAID-6, some kind of LVM configuration on top of that, and the latest ReiserFS for my source control partition (lots of small text files). As it would be a while until I used half that space, it would be cool if I could mirror the entire setup internally--that way, when I wanted to completely restructure my disk space, I could just break the mirror, do a complete format of half of it, rejigger it around, copy stuff over from the half-mirror, destroy that and re-mirror. (0.75TB should be enough for anybody. What!?)
That's about all I can come up with for now...should be a pretty good start.
My friend asked me one time what's so great about PCs compared to Macs. He said, "What can you do with your PC that I can't do with my Mac running OS X?" "Right-click."
Yes, yes, because this will work brilliantly!
Or, wait...I forget. Tell me again, is it that the Internet is controllable by a single entity, or uncontrollable? I keep forgetting...
I get lots of spam at my gmail account too, and it almost always gets marked and pulled into the spam folder, even phishing messages (which I helpfully mark as phishing in the "More Options" section that gmail provides--always happy to help out!).
I think that this article fails to differentiate between spam that people are getting versus spam that's actually being filtered--received but not noticed. So if spam filters got better, one would expect that more people would be ok with it. Then there's the other way of looking at it--anyone who was really enraged by spam might have already left the party, preferring to communicate with other people by leaving IMs for their friends and such. So that leaves the more tolerant crowd behind. (Though I can't see anyone doing without email today.)
Why on earth would anyone give MS free content when they could just post it on...wikipedia?
Wouldn't it be a lot smarter to just update the software on their phones to report signal strength when called by a Verizon customer rep? That way, they'd get much more and much better data from actual customer phones, different models, and in exact proportion to the people that actually use their services.
I guess they might have to do something else for areas they're trying to move into where they don't have much penetration...so maybe station wagon guy will keep his job after all.
The Geneva Convention gives us the right to exclude these battlefield combatants from its dictums. It's written right into the Geneva Convention itself. What don't you get about that?
For that standard to apply, you have to follow the rules. The detainees were not following the rules of warfare, so they don't get the protections. Jeez. Just read the darn thing!
Yes, and we had some bad intel. You can't waffle on things like this, you have to make decisions in a position of leadership. People who have never held down that kind of responsibility have a tough time understanding what a leader goes through in a situation like 9/11. He was shackled with bad intel, but had a strong idea that they probably did have WMD (which is still not explained--even Scott Ritter, the anti-Bush UN weapons inspector, admitted that when they were booted out of Iraq the last time Saddam did have stockpiles of WMDs and they were still unaccounted for), and there were good (but too-complicated to get into in a national debate) reasons besides that to go in, which are playing out right now.
Most of Iraq wants the elections. It's only a very small minority of the population that is upset with this shift in balance of power--it's those who were most comfortable under Hussein. If you'll put down the New York Times and read an unbiased news source, you'd know that the sheer numbers don't bear out what you're saying.
It's easy to complain with snappy sound bites, but it's hard to come up with something that will work. Do you have any suggestions for how we should safeguard ourselves from terror, or are you just going to continue your Bush bash? Give me some alternatives that are realistic, and I'll either show you why they won't work, have already been tried, or capitulate.
I never said you said that. Did you read my post carefully before responding to it? We were talking about Abu Ghraib, not Gitmo. You have to know the difference if you're going to engage me here.
No, I think I said the exact opposite...I said we're dealing with it. If I thought it was justifiable, then I'd be upset that they're prosecuting the soldiers that tortured these prisoners at Abu Ghraib. I think they should be washed out--I think that jail time is a bit excessive, as most of these people are just kids trying to help their country, dropped in the middle of nowhere and unsupervised, and very possibly even led astray by CIA interrogators who wanted the prisoners "softened up." In any case, the actual "torture" that they did commit (1) wasn't that severe, and (2) was visited upon really bad guys. Am I supposed to lose sleep over some guy getting tortured who was picked up the day before for doing the exact same thing to innocents? Again, some perspective would help here.
What other country in a war would delegate the handling of battlefield combatants to other countries, especially countries that don't have our best interests at heart and aren't necessarily interested in seeing us succeed in the war? What other country would even let outsiders observe?
I'm sure we have reasons for wanting to keep tabs on nuclear facilities no matter where
Zoom...the point goes flying over your head.
What I'm saying, in a highly cryptic way, apparently, is that the golden rule won't work against terrorists. When they hit the towers, we had to go into Afghanistan and root them out. We have to cripple terrorism by using violent means if necessary, even though it's not necessarily the way we'd like to be treated.
This golden rule thing, in this case, is pie in the sky. Is that really how'd you'd fight terrorism? Be nice to them and hope for the best?