7 Ways to Improve Your Site's Crawlability (And Why You Should)

While keyword research, link-building, content optimization, and other on-page strategies can improve your domain’s search ranking, search engine optimization (SEO) starts with getting your pages indexed and to do that you need to ensure they’re crawler-friendly. Crawler bots, like human users, appreciate sites which have clear, structured, readable data. However, since crawlers can only spend a limited amount of time and resources per site, domains with incoherent site maps, broken links, or 404 errors might not get indexed at all, effectively invisibilizing it for all potential users. ...

September 24, 2019 · 6 min · 1166 words · icarnaghan

Object-Oriented Programming Demystified

Object-oriented programming (OOP) is the most common programming type and an essential part of popular programming languages, such as Java, C++ and C#. Its name offers an insight into how OOP languages work, which is by revolving around objects and using objects to get things done. The term object refers to a chunk of code that acts together as a whole and can be reused at any time, as well as interact with other objects. Some of the very basic elements of OOP include objects, classes and methods. Object-oriented programming works in a way that enables programmers to reuse their code and use it in multiple different instances, without having to write the code all over again. ...

September 24, 2019 · 3 min · 540 words · icarnaghan

JavaScript Arrow Functions: How Do They Work?

ES6 introduced a number of exciting features to the JavaScript standard classes, string templates, array and object de-structuring, block-scope variable declarations with “let” and “const”, and perhaps the most visible new feature, arrow functions. Arrow functions have quickly become the standard way of writing functions among professional JavaScript developers. Because they are so widespread, it’s essential for every JavaScript programmer to understand arrow functions - what they are, how to write them, and how they are different from ordinary functions. ...

September 23, 2019 · 4 min · 667 words · icarnaghan

JavaScript Closures

Anyone who has worked in JavaScript for any amount of time will likely come across concepts that require a deeper level of study in order to fully understand. Closures is certainly one of those areas that has caused me to review and experiment with several times. The purpose of this article is to provide a succinct overview of closures and offer several snippets of code to play around with in order to better understand this often tricky to grasp concept. Consciously or Unconsciously, most developers use closures while programming in JavaScript. Most of the time, everything works fine, but it is always better to understand how they work as they provide better control over your code. Moreover, at some point you might be asked to explain what closures are and hopefully by the end of this you will be in a much better position to do that. So let’s start with what a closure is. A simplified explanation would be that a closure is an inner function that has access to the variables of the outer function. This is called the scope chain. See my earlier article on JavaScript Scope if you need a refresher. ...

September 15, 2019 · 5 min · 943 words · icarnaghan

Asset Security – Bitesize CISSP Study Notes

Asset Security is the second domain of the CISSP. This domain focuses heavily on classification of data and labels used, various roles within an organization, data security controls and frameworks, baselining and hardening, and the various states of data. In addition to this data remanence and destruction are also covered and should be understood for the exam, especially understanding the difference between traditional magnetic storage vs newer solid state devices. ...

September 12, 2019 · 6 min · 1269 words · icarnaghan

How To Perform Heuristics Evaluation On A Website?

Every User Experience Researcher in the world gets the request of performing a Heuristic Evaluation at least once in their lifetime. But it is not always clear if the requester knows precisely about this process of evaluation. What happens is, they hear a word in trend, and they request it. But before you dive right into the heuristics evaluation of the website, you need to be aware of what it is and how you can conduct it with precision. Take some time and learn about all the ins and outs of the technique. ...

September 4, 2019 · 8 min · 1563 words · icarnaghan

Security Risk Management - Bitesize CISSP Study Notes

Security Risk Management is the first domain of the CISSP. These are some notes highlighting areas of study for this domain and are by no means a comprehensive set of materials for preparing for this certification. The content below is what I have used to better prepare for this domain. Before reviewing this section, if you haven’t already taken Kelly Handerhan’s CISSP course, I would highly recommend spending some time going through it. It is by far the most engaging and relevant video series I’ve seen for CISSP study prep. In the first domain she covers a slide called the tenants of secure design, which is also very relevant here. At a minimum, make sure you are familiar with concepts she covers here including risk analysis, defense in depth, fail safe, KISS (Keep it Simple Stupid), completeness of design, open design, redundancy, separation of duties, mandatory vacations, job rotation, and others. ...

September 3, 2019 · 8 min · 1600 words · icarnaghan

Learning to Program in TIC-80, a Fantasy Console

If you’re 40 years old or older, you might have learned how to use a computer on an old Commodore 64, Apple II or another computer about the same age. One of the things you probably learned about was the BASIC programming language. Maybe you were lucky enough to have a computer at home. One thing you probably learned was that if you wanted to play games, one way was to buy computer magazines at the bookstore and type in published source code. If you’re like some people, you learned a few things about programming from typing in those games, and went on to write your own. ...

September 2, 2019 · 4 min · 831 words · icarnaghan

Modern Design Approaches, Frameworks and Resources

Over the last few years, several web design trends have exploded in popularity and different frameworks and libraries have emerged to support them. It’s been close to a decade since the term ‘responsive’ became mainstream and changed our way of thinking about the structure of our applications across devices. Since that time other design philosophies have followed as we sought ways to improve the user experience across a diverse range of platforms. At the same time tools and techniques have continued to improve to arm designers with the right frameworks, libraries and approaches to deliver the best user experiences possible. In this article I will cover some of the more popular design approaches and libraries that can be used to implement them. I’ll conclude with a quick list of several wireframing tools that can also be used in design. I recommend checking out each of these resources via the links provided below. ...

July 12, 2019 · 5 min · 944 words · icarnaghan

Relational vs Star Schema Model

There are two main philosophies that have become prominent over the past several decades with information management pioneered by Bill Inmon and Ralph Kimball. Nagesh & Cody (2005) provide an overview of these contrasting approaches, which are vastly different with their own merits and downsides. Inmon believes in building a large centralized enterprise-wide data warehouse using a relational database. Kimball on the other hand recommends starting by defining data marts (subsets of data around a specific domain, or use case) within a star schema. In order to understand these approaches, it is essential to understand the main differences between a relational model and a star model. ...

March 4, 2019 · 3 min · 550 words · icarnaghan