Socialism won't work until people prefer working to earning a shitload of money.
On the contrary, it seems the Scandinavian countries have shown that Socialist policies in a market setting allow the production of a "shitload of money", whilst still ensuring reasonably equitable distribution.
Interesting.. Any advice on the interview process? I've done a couple phone interviews with MS (not MSR), and I always seem bomb the second call during the "come up with code in your head and recite it to me over the phone" portion. I never have any problem with the actual algorithm, but I'm always afraid to say "be quiet and let me code it", and that the "hints" do nothing but interrupt my train of thought.
Submitter here.. I'm especially curious about your experience affected your family? I have a wife and 2 kids, which is why I ask about it being "worth it". The desire to do research is the driving force for me, but I have to be able to justify it financially; otherwise I will be doing my family a disservice. Does your wife work? Are you able to find time for your children? Are you able to maintain a steady income aside from the stipdend, or are the side jobs hit-or-miss?
Apologies here if you are female -- I read "spouse" and made an assumption based on the typical/. audience
Submitter here.. I'm especially curious about your experience affected your family? I have a wife and 2 kids, which is why I ask about it being "worth it". The desire to do research is the driving force for me, but I have to be able to justify it financially; otherwise I will be doing my family a disservice. Does your wife work? Are you able to find time for your children? Are you able to maintain a steady income aside from the stipdend, or are the side jobs hit-or-miss?
OP here.. If you don't mind me asking, why did you leave MSR? Being a dev in a lab sounds good -- I'm mainly interested in intellectual challenge, not so much the prestige of being the one to publish groundbreaking research. I mainly see a graduate degree as a foot in the door -- my BS is from a state school in the midwestern US, not prestigious enough to get an interview most of the time, and my work history doesn't look impressive enough because I've had to pay the bills rather than risk my family's well-being by joining a start up.
The real problem is that the 2008 campaign season never ended. Instead of actually getting shit done for the past 4 years (an especially the last 2 years), our lawmakers have spent the entire time campaigning.
How is that a lie? His plan is to "privatize" Medicare for those under 55. That will, in effect, destroy the Medicare program. It might create a new program of some kind (though I'm guessing it's more of an every man for himself kind of deal), but it would most certainly destroy the existing one.
I notice a lot more followers of the geek cult in IT than in software development or engineering. Kinda interesting how the people who live a much 'geekier' life tend to downplay it, while the people managing the Outlook server feel the need to profess their geek cred every chance they get..
I'm a public servant, and most of what I've seen has either been a.) impossible requirements only if you haven't been on the project (e.g. the team has grown too much and needs an additional project manager, but it needs to be somebody who knows the project, or an attempt to convert a current contractor to a federal position), or b.) extremely general requirements, and they honestly want to find someone who can do the job. Maybe I've just been lucky in my government experience, but I've seen far more corruption in the private sector than the public sector (especially if the company claims to be a "Christian" company).
DI is a valid approach in C++ too. Just substitute interfaces with abstract classes and multiple inheritance, and you've got DI. There's even a few DI frameworks out there for C++.
Well I guess if there were a linux version of quickbooks it would be.so files. The point is that a plugin system would allow for configuration. Just substituting values won't really work -- there are very few, if any countries whose tax policies vary only by their rates.
I'm having a hard time understanding how configuring country parameters in the pseudo-factory is equal to hardcoding. And then you jump to implementation details with suggesting how DLLs could be used.
I think you muddled a few concepts... But, granted that might not be the best solution... what do you propose??
Hard coding indicates that something is not configurable at the user level. If you have plug-in DLLs or something of that nature then it is in fact configurable at the user level, and thus not hard coded. Whether you use a factory or indicate an actual value is not actually relevant to whether or not a value is hard coded, which was the point I was trying to make. I'm not making any suggestions about how to go about it, just pointing out that the poster's use of "hard coded" does not mean what he thinks it means.
It's easier to extend the second solution, though. Depending on how the class is instantiated inside the factory (i.e., something like reflection), you doesn't even need to change the original code, but add another library to the path.
I think what you're calling not hardcoded it's what I call configurable
And I think you're confusing loosely coupled for not hard coded, unless you're talking about plugging in different DLLs or something. From the wikipedia article:
Hard coding (also, hard-coding or hardcoding) refers to the software development practice of embedding what may, perhaps only in retrospect, be regarded as input or configuration data directly into the source code of a program or other executable object, or fixed formatting of the data, instead of obtaining that data from external sources or generating data or formatting in the program itself with the given input.
For a few hundred dollars I can make a CNC mill and craft a gun out of a block of metal. Frankly, I can do much the same with a metal file. Same goes for patent infringement. Add in a 3D scanner and I can duplicate just about anything. There is nothing intrinsically special about 3D printers VS other methods of manufacturing. Its just an evolution of mass production.
Actually, there's something very different between what you're suggesting and 3D printing -- what you say you could do requires time, effort, and skill. 3D printing a gun could become no more difficult than cleaning a gun.
Both your solutions, as far as I can tell, are hard coded. The second uses a bit of polymorphism, but still does not allow users to extend their system.
But allowing the user to change the tax code breaks their business model and potentially opens them up for lawsuits. Why would a user buy the next version when they could just download a user-made patch? And what happens when somebody codes something stupid? A big selling point for tax software is that it's guaranteed to adhere to the tax code.
Since they have US, Canadian and UK versions of the software I doubt the tax rules are hardcoded.
Define 'hard coded'. It would be really difficult to implement that logic through settings, and I seriously doubt they're using any sort of scripting or plugin system.
I worked briefly on a DO-178B project (the process standard for aircraft systems software), and this sounds entirely likely to me. The reason is that DO-178B basically requires you to code everything, rather than using existing libraries unless they are also certified (and almost nothing open source is certified). It doesn't make the software better -- in fact, it makes it worse, since you have a bunch of coders reimplementing algorithms for everything because they can't use outside libraries. It also makes it takes 3 times as long to document the software as it does to develop it.
Now the next question: how does an American go about moving to Germany?
What happens when you teach the man to fish, then pollute the lake in which he fishes?
The ones past 8 are time and a half, right?
Socialism won't work until people prefer working to earning a shitload of money.
On the contrary, it seems the Scandinavian countries have shown that Socialist policies in a market setting allow the production of a "shitload of money", whilst still ensuring reasonably equitable distribution.
Interesting.. Any advice on the interview process? I've done a couple phone interviews with MS (not MSR), and I always seem bomb the second call during the "come up with code in your head and recite it to me over the phone" portion. I never have any problem with the actual algorithm, but I'm always afraid to say "be quiet and let me code it", and that the "hints" do nothing but interrupt my train of thought.
Submitter here.. I'm especially curious about your experience affected your family? I have a wife and 2 kids, which is why I ask about it being "worth it". The desire to do research is the driving force for me, but I have to be able to justify it financially; otherwise I will be doing my family a disservice. Does your wife work? Are you able to find time for your children? Are you able to maintain a steady income aside from the stipdend, or are the side jobs hit-or-miss?
Apologies here if you are female -- I read "spouse" and made an assumption based on the typical /. audience
Submitter here.. I'm especially curious about your experience affected your family? I have a wife and 2 kids, which is why I ask about it being "worth it". The desire to do research is the driving force for me, but I have to be able to justify it financially; otherwise I will be doing my family a disservice. Does your wife work? Are you able to find time for your children? Are you able to maintain a steady income aside from the stipdend, or are the side jobs hit-or-miss?
OP here.. If you don't mind me asking, why did you leave MSR? Being a dev in a lab sounds good -- I'm mainly interested in intellectual challenge, not so much the prestige of being the one to publish groundbreaking research. I mainly see a graduate degree as a foot in the door -- my BS is from a state school in the midwestern US, not prestigious enough to get an interview most of the time, and my work history doesn't look impressive enough because I've had to pay the bills rather than risk my family's well-being by joining a start up.
Not exactly. We never had a program called 'Welfare'. Clinton did destroy a few programs, and altered a few others.
The real problem is that the 2008 campaign season never ended. Instead of actually getting shit done for the past 4 years (an especially the last 2 years), our lawmakers have spent the entire time campaigning.
How is that a lie? His plan is to "privatize" Medicare for those under 55. That will, in effect, destroy the Medicare program. It might create a new program of some kind (though I'm guessing it's more of an every man for himself kind of deal), but it would most certainly destroy the existing one.
99% of coding is dull and meticulous. It's basically Bob Cratchit's job. Working in IT is different every day.
Odd, I've had exactly the opposite experience.
Yes, it's a great idea to shoot at the person you think touched you (you can't be sure since you didn't see) in a crowded convention.
I notice a lot more followers of the geek cult in IT than in software development or engineering. Kinda interesting how the people who live a much 'geekier' life tend to downplay it, while the people managing the Outlook server feel the need to profess their geek cred every chance they get..
i'm moving to washington!
I'm a public servant, and most of what I've seen has either been a.) impossible requirements only if you haven't been on the project (e.g. the team has grown too much and needs an additional project manager, but it needs to be somebody who knows the project, or an attempt to convert a current contractor to a federal position), or b.) extremely general requirements, and they honestly want to find someone who can do the job. Maybe I've just been lucky in my government experience, but I've seen far more corruption in the private sector than the public sector (especially if the company claims to be a "Christian" company).
DI is a valid approach in C++ too. Just substitute interfaces with abstract classes and multiple inheritance, and you've got DI. There's even a few DI frameworks out there for C++.
Well I guess if there were a linux version of quickbooks it would be .so files. The point is that a plugin system would allow for configuration. Just substituting values won't really work -- there are very few, if any countries whose tax policies vary only by their rates.
I'm having a hard time understanding how configuring country parameters in the pseudo-factory is equal to hardcoding. And then you jump to implementation details with suggesting how DLLs could be used.
I think you muddled a few concepts... But, granted that might not be the best solution... what do you propose??
Hard coding indicates that something is not configurable at the user level. If you have plug-in DLLs or something of that nature then it is in fact configurable at the user level, and thus not hard coded. Whether you use a factory or indicate an actual value is not actually relevant to whether or not a value is hard coded, which was the point I was trying to make. I'm not making any suggestions about how to go about it, just pointing out that the poster's use of "hard coded" does not mean what he thinks it means.
It's easier to extend the second solution, though. Depending on how the class is instantiated inside the factory (i.e., something like reflection), you doesn't even need to change the original code, but add another library to the path.
I think what you're calling not hardcoded it's what I call configurable
And I think you're confusing loosely coupled for not hard coded, unless you're talking about plugging in different DLLs or something. From the wikipedia article:
Hard coding (also, hard-coding or hardcoding) refers to the software development practice of embedding what may, perhaps only in retrospect, be regarded as input or configuration data directly into the source code of a program or other executable object, or fixed formatting of the data, instead of obtaining that data from external sources or generating data or formatting in the program itself with the given input.
For a few hundred dollars I can make a CNC mill and craft a gun out of a block of metal. Frankly, I can do much the same with a metal file. Same goes for patent infringement. Add in a 3D scanner and I can duplicate just about anything. There is nothing intrinsically special about 3D printers VS other methods of manufacturing. Its just an evolution of mass production.
Actually, there's something very different between what you're suggesting and 3D printing -- what you say you could do requires time, effort, and skill. 3D printing a gun could become no more difficult than cleaning a gun.
Both your solutions, as far as I can tell, are hard coded. The second uses a bit of polymorphism, but still does not allow users to extend their system.
But allowing the user to change the tax code breaks their business model and potentially opens them up for lawsuits. Why would a user buy the next version when they could just download a user-made patch? And what happens when somebody codes something stupid? A big selling point for tax software is that it's guaranteed to adhere to the tax code.
Since they have US, Canadian and UK versions of the software I doubt the tax rules are hardcoded.
Define 'hard coded'. It would be really difficult to implement that logic through settings, and I seriously doubt they're using any sort of scripting or plugin system.
I worked briefly on a DO-178B project (the process standard for aircraft systems software), and this sounds entirely likely to me. The reason is that DO-178B basically requires you to code everything, rather than using existing libraries unless they are also certified (and almost nothing open source is certified). It doesn't make the software better -- in fact, it makes it worse, since you have a bunch of coders reimplementing algorithms for everything because they can't use outside libraries. It also makes it takes 3 times as long to document the software as it does to develop it.