10 Algorithms and Programming Courses to Crack Coding Interviews – DZone Agile

To be honest with you, getting your first job is never easy. It is, in fact, one of the hardest things in your life and you need to put your best effort to find a job in your dream company. Most of the computer science graduates dream of working for GoogleFacebookAmazonMicrosoft, and Apple but only a few programmers clear their difficult coding interviews.
The single most important reason for failing those coding job interviews is the lack of knowledge and practice. If you don’t don’t know much about what to learn then you are bound to fail, hence it becomes increasingly important that you prepare hard in advance.
Unfortunately, I learned this a little too late, after spoiling my chances at Microsoft and Amazon, but you don’t need to. You can learn from my experience and prepare better for your programming job interviews.
So, the big question is, how do you prepare for coding/programming job interviews? Which subjects should you read up on? Which questions will you need to solve? How do you deal with coding and other technology related questions?
When I was hunting for my first job there wasn’t much help available; we were totally reliant on our textbooks of programming languages and data structure to prepare for interviews, but things have changed in last 10 years.

Source: 10 Algorithms and Programming Courses to Crack Coding Interviews – DZone Agile

Cognitive bias cheat sheet – Better Humans

Sounds pretty useful! So what’s the downside?

In addition to the four problems, it would be useful to remember these four truths about how our solutions to these problems have problems of their own:

  1. We don’t see everything. Some of the information we filter out is actually useful and important.
  2. Our search for meaning can conjure illusions. We sometimes imagine details that were filled in by our assumptions, and construct meaning and stories that aren’t really there.
  3. Quick decisions can be seriously flawed. Some of the quick reactions and decisions we jump to are unfair, self-serving, and counter-productive.
  4. Our memory reinforces errors. Some of the stuff we remember for later just makes all of the above systems more biased, and more damaging to our thought processes.

Source: Cognitive bias cheat sheet – Better Humans

Cognitive bias cheat sheet – Better Humans

Great, how am I supposed to remember all of this?

You don’t have to. But you can start by remembering these four giant problems our brains have evolved to deal with over the last few million years (and maybe bookmark this page if you want to occasionally reference it for the exact bias you’re looking for):

  1. Information overload sucks, so we aggressively filter. Noise becomes signal.
  2. Lack of meaning is confusing, so we fill in the gaps. Signal becomes a story.
  3. Need to act fast lest we lose our chance, so we jump to conclusions. Stories become decisions.
  4. This isn’t getting easier, so we try to remember the important bits. Decisions inform our mental models of the world.

Source: Cognitive bias cheat sheet – Better Humans

Design Thinking for Enterprise Architects – A Conversation with Mayank Saxena – The Open Group Blog

There’s been a lot of talk lately in the tech industry about Design Thinking. What is Design Thinking, and how do you define that term?
There are two aspects in the presentation I’m giving in Singapore, and that is talking about digital and talking about design thinking. The goal is to stitch them together and put an architectural overlay on them.
My premise is that, when we speak about digital, which has become a new fad word, we’re not doing something different. If I speak to one person, they’re talking about business transformation. If I speak to another, they’re talking about digital transformation. But underlying all these transformation efforts, we’re doing the same thing and that is providing value to the customer, as well as how that value is generated changes in wake of innovations available today.
There are two ways to provide this value. One being outside-in and other inside-out. Outside-in is about gathering outside experiences inside the organization like the brand experience, customer perception, etc. And inside-out is about when organizations typically go into reinventing their own processes to realize outside expectations.

Source: Design Thinking for Enterprise Architects – A Conversation with Mayank Saxena – The Open Group Blog

Ten Immutable Laws Of Security (Version 2.0) – Roger's Security Blog


You might have known the 10 Immutable Laws Of Security since quite a while. It is kind of the “collected non-technical wisdom” of what we see in security respeonse being it in Microsoft Security Response Center or in our Security Product Support.
There is now a version 2, which is still as important as version 1 was. The 10 Laws are:

Law #1: If a bad guy can persuade you to run his program on your computer, it’s not solely your computer anymore.
Law #2: If a bad guy can alter the operating system on your computer, it’s not your computer anymore.
Law #3: If a bad guy has unrestricted physical access to your computer, it’s not your computer anymore.
Law #4: If you allow a bad guy to run active content in your website, it’s not your website any more.
Law #5: Weak passwords trump strong security.
Law #6: A computer is only as secure as the administrator is trustworthy.
Law #7: Encrypted data is only as secure as its decryption key.
Law #8: An out-of-date antimalware scanner is only marginally better than no scanner at all.
Law #9: Absolute anonymity isn’t practically achievable, online or offline.
Law #10: Technology is not a panacea.

Source: Ten Immutable Laws Of Security (Version 2.0) – Roger’s Security Blog

Software-defined data center – Wikipedia

Software-defined data center (SDDC; also: virtual data center, VDC) is a marketing term that extends virtualization concepts such as abstraction, pooling, and automation to all data center resources and services to achieve IT as a service (ITaaS).[1] In a software-defined data center, “all elements of the infrastructure — networking, storage, CPU and security – are virtualized and delivered as a service.”[2] While ITaaS may represent an outcome of SDDC, SDDC is differently cast[by whom?] toward integrators and datacenter builders rather than toward tenants. Software awareness in the infrastructure is not visible to tenants.
SDDC support can be claimed by a wide variety of approaches. Critics see the software-defined data center as a marketing tool and “software-defined hype,” noting this variability.[3]
In 2013, an analyst[which?] projected that at least some software-defined data center components would experience market growth. The software-defined networking market is expected to be valued at about USD $3.7 billion by 2016, compared to USD $360 million in 2013.[3] IDC estimates that the software-defined storage market is poised to expand faster than any other storage market.[3]

Source: Software-defined data center – Wikipedia

Azure Backup Overview – CodeProject

Azure Backup

Azure Backup is the Azure-based service which you can use to back up and restore your data in the Microsoft cloud. Azure Backup is a reliable, safe and competitively priced cloud-based backup solution which can be used to replace on-premises or off-site backup solutions. There are multiple components in Azure Backup which can be downloaded and deployed depending on what you want backed up. All of these components can be used to back up data to a Recovery Services vault in Azure, regardless of whether you’re protecting data on your premises or in the cloud.

Source: Azure Backup Overview – CodeProject

Hyper-converged infrastructure – Wikipedia

Hyper-converged infrastructure (HCI) is a software-defined IT infrastructure that virtualizes all of the elements of conventional “hardware-defined” systems. HCI includes, at a minimum, virtualized computing (a hypervisor), a virtualised SAN (software-defined storage) and virtualized networking (software-defined networking). HCI typically runs on commercial off-the-shelf (COTS) servers.
The primary difference between converged infrastructure (CI) and hyper-converged infrastructure is that in HCI, both the storage area network and the underlying storage abstractions are implemented virtually in software (at or via the hypervisor) rather than physically, in hardware. Because all of the software-defined elements are implemented within the context of the hypervisor, management of all resources can be federated across all instances of a hyper-converged infrastructure.

Source: Hyper-converged infrastructure – Wikipedia

Design Patterns for Microservices – DZone Microservices

Microservice architecture has become the de facto choice for modern application development. Though it solves certain problems, it is not a silver bullet. It has several drawbacks and when using this architecture, there are numerous issues that must be addressed. This brings about the need to learn common patterns in these problems and solve them with reusable solutions. Thus, design patterns for microservices need to be discussed. Before we dive into the design patterns, we need to understand on what principles microservice architecture has been built:

  1. Scalability
  2. Availability
  3. Resiliency
  4. Independent, autonomous
  5. Decentralized governance
  6. Failure isolation
  7. Auto-Provisioning
  8. Continuous delivery through DevOps

Applying all these principles brings several challenges and issues. Let’s discuss those problems and their solutions.

Source: Design Patterns for Microservices – DZone Microservices