I now live in NY and I have a basement. It's generally about 10 degrees cooler. I would have loved that in Fresno.
962 karma · joined March 25, 2011
I now live in NY and I have a basement. It's generally about 10 degrees cooler. I would have loved that in Fresno.
Also, a lot of the time it feels like the answer to most leetcode problem is some sort of trick.... and if you think of it you are golden and if you don't it sucks to be you. Most of the time I'm trying to write code that is NOT tricky... So in some ways I think the job itself will train you to seek simple clean solutions as opposed to tricks.
This all means we can implement indexes as b-trees where the keys are the values of a particular column and the value is the file offset of the row with that value. You could envision a simple db format where indexes and the main row file are stored in separate files. In such a database you could drop an index simply by deleting the indexes file (or add one by creating it). The main row file actually has all of the data and so indexes can be recreated if necessary (at expense of course).
I think the neocortex for the most part lets other parts of the brain control themselves... and really only has high level access. I think emotions are one of these lower level semi autonomous subsystems... but so are things like autonomous body control, balance, each of the senses etc, etc... The neocortex is playing the "Human" video game and controlling things from a high level... but cannot directly control every aspect of these subsystems... and honestly, this is how complexity is dealt with (if the neocortex could control it all, the whats the point of the other subsystems)?
"I don't know how to do X, Y and Z."
Before I begin working on the real solutions for X, Y & Z I start by making a test program that does X. It's ok if it requires a ton of scaffolding, or canned data... the important thing is to do X. Then I do the same for Y & Z.
Now that I understand the problem I do a software design. I do this on paper and I purposely do it super quick and not caring about how neat it is... and I throw away designs rapidly as I iterate and improve. Eventually the paper crumbling slows down and I approach a real design.
This is finally the point that I can write "real" code. The unknowns are gone and all the software design iteration happened on paper.
Perhaps second place is using the rpath origin linker option to create a relocatable application.
I think we're still probably 20 years away from commercialization of this, but I still think this is a very big deal.