According to our rough estimate, based on 20 years of practice, earthwork can "lose" up to 50-60% of the budget. On reinforced concrete and finishing is exactly 30%. On the errors of re-registration in collisions, the cost of engineering increases by approximately 10%. It is for this simple reason, when the "evil customer" implements the BIM-model of the building, wild cries and groans begin on all sides.
BIM-control will now be on all state orders on a new standard, so the cries and groans will be especially epic.
Here I see the trace of all systems, I can get an accurate estimate for each node: and when I move or add an object I will receive updates in all project and working documents at once.
What is a BIM model? This is a three-dimensional model of a building where all systems are docked and tied together in one single plan. We put an outlet in the room - in the general estimate there was a new outlet and the corresponding cable meter. The error of this model is 2%. On paper, usually take a stock of 15%, and the surplus of this stock is desperately "lost."
Let's show you better examples than I will tell.
China is funding the development of the world's first prototype supercomputer for exaflop computing. The speed of the system will be a quintillion operations per second. Such a capacity the country will send to support the program of marine research.
These are the principles of software development, taken from the Robert Martin Clean Code book and adapted for PHP. This manual is not a programming style, but to create a readable, reusable and refactoring-friendly PHP code.
Not each of these principles should be strictly observed, and with even fewer will all agree. These are just recommendations, not more, but they are all codified in the author's many years of collective experience.
Developing a game for iOS
Promotion of the game
PreludeThis story happened in May exactly on the bench where Berlioz and Bezdomny had argued about the essence of Christ. My friends and I also argued about the possibility of making money on our iPhone-game. I said, suddenly, that without investing money it is impossible. Reluctantly my opponents agreed. I strengthened the trolling and added: - My friends, without big money it's absolutely impossible! Any amount less than $ 25,000, spent on the promotion of the application - will turn into a zipper. Пшшшш!
Everyone was indignant and drove me off the bench. At the same time, and from Moscow.
Following the publication of
Following the publication of the flared up serious competition for the Cup 26-08.
Players with Habra are so strong that on the first day they kicked me from the top of Olympus. But! In the first tower I found a solution for 2 points better than the others. And I won guys from Ukraine and Russia.
We can still!
It's hard to argue that the landscape is an integral part of most computer games in open spaces. The traditional method of realizing the change in the relief of the surrounding surface player is the following - take the mesh, which is a plane and for each primitive in this grid, we make a displacement along the normal to this plane by a value specific for this primitive. In simple words, we have a single-channel texture of 256 by 256 pixels and a grid plane. For each primitive from its coordinates on the plane, we take the value from the texture. Now we simply move the coordinates of the primitive along the normal to the plane by the resulting value (Fig. 1)
Pic.1 map of heights + plane = terrain
Why does this work? If we imagine that the player is on the surface of a sphere, and the radius of this sphere is extremely large in relation to the size of the player, then the curvature of the surface can be neglected and a plane can be used. But what if we do not neglect the fact that we are on the sphere? I would like to share my experience of constructing such landscapes with the reader in this article.
In the code id Software sometimes there are unmatched pearls. The most famous is, of course, 0x5f3759df , which even got comics on xkcd . Here we are talking about filling the screen: pixels are colored one at a time in random order, without repetition. How is this done?
On November 23, 2011 id Software supported its own tradition and published the source code of its previous engine.
This time, it's time idTech4 , which was used in Prey, in Quake 4 and, of course, in Doom 3. In just a few hours more than 400 forks of the repository on GitHub were created, people began to explore the internal mechanisms of the game or port it to other platforms. I also decided to participate and created a Intel version for Mac OS X , which John Carmack kindly advertised .
From the point of view of cleanliness and comments, this is the best release of the id Software code since the code base Doom iPhone (which was released later, and therefore commented better). I highly recommend that everyone learn this engine, collect it and experiment.
Here are my notes about what I understood. As usual, I cleaned them, I hope they save someone a couple of hours and encourage someone to study the code to improve their programming skills.
"Something is missing here." I bet you, this idea will come first to your head, if you see my workplace in the office. There is no monitor and mouse. There is only a guy who threshes on the keyboard, looking as if into emptiness.
It's just me, and my colleagues guarantee you that I'm usually not dangerous. I'm a programmer at the Vincit office in Tampere (Finland). And I'm blind. In this article I want to tell you a little about how I work.
One of the most important factors affecting the speed of development and the success of the project launch is the correct decomposition of the product manager idea into tasks for programming directly. How to do it right? Take the script of the new feature from the product and immediately start coding? First, write the acceptance tests, and then code that will provide their passing? And, maybe, shift everything to the shoulders of developers - and let them decide during the spam poker themselves?
Let's think about it and identify the problems that can arise in the process of separation of tasks, and the ways to solve them. In this post, we will discuss the basic principles of decomposition of tasks when working in a team. My name is Ilya Ageyev, I'm the head of QA in Badoo. Today I'll tell you how workflow affects decomposition, how different are testing and laying out tasks that arise as a result of decomposition, and what rules should be followed to ensure that the development process goes smoothly for all participants.
The meeting of the ISO WG21 C ++ Committee, which was held in Toronto from 10 to 15 July, ended today. Soon we will surely be waiting for detailed report from WP21 , and today the respected public is offered a post- "Warming up" with a discussion of the most interesting.
The results of the meeting are as follows: C ++ standard 17 is completed and will be published at the next meeting in November this year; the standard C ++ 20 has already acquired the first serious features - concepts ( concepts ), explicit generic lambda functions (explicit explicit lambdas < / i>) - and this is just the beginning.
The possibilities of the new C ++ standard 17 have been discussed more than once, about innovations written on Habr , conducted reports at conferences , so I will not bring them here again. It's no secret that the key feature of this release of C ++ was carrying the most "delicious" options into an uncertain future. Well, now we can say with certainty that many of the long-awaited "features" have moved to C ++ 20. The course taken for the stdlib extension has not gone away, so a much larger and rich set of functions can be expected from C ++ 20.