Can anyone please tell about the overhead of Docker, compared to no-container scenario (not against a fat vm scenario)? I am a "dev" not "ops", but we might make use of Docker in our rapidly growing service oriented backend... Thanks
For process isolation, the overhead is approximately zero. It adds a few milliseconds to initial execution time, then CPU and memory consumption of your process should be undistinguishable from a no-container scenario.
For disk IO, as long as you use data volumes [1] for performance-critical directories (typically the database files), then overhead is also zero. For other directories, you incur the overhead of the underlying copy-on-write driver. That overhead varies from negligible (aufs) to very small (devicemapper). Either way that overhead ends up not mattering in production because those files are typically read/written very unfrequently (otherwise they would be in volumes).
VEry good answer, thank you. So in my scenario, I was thinking of packaging our service apps (which run on JVM) and if I make sure that the OS has jvm and all the needed stuff ready. Shipping a package and deploying the service, is just transferring the Docker container and run it. Which happens to be using the same process models as the OS itself. So in other terms, Docker is a convenience layer (a glorified FS abstraction). I am not saying this to undermine the utility, just trying to figure out if it solves more problems then the complexity it brings (which is one more moving part in your toolchain)
Lack of single key Home/End and forward delete etc. All are somewhat possible with the Fn key, but that makes crazy combos and go to start/end of line also is a pain...
If you use emacs style bindings, then control+a goes to start of line, control+e goes to end of line. Forward delete is control+d.
If you use Wordstar bindings, then control+q,control+s is start of line, control+q,control+d is end of line. Forward delete is control+g.
The Wordstar, Emacs and Vi keyboard bindings evolved in the days before dedicated keys for cursor movement functions, so they are useful as long as you have the requisite additional modifier keys. I.e., like when you are on a laptop with a limited number (or none) of dedicated cursor movement function keys (or with those same keys hidden behind odd Fn keystroke combos that differ between any two different laptops).
Check Paymill. They have a pretty good integration and are one of the strongest players in the market. They claim that they support Turkey too, but since I am located somewhere else I cannot check that. Otherwise they are cool
Good luck
The framework choice is not an independent evaluation, you have to take into consideration the accumulated experience level of prospective engineers you can grab within your reach. That's why actually all of the mentioned frameworks will be alive and going. It is increasingly hard to go exotic, if you are thinking of growth and agility. Otherwise you can paint yourself into a corner where recruitment is impossible and a big rewrite is inevitable.
Why? The next Instagram with an Instagram number of users would definitely not be using Parse, but the whole point of the text you are disagreeing with was that Facebook could use the data before the next Instagram fully exploded with users.
Perfect post about one of the most important principles in programming. Nine out of ten, concise design with fewer lines of code is better design than over-engineered abstractions over abstractions over abstractions over...
Work on developing solid technical skills. This is necessary condition but not sufficient. So, when the time comes, you can take responsibility and people will notice that you are good. If you can combine this with good personality, social skills and integrity, then you will definitely be appreciated. Almost always there will be some smart people around to notice you. And after enough time doing this, you will be the one who appreciate other people's efforts as well. Avoid empty politics at all costs, but own your work and present your value in a decent way. Don't wait silently, show your contribution, but don't overdo it. Job security is an illusion, don't go after it. You will probably receive fair compensation eventually. Focus on the things you can do passionately, and then happiness will follow. If you don't enjoy what you do or the people around you, you cannot force yourself to do it for long anyways, so change your position until it feels right. No-one can tell you when and where, but you'll notice it when you have it
I cannot believe how subjective it can get to discuss about such issues. You can discuss about the DO's and DONT's of programming with a fellow programmer for hours, and then he goes on his life and keeps writing infinite number of abstractions with little to no real benefit. Especially a common disease in Java world.
Writing clean and minimal code is hard, really hard...
Great article
Whenever the question is 'how do i ...' followed by insane amount of something, the right answer is usually; 'Don't'
Are you sure you want to have that many things in the same view, coz human attention is limited as well as his perception of movement and reading speed...