You mention "Window NT and bugs" and that brings back some bad memories.
I was writing a program in MS Visual C++ on Window NT, and encountered a place in my code where the program would always crash. No compiler errors. The syntax was all correct. I then started walking through the assembly code with a debugger. In the middle of my function some system call was erroneously throwing an exception and crashing my program. Thank you Microsoft. So in the middle of my code, I added this try/catch block, empty brackets and all....
try
{
}
catch()
{
}
That caught the Windows NT system error and allowed my program to continue. Whoa to the future programmer that removes it because is "obviously" does nothing.
It is the anonymous CORBAConnection variable that is create in the function call. Programmers create this anonymous variables all the time and never thing that it will bite them is the ass. Well, this one did and nearly took down the company too. Here is the explanation behind it.
CORBA communication is asynchronous, and thus COBRA connect object lives past the function that created it. When the communication thread that was using the connection is finished the original calling function that created it, has passed out of scope so there is no destructor called implicitly. And since there is no explicit variable, we cannot call the destructor explicitly either. With no way to call a destructor, there is no way to reclaim the memory, used thus the memory leak.
The solution was to explicitly declare a variable for the CORBA connection object and then call the destructor when it finished.
I was a young programmer working at my first startup company back in 1999. We had an communication app that talked using CORBA much as today you would used Web Services. We knew we had a memory leak and back then you only had a few megabytes of RAM so a memory leak could chew through all your memory pretty quickly. This bug was causing our servers to crash at least once a day and was in danger of taking down the whole company.
I didn't write the code, it was written by one of our senior engineers. He has insisted his code was right but I found the memory leak in his code using a debugger.
/*code snippet*/
returncode = CallCORBA( new CORBAConnect(/*Connection parameters*/), &header, &message);
if (returncode != ERROR)
{ /* continue processing other event */
}
else
{ /* handle error */
}
I understand why people would want to live in San Francisco or Manhattan. I used to live in Boston and Los Angeles. These cities are culturally diverse and offer a multitude of activities for everyone. What I don't understand is why someone would pay $1M for an apartment!!!
Even if the house costs $1-1.5M, if you are making the salary to afford that house, you end up ahead. The higher cost of living results in higher salaries and in the end, the person making the higher salary accumulates more assets.
Here is a simpler example, Alex and Bob both buy a car for $500/mo and both have student loans for $1000/mo. For Alex, that is only 18% of his salary. For Bob, it is 36% of his. In the end, Alex will accumulate more assets in his working life.
I agree with you. If the salary doesn't make up for the difference in housing prices, it is not worth it. The housing prices in San Francisco have just gone insane. Same thing for the housing prices in Manhattan. More than outstripping the salaries that they are now paying IT workers.
The best of both worlds is to do contract work in SV but live elsewhere. You get paid like the locals but then get to go home to a house with yard.
I always thought that the cost of living argument (SV vs non-SV) was bullsh*t.
Let take two recent CS grads, Call them Alex and Bob.
Alex takes a job in San Francisco and is making $100K. He buys a house at 5x his salary ($500K) and lives in it for 30 years until the mortgage is paid off.
Bob takes a job in the midwest and is making $50K. He buys a house at 5x his salary ($250K) and lives in it for 30 years until the mortgage is paid off.
After 30 years, both Alex and Bob sell their houses and move to Florida. Both houses have doubled twice in those 30 years (look at the price of houses in 1985 and don't you wish had bought back then). Alex comes to Florida with $2M, Bob comes to Florida with $1M. So who is the winner, the one that lived in the low cost area or the one in a high cost area.
My point is that those in high cost of living areas are compensated for it and win in the long run.
If you want to work remote, buy an expensive house. Seriously, that is the secret. I am lucky that I have a highly in demand skills and so
have some leverage when it comes to negotiating salary and benefits.
The conversation usually goes something like this.
Mr. Employer: We loved your resume and the interviews when really well. We would like to offer you a job.
Me: Thank you. I would like to work for you.
Mr. Employer: We want to move you to our office in (somewhere not close)
Me: Thank you. I own my own home and would need a relocation package of £200,000 (US$300,000).
(long pause)
Mr. Employer: How would like to work remote...
I have applied to plenty of Wall Street jobs. Yes, what college you went to comes up, and even gets used as a filter at some places. It can get you in the door for the interview but reputation is not going to get you to the executive suite.
Elites are elite for a reason, they give you the knowledge, tools and connections to be successful.
My assertion is the at elite colleges are elite because they produce more successful graduates. If that assertion is false, then elite colleges have nothing to do with the success their graduates and other non-elite colleges would produce equally as successful graduates. We reject the negative assertion is false.
The "real" difference between elite colleges and other ones is that elite colleges produce graduates who succeed in the real world. How many Harvard graduates head Fortune 500 companies? How many graduates from ITT do? How many graduates go on to get PhDs or MDs? How many win Nobel prizes?
The reputation of the college you went to doesn't get you on board of directors. It doesn't get you the job of President of a prestigious universities. It doesn't command million dollar salaries on Wall Street. Those have to be earned, and graduates from elite colleges do in higher numbers than non-elite colleges.
That my friend is how you get to be an elite college.
This is where you are wrong. They do get to buy cheap power from those solar installations during the day and sell for more.
Let me give you an example of how this works.
Solar guy (for one month): Uses 1000Kwh - produces 500Kwh = net 500Kwh @ $.10/Kwh
Big utility - buys wholesale power at $.15/Kwh during the day when the sun is shining and everyone is using AC but
during the night the price drops to $.05/Kwh.
So during the day Big Utility is "buying" power from the solar guy for $.10/Kwh and selling it for $.15/Kwh. So who is the real winner is this scenerio?
Why do actors have them, why do athletes have them, why do writers have literary agents. I have been saying this for years. Since the last dot com boom, actually, when tech talent was just as scarce. Why not tech talent, too, I make way more than average actor, athlete, and writer.
There are three reasons I can think of, right off the top of my head to have an agent.
1. Screen all the recruiter calls. Everyday I get calls from at least 10 recruiters. Most are offering positions and salaries that I would not consider and they would know this if they read my resume instead of just doing a keyword search. Yes, I am talking to you, Mr recruiter, that wants to offer me a web development position in San Francisco for 3 months at $40/hr and no expenses paid. Try hiring someone local. No they done want your crappy position either.
2. Be on the constant lookout for my perfect job. Hey I am working full time so I don't have a lot of time to devote to finding my perfect job.
3. Negotiate a better salary. Now I have gotten pretty good at this over the years but it would be nice to have the latest industry figures when we did enter that phase.
Engineering knowledge and skill is way undervalued in the current development climate. It is more about get it done fast, get it out the door. Don't make the code pretty, don't make it reusable, fix it later attitude. Patch it up, put a bandaid on it and move on to the next fire.
The only place I have seen where engineering skills are valued is where lives are at stake (nuclear reactor code, Space Shuttle) or enterprise software that has to be up 24/7 or the business fails.
Right, they have zero chance of actually enforcing their property rights if someone violates them until they get back to or attempt to get back to Earth.
The FAA could deny you any landing rights on Earth though and arrest you if you violate that order. So unless you plan on living the rest of your life on the moon that would force you might want to comply.
Corporations are in the habit of wanting to make money, and if the FAA denies them cargo landing rights and seizes the cargo upon landing, corporations will have to follow the regulations too. Also, any terrestrial based corporation can be sued and hefty fined imposed by the FAA for such violations. No corporation would be willing to take the risk.
So who are your going to sell your minings to, the Martians.
To be a great programmer (or even just a good one), you need to never stop learning. Always be learning something. Many times in my life I have learned something on my own, only to be able to apply is a totally different situation later in life.
Great programmer are insanely curious. They want to know the how things work, why one solution is better than another, always improving. That is the key, always be improving your craft, and your knowledge.
You mention "Window NT and bugs" and that brings back some bad memories.
I was writing a program in MS Visual C++ on Window NT, and encountered a place in my code where the program would always crash. No compiler errors. The syntax was all correct. I then started walking through the assembly code with a debugger. In the middle of my function some system call was erroneously throwing an exception and crashing my program. Thank you Microsoft. So in the middle of my code, I added this try/catch block, empty brackets and all....
try
{
}
catch()
{
}
That caught the Windows NT system error and allowed my program to continue. Whoa to the future programmer that removes it because is "obviously" does nothing.
It is the anonymous CORBAConnection variable that is create in the function call. Programmers create this anonymous variables all the time and never thing that it will bite them is the ass. Well, this one did and nearly took down the company too. Here is the explanation behind it.
CORBA communication is asynchronous, and thus COBRA connect object lives past the function that created it. When the communication thread that was using the connection is finished the original calling function that created it, has passed out of scope so there is no destructor called implicitly. And since there is no explicit variable, we cannot call the destructor explicitly either. With no way to call a destructor, there is no way to reclaim the memory, used thus the memory leak.
The solution was to explicitly declare a variable for the CORBA connection object and then call the destructor when it finished.
I was a young programmer working at my first startup company back in 1999. We had an communication app that talked using CORBA much as today you would used Web Services. We knew we had a memory leak and back then you only had a few megabytes of RAM so a memory leak could chew through all your memory pretty quickly. This bug was causing our servers to crash at least once a day and was in danger of taking down the whole company.
/*code snippet*/
/*Connection parameters*/), &header, &message);
/* continue processing other event */
/* handle error */
I didn't write the code, it was written by one of our senior engineers. He has insisted his code was right but I found the memory leak in his code using a debugger.
returncode = CallCORBA( new CORBAConnect(
if (returncode != ERROR)
{
}
else
{
}
Window 10 was officially launched today. I am waiting for SP1 before I upgrade. Standard practice for MS software.
I understand why people would want to live in San Francisco or Manhattan. I used to live in Boston and Los Angeles. These cities are culturally diverse and offer a multitude of activities for everyone. What I don't understand is why someone would pay $1M for an apartment!!!
Even if the house costs $1-1.5M, if you are making the salary to afford that house, you end up ahead. The higher cost of living results in higher salaries and in the end, the person making the higher salary accumulates more assets.
Here is a simpler example, Alex and Bob both buy a car for $500/mo and both have student loans for $1000/mo. For Alex, that is only 18% of his salary. For Bob, it is 36% of his. In the end, Alex will accumulate more assets in his working life.
I agree with you. If the salary doesn't make up for the difference in housing prices, it is not worth it. The housing prices in San Francisco have just gone insane. Same thing for the housing prices in Manhattan. More than outstripping the salaries that they are now paying IT workers.
The best of both worlds is to do contract work in SV but live elsewhere. You get paid like the locals but then get to go home to a house with yard.
I always thought that the cost of living argument (SV vs non-SV) was bullsh*t. Let take two recent CS grads, Call them Alex and Bob.
Alex takes a job in San Francisco and is making $100K. He buys a house at 5x his salary ($500K) and lives in it for 30 years until the mortgage is paid off.
Bob takes a job in the midwest and is making $50K. He buys a house at 5x his salary ($250K) and lives in it for 30 years until the mortgage is paid off.
After 30 years, both Alex and Bob sell their houses and move to Florida. Both houses have doubled twice in those 30 years (look at the price of houses in 1985 and don't you wish had bought back then). Alex comes to Florida with $2M, Bob comes to Florida with $1M. So who is the winner, the one that lived in the low cost area or the one in a high cost area.
My point is that those in high cost of living areas are compensated for it and win in the long run.
For this survey, it is refers to students graduating with a Bachelor's degree.
If you want to work remote, buy an expensive house. Seriously, that is the secret. I am lucky that I have a highly in demand skills and so have some leverage when it comes to negotiating salary and benefits.
The conversation usually goes something like this.
Mr. Employer: We loved your resume and the interviews when really well. We would like to offer you a job.
Me: Thank you. I would like to work for you.
Mr. Employer: We want to move you to our office in (somewhere not close)
Me: Thank you. I own my own home and would need a relocation package of £200,000 (US$300,000).
(long pause)
Mr. Employer: How would like to work remote...
I have applied to plenty of Wall Street jobs. Yes, what college you went to comes up, and even gets used as a filter at some places. It can get you in the door for the interview but reputation is not going to get you to the executive suite.
Elites are elite for a reason, they give you the knowledge, tools and connections to be successful.
You are the one that need to retake logic 101.
My assertion is the at elite colleges are elite because they produce more successful graduates. If that assertion is false, then elite colleges have nothing to do with the success their graduates and other non-elite colleges would produce equally as successful graduates. We reject the negative assertion is false.
The "real" difference between elite colleges and other ones is that elite colleges produce graduates who succeed in the real world. How many Harvard graduates head Fortune 500 companies? How many graduates from ITT do? How many graduates go on to get PhDs or MDs? How many win Nobel prizes?
The reputation of the college you went to doesn't get you on board of directors. It doesn't get you the job of President of a prestigious universities. It doesn't command million dollar salaries on Wall Street. Those have to be earned, and graduates from elite colleges do in higher numbers than non-elite colleges.
That my friend is how you get to be an elite college.
This is where you are wrong. They do get to buy cheap power from those solar installations during the day and sell for more.
Let me give you an example of how this works.
Solar guy (for one month): Uses 1000Kwh - produces 500Kwh = net 500Kwh @ $.10/Kwh
Big utility - buys wholesale power at $.15/Kwh during the day when the sun is shining and everyone is using AC but during the night the price drops to $.05/Kwh.
So during the day Big Utility is "buying" power from the solar guy for $.10/Kwh and selling it for $.15/Kwh. So who is the real winner is this scenerio?
Why do actors have them, why do athletes have them, why do writers have literary agents. I have been saying this for years. Since the last dot com boom, actually, when tech talent was just as scarce. Why not tech talent, too, I make way more than average actor, athlete, and writer.
There are three reasons I can think of, right off the top of my head to have an agent.
1. Screen all the recruiter calls.
Everyday I get calls from at least 10 recruiters. Most are offering positions and salaries that I would not consider and they would know this if they read my resume instead of just doing a keyword search. Yes, I am talking to you, Mr recruiter, that wants to offer me a web development position in San Francisco for 3 months at $40/hr and no expenses paid. Try hiring someone local. No they done want your crappy position either.
2. Be on the constant lookout for my perfect job.
Hey I am working full time so I don't have a lot of time to devote to finding my perfect job.
3. Negotiate a better salary.
Now I have gotten pretty good at this over the years but it would be nice to have the latest industry figures when we did enter that phase.
I will get off my soapbox now.
Engineering knowledge and skill is way undervalued in the current development climate. It is more about get it done fast, get it out the door. Don't make the code pretty, don't make it reusable, fix it later attitude. Patch it up, put a bandaid on it and move on to the next fire.
The only place I have seen where engineering skills are valued is where lives are at stake (nuclear reactor code, Space Shuttle) or enterprise software that has to be up 24/7 or the business fails.
Welcome to the real world.
Right, they have zero chance of actually enforcing their property rights if someone violates them until they get back to or attempt to get back to Earth.
The FAA could deny you any landing rights on Earth though and arrest you if you violate that order. So unless you plan on living the rest of your life on the moon that would force you might want to comply.
Corporations are in the habit of wanting to make money, and if the FAA denies them cargo landing rights and seizes the cargo upon landing, corporations will have to follow the regulations too. Also, any terrestrial based corporation can be sued and hefty fined imposed by the FAA for such violations. No corporation would be willing to take the risk.
So who are your going to sell your minings to, the Martians.
The game we currently know as chess has been standardized for 400 years....even before FIDE came along.
Reading from the source code
No under promotion
No en passant pawn capture
No castling
This may be a game but it is not chess.
To be a great programmer (or even just a good one), you need to never stop learning. Always be learning something. Many times in my life I have learned something on my own, only to be able to apply is a totally different situation later in life.
Great programmer are insanely curious. They want to know the how things work, why one solution is better than another, always improving. That is the key, always be improving your craft, and your knowledge.
I expect to see on my next Verizon bill a "Rural Upgrade Tax".
You know this is going straight to the bottom line.
That works out to about $.10/customer.
I am sure Verizon is laughing at the FCC for this one.
It takes intelligence to make a nuclear weapon but it takes wisdom to use know when to use it (or not use it).
Intel should have called this Nitro Boost instead.
car analogy: I have a Saab 9000 Turbo and run it in Turbo Boost all day, never have a problem with overheating. Stupid Intel.
This is banking IT security at its finest. Nothing like being overly secure with our Accounts and Personal Data.