Malware written in PHP?!

The following summary is not a complete analysis. It highlights only the main stages of the malware’s behavior and campaign as a whole, which were worth describing according to the authors. Analysis…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




First Principle Thinking in Software Development

First principle thinking is the scientific questioning of various preconceived statements, which are generally assumed to be scientific. It does not assume preconceptions and biasness in its approach. It allows one to construct a solution bottoms-up, starting with the fundamental pieces.

For instance, there is a common conception that most people cannot afford electric cars as they are expensive. First principle thinking refutes this notion as battery of electric cars can be made from cost efficient resources.

Likewise, many budding entrepreneurs tend to believe that all the best start up ideas are taken. First principle challenges this biasness in concrete terms to give it a wider dimension. Many of the products that we hail as innovative today actually piggybacked on existing ideas.

What about first principle thinking in software engineering? The short answer is that we practice it often but in bits and pieces!

Modelling a complex problem in software is challenging. Software engineers have used Object oriented programming since 1960s. And guess what, first principle thinking in software development is based on object orientation. This object orientation encompasses the aspects of encapsulation, abstraction etc help us model parts of the real world. Other programming paradigms like functional and reactive programming also help us break a niche problem into simple building blocks.

Widely used machine learning and data mining algorithms have strong roots in Mathematics viz algebra, probability and optimisation. Although first principle thinking has its merits, software engineers have not fully benefitted from it for various reasons.

We are habituated to relating problems to something that we may have solved in the past. Software engineers tend to spend more time writing code, fixing bugs and less time on “think-time”.

Further, software systems employ well established architectural and design patterns which significantly reduces time-to-market. Libraries, frameworks and cloud-based solutions have been well…

Add a comment

Related posts:

How to Give Yourself a Raise

I know this may sound a bit deceiving and illegal but trust me it’s not. Having more take home pay is not always possible but having more money after all the bills are paid is the same as giving…

Gutenberg 2.9 and My Contributions

Woohoo! Gutenberg 2.9 is out today. I have to say it’s going good so far and coming into a shape to be merged into the core. For peeps who are not familiar to what I’m talking about, the Gutenberg…

Stay updated with the last news about Hive Power on our new blog

We announce that in order to have full control on our content, we have created our own blog which is available at this link: https://blog.hivepower.tech This means that we won’t use Medium anymore…