Fog Computing is the Future

The term fog computing (or fogging) was coined by Cisco in 2014, so it is new for the general public. Fog and cloud computing are interconnected. In nature, fog is closer to the earth than clouds; in the technological world, it is just the same, fog is closer to end-users, bringing cloud capabilities down to the ground.

The main difference between fog computing and cloud computing is that the cloud is a centralized system, while the fog is a distributed decentralized infrastructure.

What to Avoid When Considering DevOps Transformation

DevOps isn’t a new concept — it has been in the market for over a decade now. Companies have realized the benefits of adopting DevOps. While businesses are considering DevOps integral for agile development, they are still facing challenges in fully leveraging its capabilities.

Major DevOps Benefits

  • Reduced costs
  • Greater competencies
  • Better communication and cooperation opportunities
  • Fast and innovative development cycle

State of DevOps report by Puppet found that high performing DevOps teams could deploy code 100 times faster, fail three times less and recover 24 times faster than low performing teams.

Looking Beyond JSON

Preface

In a world where even services are becoming micro, I thought of writing a micro story.

The trigger point of this article is the unquestionable dominant usage of JSON. You are looked upon with suspicion if you try proposing to even evaluate an alternate. I have been amazed by the faith in JSON we have put in many architectural solutions.

Has ML Reached its Potential in the Healthcare Industry?

With an ever-expanding global population, the healthcare system is under tremendous pressure to deliver affordable health care. Now, more than ever, people need greater, smarter healthcare systems, software, and wearable technology that will allow them to lead happier lives and extend their lifetime. Artificial Intelligence in Healthcare is expected to grow from $2.1 billion to $36.1 billion by 2025, displaying a CAGR of 50.2% over the span. 

For decades, the healthcare sector has been an early adopter of new technology and has gained many benefits from it. Machine learning (AI) has indeed played a key role in many areas of health care, including the development of new medical procedures, the handling of patient data and records, and the treatment of chronic diseases. It is understood that hospitals, clinics, and other healthcare organizations around the globe are gradually beginning to recognize the need for digitization and integration within administrative processes. Moreover, technology has contributed to the discovery and development of new medicines that already have tremendous potential in helping people with difficult conditions. More specifically, the increasing use of machine learning has enabled scientists and researchers to create a range of strategies for treating and diagnosing a disease

How to Use HarperDB Instance With React Hooks

HarperDB Cloud is a database service that supports both SQL and NoSQL queries for CRUD operations. It needs minimal configuration to get started and its realm is not only limited to build REST APIs with a server-side technology such as Node.js.

HarperDB offers a way to access the database cloud instance directly in your client-side application. It has a built-in HTTP API that allows us to query data directly.

Node.js Creator Ryan Dahl Interview

Introduction

Ryan Dahl is a software engineer and the original developer of the Node.js, and the Deno JavaScript and TypeScript runtime. We are glad to have had an opportunity to speak to Ryan about his projects, the main challenges in Deno, hear his thoughts on the future of JavaScript and TypeScript, find more about the third-party Deno ecosystem projects and discuss how he would have changed his approach to Node.js if he could travel back in time!

The Interview

Evrone: Your new Deno project is quite an impact among developers. What are you doing right now most of the time?

Silly Kubectl Trick #2: LIST RUNNING IMAGES

Running Kubernetes in production means taking inventory. A LOT. Are any of our pods running that version of Ubuntu base image affected by the new CVE? Do we even use Alpine Linux anywhere? What versions of MySQL are we currently running (and where)? The standard output of kubectl get pods doesn't help to answer any of these questions.

That's okay, though, because we have the custom-columns output format!

Cloud Development Environments: Using Skaffold and Telepresence on Kubernetes

Skaffold is an open-source project created by Google. It provides a development framework for Kubernetes-based applications. This framework creates a fast, repeatable, and simple local Kubernetes workflow. Put simply, this means that it handles all the hard bits of managing a cloud-native local development environment, such as building images and deploying to Kubernetes. With Skaffold handling the hard bits, you save time with every iteration you make in development.

Telepresence is an open-source tool created by Ambassador Labs. Telepresence makes Kubernetes developers super productive by letting them code as if their laptop is in their Kubernetes cluster. This way you can query cluster resources and experiment rapidly with other services in real-time.

What New Zealand’s Privacy Act 2020 Means for APIs

On December 1st, 2020, New Zealand’s revamped privacy act went into effect. The Privacy Act originally passed in 1993 and has been revisited multiple times, but the 2020 act clarifies its reach and outlines what organizations need to do in order to be compliant.

In addition to updating the original privacy act, Privacy Act 2020 also expands the office of the National Privacy Commissioner that can receive complaints from individuals, investigate privacy concerns, require organizations to make changes to their operations, and even impose fines on organizations not in compliance.

The Theory and Motive Behind Active/Active Multi-Region Architectures

The date was 24th December 2012, Christmas eve. The world’s largest video streaming service, Netflix experienced one of its worst incidents in company history. The incident was an outage of video playback on TV devices for customers in Canada, the United States, and the LATAM region. Fortunately, the enduring efforts of responders over at Netflix, along with AWS where the Amazon Elastic Load Balancer service experiencing disruptions resulting in the cause of the incident, managed to restore services just in time for Christmas. If one were to think about the events that ensued over at Netflix and AWS that day, it would be comparable to all those movies of saving Christmas that we all love to watch around that time of year.

This idea of incident management comes from the ubiquitous fact that incidents will happen. This is not an unknown fact and best immortalized by Amazon VP and CTO Werner Vogels when he said “Everything fails all the time”. It is, therefore, understood that things will break but the question that persists is can we do anything to mitigate the impact of these inevitable incidents? The answer is of course yes.

Accelerating the Delivery of Your Project in the Cloud in an Easy and Intuitive Way

Git is currently the most used version control within the software development world, and it is where all the code and logic of the programming are concentrated. However, it is not only from code that an application is lived. Thus, it is also necessary that there are operations settings such as database, security definition, public routes, etc. And if to simplify delivery, increase the frequency of deployments, and empower the development team, do we place operations as infrastructure as code through an interactive API within the same Git repository? With that goal, GitOps was born. This article will explore this topic by demonstrating its advantages and why a development team should get to know you to simplify your life in the cloud.

In Software, the Main Focus Is on Risk-free Delivery

Over the years of software development, the entire technology industry can experience different methodologies to deliver a program. In the beginning, there was the waterfall model, and one of the characteristics of that moment was the period to deliver a version. An annual delivery was widespread, and at that moment, an entire operation and a deployment window were needed, which took hours to complete the operation. This caused operations such as updating databases, languages, or some third-party software to be discouraged since a simple deployment means a very complex, risky, and costly operation.

Multi-Threaded Geo Web Crawler In Java

[Updates to the Article and Codebase / Code Snippets ~ 17/Feb/2021]
- Fixed Possible Con. Leaks in Network Connections
- Fixed Poor Code and Bad Programming Practices
- Improved Code Formatting, Practiced Clean Code*
- Mowglee v0.02a is Released (Previously, v0.01a')


This article provides the implementation of a web crawling system called Mowglee that uses geography as the main classifying criteria for crawling. Also, it runs in a multi-threaded mode that provides a default implementation of the robot's exclusion protocol, sitemap generation, data classifiers, data analyzers, and a general framework for application to be built of a web crawler. The implementation is in core Java. Mowglee is a multi-threaded geo web crawler in Java.

Ask the Bartender: Frustrations and Finding the Right WordPress Block Plugins

Hello. I always supported the idea of a WordPress block editor as a whole, but lately, I’m a bit frustrated in that there are some blocks I need with urgency to work on a (non-visitor editable) wiki-like site (mostly a Tabs block, a Countdown block, an Accordion/Toggle block, a Table of contents block and a Footnotes block) and have not had luck finding appropriate plugins. I can name a long list of the specific problems I have with the ones available right now…

Andrés

Andrés’ question spanned another 400 words or so. The following summarizes the problems he has run into:

  • Block collection plugins cover some but not all use cases.
  • Seemingly suitable blocks have too few or too many options.
  • Few blocks can be converted to other block types.
  • Many block plugins have not been updated in a while, causing fear of abandonment.
  • No way to batch convert blocks if a better plugin is found.
  • Need a footnotes block.

I do not necessarily see most of these as block-related problems. It can be tough to find that sweet spot, fine-tuning your WordPress site with just the right tools.

When I first began using WordPress in 2005, I hit these same sorts of problems. And they were problems throughout my career as a developer. I would find a plugin that would do almost what I wanted. I would find another that would add way too many unnecessary features. Often, nothing seemed to exist that was perfect for my needs. This was the sole reason I jumped into development — if you want something done right, do it yourself. I wanted my WordPress site to work according to my own strict specifications. No one else would do it for me, and I was a starving college student who could not afford to hire a developer. It left me little choice other than putting in the time and effort to make it happen.

While I am not suggesting that you must go down the path that I once did, it is always an option worth exploring. Many great developers began with this same type of frustration. They had a problem and needed a fix for it.

Open-source is about giving and taking. When you cannot pay it forward in terms of code, feedback is always welcome. That is one reason I like to highlight these questions. Even when I do not have the answer, maybe someone else will. Perhaps your requests will spark an idea for one of the many developers who read WP Tavern.

I definitely do not have all the answers to this laundry-list of questions. It is a broad subject that will take a community to solve.

Many of your issues might be handled by nothing more than having a conversation with the developers behind the block collection plugins you are using. Step one is to start a dialogue with them. I bet most are willing to listen to your ideas on how they can improve their products as long as you address them constructively.

Try One-Off Block plugins

Searching for and installing a single-use block directly from the WordPress editor.
Installing a single-use block from the editor.

The future of using blocks is going to be far more about finding and installing individual blocks rather than collections. WordPress has done its users a disservice by not actively promoting these one-off block plugins. We are over two years into the block editor and still do not have a block directory and management screen built directly into the software. Sure, users can search via the block inserter directly from the editor, but it does not replace a full management experience.

This missing feature has helped spur massive library plugins, which have become the de facto method that most users find new blocks. Far too many plugin developers are following the Jetpack model of packaging them all together. Without full block management baked into core, this trend will only continue. At this point, it may be hard to break from the mold.

However, you can still find a listing of available single-use blocks from the block directory on WordPress.org, at least the ones that plugin authors have appropriately tagged.

Screenshot of the WordPress.org block directory.
WordPress block directory.

I recommend testing these blocks before diving into a library-type plugin. There is always the risk of developer abandonment — there is nothing you can really do about that when it comes to any type of plugin other than supporting the authors.

The block directory’s problem is that it has only a little over 120 blocks — like I said, WordPress has not done enough to promote it. This means there is not enough competition to drive innovation and bring clear winners to the forefront. Some of the blocks are hit-or-miss projects. I know this does not breed confidence, but I can say from experience that I always loved user feedback as a developer. It is the lifeblood of any project. Give the plugins a test. Even if you do not like or use them, send your feedback over to the developers.

The following is a short, not comprehensive, list of some single-use blocks that may be appropriate for you:

Footnotes Block Plugin

Decorative image of a page in a dictionary, highlighting the "footnote" definition.

I feel your frustration about footnotes. WordPress lacks this feature that any decent desktop-level writing software has. From past experience earning my B.A. in English, footnotes were a core part of the experience. It baffles me that the most-used CMS in the world has yet to add even a basic version of footnotes to its toolset.

Fortunately, other like-minded people want to see footnotes in WordPress. Ella van Durpe has a draft of a footnotes feature on the Gutenberg repository. This is an ongoing, three-year discussion. There is no reason to believe it will be baked into core soon, but it is reason enough to be hopeful.

The Academic Blogger’s Toolkit plugin supports footnotes. It has not been updated in a year and could be overkill for what you need. However, it would not hurt to give it a test run.

Several footnote plugins in the directory should work fine with the block editor. The standard method employed by many of them uses a ((double-parentheses)) to add footnotes from within the editor. Those notes are then parsed before being displayed on the front end.

That is not my style. I prefer the visual separation of the references and the footnotes in both the editor and the front end. The great thing about the block editor is that you can manually build footnotes without a plugin. Or, at least you can create almost-footnotes.

Cathy Meder-Dempsey, a genealogist and blogger for Opening Doors in Brick Walls, has an exhaustive tutorial on manually adding references and a footnotes section with the block editor. It is not a perfect solution and works best when you have only a few footnotes. This is because the reference links jump to the overall footnotes section rather than the individual notes. It is a quick solution in a pinch.

This post is a part of the Ask the Bartender series. If you have a question about WordPress, feel free to shoot it over. Your question could be featured next.

Writing Better Production Readiness Checklists

When we think of reliability tools, we may overlook the humble checklist. While tools like SLOs represent the cutting edge of SRE, checklists have been recommended in many industries such as surgery and aviation for almost a century. But checklists owe this long and widespread adoption to their usefulness.

Checklists can help limit errors when deploying code to production. In this blog post, we’ll cover:

Beyond Observability: Putting Intelligence in Modern Monitoring

If you’re paying attention to anything that’s happening in the development world, you’re likely familiar with the term “observability.” We’re seeing more and more monitoring companies from all different backgrounds jumping on the term to describe their solutions, many claiming their observability tool to be the factor that will take businesses to the next level.

Growing out-of-control system engineering, observability allows dev teams to unify and study the behaviors of various IT systems through the external outputs of the internal systems. In the case of software, that’s log events, distributed tracing, and time-series metrics. By unifying the data streaming through today’s complex IT environments, it certainly gives SREs and DevOps practitioners a leg up from traditional monitoring. But the data alone is no longer enough.

Intelligent Vision: AR Contact Lenses Coming Soon?

Given the number of variables and lack of empirical data, there’s simply no way to measure the number of people who need to wear glasses or contact lenses in the world. For instance, some people only need visionary aid to read, some to drive, some experience short or long-sightedness and others may simply turn to glasses as a fashion accessory. Of those who use contact lenses as well as eyeglasses, over 62% wear contact lenses more often. 

Convenience, comfort, and flexibility of contact lenses are perhaps the most attributable factors to this high statistic. The small plastic lenses are incredibly portable, invisible, and negate the need to wear a whole frame on a user’s face. Contact lenses sit seamlessly on the curvature of the eye, giving the user a far wider field of view than glasses lenses - which often create blind spots and restrict vision. Contact lenses are typically less affected by adverse weather conditions such as fog and rain and are more suitable to wear when taking part in physical activity and competitive sports.