Then I got an SSD harddrive. It's like I'm using a new (much faster) machine. The VM's seem like they're native.
SSD HD's are still pretty expensive but worth every penny IMO (and way cheaper than a new MBP).
109 karma · joined June 19, 2007
Then I got an SSD harddrive. It's like I'm using a new (much faster) machine. The VM's seem like they're native.
SSD HD's are still pretty expensive but worth every penny IMO (and way cheaper than a new MBP).
Most compilers make a large effort to give you good error messages with file names and line numbers so you can correct your mistake.
Downvoting is like reporting an error with no context: not very useful in determining what is wrong with the comment.
I think Computer Science has the same gravitas as the other professional fields you mention but that isn't the mainstream concept of what computer programming is all about...
Building computer programs is much more akin to other acts of creation. People don't really require artists or authors to have degrees in their respective fields.
People can and do start painting/writing/programming without any academic qualifications. These same people frequently give up after a short time because becoming a master of such fields takes a lot of work.
That said, computer programming is about the only such field where unexperienced practitioners of the art can make a decent living (e.g. they are paid to practice).
This lock is per instance of the python interpreter. Multiple instances will have a corresponding number of locks.
There are a couple of ways to have python use multiple cores or CPUs.
The first is to run multiple python instances and have them communicate between themselves using IPC mechanisms (e.g. sockets, pipes, shared memory, etc.). The non-standard "processing" module implements this very cleanly using a similar interface to the standard "threading" module.
The second is to extend Python using C and explicitly release the GIL inside the C extension. This allows both the C extension code and the Python interpreter to run simultaneously. However, the GIL will need to be reacquired before the C extension can resume any interaction with the Python interpreter.
No matter how well designed the code and no matter how often the code is refactored, reality imposes on that neatly designed little world and makes the code sub-optimal.
This is when being able to understand code becomes important. To get inside the head of the author is an invaluable skill (even if the reader and the author are the same person separated in time). To understand why they did what they did (the answer is not always "they were morons"). To understand how to change the code and still guarantee the underlying assumptions.
Also, I would say that being able to read and understand code is even more important when your co-workers are equal to or above your skill level. To try to puzzle out why they did something can lead to an "aha!" type moment which are invaluable in learning new ways of solving problems.
So I would say that being able to read code is important. Maybe not "one of the finest tests" but an important test nonetheless.
It might take years to balance out but the balance must exist. I've done the geek thing and I've done the social thing. They are both interesting for a while but I always seem to eventually shift back to the center.
He later told me that he didn't feel at all comfortable during the conversation. He said that he has been trying to "bust out of his geeky shell" by talking to random people. To me it looked like he was just a friendly guy chatting with a stranger.
Moral of the story: just do it. It will probably feel weird but you are the only person who will notice.