Can not Boot from Harddisk

Hi all...

I have a problem with the computer not booting from the hard drive, where as if I look at the BIOS setup the hard drive is recognized.
I'm using a motherboard from Asus H110M-E M2

thanks for advance

Kubernetes Security Guide: High-Level K8s Hardening Guide

This is an article from DZone's 2021 Kubernetes and the Enterprise Trend Report.

For more:


Read the Report

As more organizations have begun to embrace cloud-native technologies, Kubernetes adoption has become the industry standard for container orchestration. This shift toward Kubernetes has largely automated and simplified the deployment, scaling, and management of containerized applications, providing numerous benefits over legacy management protocols for traditional monolithic systems. However, securely managing Kubernetes at scale comes with a unique set of challenges, including hardening the cluster, securing the supply chain, and detecting threats at runtime. 

The CSS from-font Value Explained in 4 Demos

I was doing my Advent of UI Components, and I stumbled upon the from-font value for the text-decoration-thickness CSS property. I was curious about it, so I did a little research and I think what I found (and learned) is both interesting and worth sharing.

About the from-font value

Here’s how MDN defines the from-font value:

If the font file includes information about a preferred thickness, use that value. If the font file doesn’t include this information, behave as if auto was set, with the browser choosing an appropriate thickness.

So, the from-font value is used only if the font file has the definition for the thickness of the line. Otherwise, browsers use the auto value, which tells the browser to choose the thickness. I wanted to find out how that works, so I made a few demos comparing it to the other values.

Demo 1: text-decoration-thickness: auto

In the first demo, I wanted to see how the auto value for thickness works with under, over, and strikethrough lines for the default font family.

I didn’t find anything particularly interesting here, except that some combinations don’t work very well for strikethrough text (if you ask me). For example, using a wavy decoration with strikethrough isn’t readable, but that might be the desired output in some scenarios, I guess.

Demo 2: text-decoration-thickness: 0px

In the second demo, I wanted to see how the text works with thin lines.

The lines work with paragraphs or smaller text, but the thin strikethrough line doesn’t work very well with large text as the strikethrough line is hard to detect.

Showing the from-font value on larger text. The text is black and the line through the text is thin and barely noticeable.

I also learned that you cannot set the line thickness below 1px. In the demo, the line thickness is set to 0px, but the browser renders a 1px line anyway.

Demo 3: text-decoration-thickness: from-font and font-weight

Next, I wanted to see if the text-decoration-thickness: from-font declaration changes with the font weight. On the left, the value is set to from-font; on the right, the value is set to auto.

The from-font value doesn’t seem to follow changes to the text’s font weight, at least not with when Roboto is the font family. There is no difference between how big or bold the text is set. The line thickness is the same if the value is set to from-font.

It is worth noting that Firefox renders the line thickness the same for both values, so my guess is that Firefox actually uses the from-font value for the auto value.

Demo 4: text-decoration-thickness: from-font and font-family

In this final demo, I wanted to see how the from-font value works with different font families. It doesn’t impact the paragraphs or the smaller font sizes because it renders the smallest value, 1px. The difference is visible for the bigger font sizes, like default <h1> elements, but only if you look very closely. Also, the strikethrough line is once again too thin on bigger text. This is something that font designers and developers might consider when designing and defining fonts.

Browser support

You can most certainly use the text-decoration-thickness property today since most modern browsers support this property.

So, should you use it?

Although the from-font value might seem like a good idea, I don’t think it should be used just yet. There are too many inconsistencies with the default text-decoration-thickness value across the browsers (which Šime Vidas has covered in great depth), so it is no surprise that the from-font value is still not working that well. Maybe the from-font value should be defined in percentages or some other relative unit so that it changes with the font size. Maybe font designers feel that it shouldn’t work that way. Either way, it seems like more discussion is warranted to nail down the property value’s default behavior and how it renders.

I am using the from-font value on my personal site for the link underlines in the articles, and I think it works great. The line is subtle, but it still communicates the interaction.

I look forward to seeing more options for the text-decoration-thickness in the future.


The CSS from-font Value Explained in 4 Demos originally published on CSS-Tricks. You should get the newsletter and become a supporter.

Making APM a Company-Wide Effort

This is an article from DZone's 2021 Application Performance Management Trend Report.

For more:


Read the Report

Today, more than ever, users are unwilling to wait and tolerate failure. Nearly 50 percent of users expect a load time of less than two seconds. Hyperconnectivity has become the new status quo, and with it comes higher pressure on the industry to provide the best service possible. This has also transformed the software application landscape into an intricate net of components — from APIs to CDNs — each of which can easily become the weak link when a problem occurs, leading to poor customer experiences and unhappy end users. 

Backlight: Where Designers & Developers Build Design Systems at Scale

Is your team struggling to create seamless synchronization between Designers and Developers? Do you wish project hand-offs were less time-consuming? Are you ready to streamline your team’s workflow? A simpler and more efficient design process is achievable with Backlight – the collaborative platform, used by front-end development teams.

Backlight is an all-in-one development tool that can be used to collaboratively build, ship, and scale efficient design systems. Created with developers and designers in mind, Backlight uses standard web development technology and can publish NPM packages on demand.

backlight product feature

Key Features: How Backlight Helps Build Design Systems

  • Components are visually organized
  • Live documentation is editable
  • Documentation support for Markdown, MDX, MD Vue, and Nunjunk
  • Design integration that supports Sketch, Figma, and Adobe XD
  • Integration with GitHub and Gitlab
  • Built-in test runner and reporter
  • Ejectable design systems that use 100% standard web development technologies

Pricing: How Much Backlight Costs

Backlight pricing starts with a free plan that includes up to three editors, two design systems, unlimited viewers, Github integration, Gitlab integration, community support, and the ability to publish NPM packages. If you’re interested in learning more about the ins and outs of Backlight, the free tier is an excellent way to test this platform without spending a penny.

The next tier is the Pro plan, which starts at $149/month. This plan includes all the features of the free plan plus, five design systems, unlimited users, and email support from Backlight.

Lastly, Backlight offers an Enterprise tier for companies that need advanced features and premium support. The pricing for this plan starts at $499. The Enterprise tier includes all of the pro features and unlimited design systems – making it Backlight’s most robust option yet.

Conclusion

Backlight is a Design System platform built for collaboration. Large teams will benefit from simplified workflows and increased productivity. Smaller teams will leverage Backlight, equally, to build their Design System without needing a dedicated team.

OpenTelemetry Moves Past the Three Pillars

This is an article from DZone's 2021 Application Performance Management Trend Report.

For more:


Read the Report

Last summer, the OpenTelemetry project reached the incubation stage within the Cloud Native Computing Foundation. At the same time, OpenTelemetry passed another mile marker: over 1,000 contributing developers representing over 200 different organizations. This includes significant investments from three major cloud providers (Google, Microsoft, and AWS), numerous observability providers (Lightstep, Splunk, Honeycomb, Dynatrace, New Relic, Red Hat, Data Dog, etc.), and large end-user companies (Shopify, Postmates, Zillow, Uber, Mailchimp, etc.). It is the second-largest project within the CNCF, after Kubernetes. 

Productive Downtime: A New Productivity Method to Implement in 2022

It is no secret that the standard model for productivity is broken. Burnout is rampant in the corporate world, with workers pushed to their limits in an attempt to achieve more.

But, quite often, in an attempt to achieve more—less is done. We think we’re being productive but really, all we’re doing is completing work for the sake of it. And too often, this results in poor quality work, that either has to be redone or negatively impacts the business’s image with a client

Nemo – The Ubuntu File Manager You Didn’t Know You Needed

So… I finally got bored with Nautilus.

Ubuntu has been my daily driver for the last several years. I remember when Linux used to be a second-class citizen in the desktop space, only used by nerds and devs who could unravel its arcane and obscure mysteries. But it has come a long way. Not only is it a lot more user-friendly with a plethora of customization options, but Steam, and especially Proton, has added first-class gaming support for Linux. I haven’t had a dual boot Ubuntu/Windows system in quite a while and that’s a huge win.

Hiding SOAP Legacy Applications Using the Mullet Pattern

This post recaps my talk with Aaron Weikle, the founder, and CEO at MS3, about supporting legacy-based applications as companies add the next generation of microservices. Check out the transcript and video from our conversation below!

Question: Could you start by setting the stage for our viewers on the problems organizations run into and how this relates to common connectivity challenges?

What Web Frameworks Solve And How To Do Without Them (Part 1)

I have recently become very interested in comparing frameworks to vanilla JavaScript. It started after some frustration I had using React in some of my freelance projects, and with my recent, more intimate acquaintance with web standards as a specification editor.

I was interested to see what are the commonalities and differences between the frameworks, what the web platform has to offer as a leaner alternative, and whether it’s sufficient. My objective is not to bash frameworks, but rather to understand the costs and benefits, to determine whether an alternative exists, and to see whether we can learn from it, even if we do decide to use a framework.

In this first part, I will deep dive into a few technical features common across frameworks, and how some of the different frameworks implement them. I will also look at the cost of using those frameworks.

The Frameworks

I chose four frameworks to look at: React, being the dominant one today, and three newer contenders that claim to do things differently from React.

  • React
    “React makes it painless to create interactive UIs. Declarative views make your code more predictable and easier to debug.”
  • SolidJS
    “Solid follows the same philosophy as React… It however has a completely different implementation that forgoes using a virtual DOM.”
  • Svelte
    “Svelte is a radical new approach to building user interfaces… a compile step that happens when you build your app. Instead of using techniques like virtual DOM diffing, Svelte writes code that surgically updates the DOM when the state of your app changes.”
  • Lit
    “Building on top of the Web Components standards, Lit adds just … reactivity, declarative templates, and a handful of thoughtful features.”

To summarize what the frameworks say about their differentiators:

  • React makes building UIs easier with declarative views.
  • SolidJS follows React’s philosophy but uses a different technique.
  • Svelte uses a compile-time approach to UIs.
  • Lit uses existing standards, with some added lightweight features.
What Frameworks Solve

The frameworks themselves mention the words declarative, reactivity, and virtual DOM. Let’s dive into what those mean.

Declarative Programming

Declarative programming is a paradigm in which logic is defined without specifying the control flow. We describe what the result needs to be, rather than what steps would take us there.

In the early days of declarative frameworks, circa 2010, DOM APIs were a lot more bare and verbose, and writing web applications with imperative JavaScript required a lot of boilerplate code. That’s when the concept of “model-view-viewmodel” (MVVM) became prevalent, with the then-groundbreaking Knockout and AngularJS frameworks, providing a JavaScript declarative layer that handled that complexity inside the library.

MVVM is not a widely used term today, and it’s somewhat of a variation of the older term “data-binding”.

Data Binding

Data binding is a declarative way to express how data is synchronized between a model and a user interface.

All of the popular UI frameworks provide some form of data-binding, and their tutorials start with a data-binding example.

Here is data-binding in JSX (SolidJS and React):

function HelloWorld() {
 const name = "Solid or React";

 return (
     <div>Hello {name}!</div>
 )
}

Data-binding in Lit:

class HelloWorld extends LitElement {
 @property()
 name = 'lit';

 render() {
   return html`<p>Hello ${this.name}!</p>`;
 }
}

Data-binding in Svelte:

<script>
  let name = 'world';
</script>

<h1>Hello {name}!</h1>

Reactivity

Reactivity is a declarative way to express the propagation of change.

When we have a way to declaratively express data-binding, we need an efficient way for the framework to propagate changes.

The React engine compares the result of rendering with the previous result, and it applies the difference to the DOM itself. This way of handling change propagation is called the virtual DOM.

In SolidJS, this is done more explicitly, with its store and built-in elements. For example, the Show element would keep track of what has changed internally, instead of the virtual DOM.

In Svelte, the “reactive” code is generated. Svelte knows which events can cause a change, and it generates straightforward code that draws the line between the event and the DOM change.

In Lit, reactivity is accomplished using element properties, essentially relying on the built-in reactivity of HTML custom elements.

Logic

When a framework provides a declarative interface for data-binding, with its implementation of reactivity, it also needs to provide some way to express some of the logic that is traditionally written imperatively. The basic building blocks of logic are “if” and “for”, and all of the major frameworks provide some expression of these building blocks.

Conditionals

Apart from binding basic data such as numbers and string, every framework supplies a “conditional” primitive. In React, it looks like this:

const [hasError, setHasError] = useState(false);  
return hasError ? <label>Message</label> : null;
…
setHasError(true);

SolidJS provides a built-in conditional component, Show:

<Show when={state.error}>
  <label>Message</label>
</Show>

Svelte provides the #if directive:

{#if state.error}
  <label>Message</label>
{/if}

In Lit, you’d use an explicit ternary operation in the render function:

render() {
 return this.error ? html`<label>Message</label>`: null;
}

Lists

The other common framework primitive is list-handling. Lists are a key part of UIs — list of contacts, notifications, etc. — and to work efficiently, they need to be reactive, not updating the whole list when one data item changes.

In React, list-handling looks like this:

contacts.map((contact, index) =>
 <li key={index}>
   {contact.name}
 </li>)

React uses the special key attribute to differentiate between list items, and it makes sure that the whole list doesn’t get replaced with every render.

In SolidJS, the for and index built-in elements are used:

<For each={state.contacts}>
  {contact => <DIV>{contact.name}</DIV> }
</For>

Internally, SolidJS uses its own store in conjunction with for and index to decide which elements to update when items change. It’s more explicit than React, allowing us to avoid the complexity of the virtual DOM.

Svelte uses the each directive, which gets transpiled based on its updaters:

{#each contacts as contact}
  <div>{contact.name}</div>
{/each}

Lit supplies a repeat function, which works similarly to React’s key-based list mapping:

repeat(contacts, contact => contact.id,
    (contact, index) => html`<div>${contact.name}</div>`

Component Model

One thing that is out of the scope of this article is the component model in the different frameworks and how it can be dealt with using custom HTML elements.

Note: This is a big subject, and I hope to cover it in a future article because this one would get too long. :)

The Cost

Frameworks provide declarative data-binding, control flow primitives (conditionals and lists), and a reactive mechanism to propagate changes.

They also provide other major things, such as a way to reuse components, but that’s a subject for a separate article.

Are frameworks useful? Yes. They give us all of these convenient features. But is that the right question to ask? Using a framework comes at a cost. Let’s see what those costs are.

Bundle Size

When looking at bundle size, I like looking at the minified non-Gzip’d size. That’s the size that is the most relevant to the CPU cost of JavaScript execution.

  • ReactDOM is about 120 KB.
  • SolidJS is about 18 KB.
  • Lit is about 16 KB.
  • Svelte is about 2 KB, but the size of the generated code varies.

It seems that today’s frameworks are doing a better job than React of keeping the bundle size small. The virtual DOM requires a lot of JavaScript.

Builds

Somehow we got used to “building” our web apps. It’s impossible to start a front-end project without setting up Node.js and a bundler such as Webpack, dealing with some recent configuration changes in the Babel-TypeScript starter pack, and all that jazz.

The more expressive and the smaller the bundle size of the framework, the bigger the burden of build tools and transpilation time.

Svelte claims that the virtual DOM is pure overhead. I agree, but perhaps “building” (as with Svelte and SolidJS) and custom client-side template engines (as with Lit) are also pure overhead, of a different kind?

Debugging

With building and transpilation come a different kind of cost.

The code we see when we use or debug the web app is totally different from what we wrote. We now rely on special debugging tools of varying quality to reverse engineer what happens on the website and to connect it with bugs in our own code.

In React, the call stack is never “yours” — React handles scheduling for you. This works great when there are no bugs. But try to identify the cause of infinite-loop re-renders and you’ll be in for a world of pain.

In Svelte, the bundle size of the library itself is small, but you’re going to ship and debug a whole bunch of cryptic generated code that is Svelte’s implementation of reactivity, customized to your app’s needs.

With Lit, it’s less about building, but to debug it effectively you have to understand its template engine. This might be the biggest reason why my sentiment towards frameworks is skeptical.

When you look for custom declarative solutions, you end up with more painful imperative debugging. The examples in this document use Typescript for API specification, but the code itself doesn’t require transpilation.

Upgrades

In this document, I’ve looked at four frameworks, but there are more frameworks than I can count (AngularJS, Ember.js, and Vue.js, to name a few). Can you count on the framework, its developers, its mindshare, and its ecosystem to work for you as it evolves?

One thing that is more frustrating than fixing your own bugs is having to find workarounds for framework bugs. And one thing that’s more frustrating than framework bugs are bugs that occur when you upgrade a framework to a new version without modifying your code.

True, this problem also exists in browsers, but when it occurs, it happens to everyone, and in most cases a fix or a published workaround is imminent. Also, most of the patterns in this document are based on mature web platform APIs; there is not always a need to go with the bleeding edge.

Summary

We dived a bit deeper into understanding the core problems frameworks try to solve and how they go about solving them, focusing on data-binding, reactivity, conditionals and lists. We also looked at the cost.

In Part 2 (coming up next week!), we will see how these problems can be addressed without using a framework at all, and what we can learn from it. Stay tuned!

Special thanks to the following individuals for technical reviews: Yehonatan Daniv, Tom Bigelajzen, Benjamin Greenbaum, Nick Ribal and Louis Lazaris.

Writing Clean and Consistent Code with Static Analysis using PMD and Apex

One of the key requirements to developing good, maintainable software is to ensure that it works under a variety of conditions. This is typically done by automating a suite of tests on the various features and code paths your application can take. While unit tests are excellent for making sure that your application technically runs, there’s another category of verification which ensures that your application has no other detectable issues: static analysis.

Static analysis is a method of analyzing your code without executing it. If you’ve ever worked with a compiled language like Kotlin, the compiler implements one form of static analysis by ensuring that your program adheres to the grammatical rules of the language. For example, if you call a function but forget to pass in required arguments, a static analyzer alerts you to this error before you compile your application. This is in contrast to an interpreted language such as JavaScript, in which the error would occur when executing the code because there’s no compiler to anticipate the issue.

7 Best WordPress Table Plugins to Display Your Data

Are you looking for a WordPress table plugin you can use to display data?

WordPress table plugins let you store and present your data in a table format to make it easy for your visitors to read. 

In this article, we’ll show you some of the best WordPress table plugins you can use to show your data.

7+ best WordPress table plugins to store your data

Why Use a WordPress Table Plugin?

Tables are a great way to display large data sets in an easy-to-read way. You can use tables to share original data, show price comparisons, create web directories, and much more. 

WordPress has a default feature that lets you add tables to posts and pages, but it’s limited and doesn’t offer many styling options. 

Using a WordPress table plugin gives you access to additional features like drag and drop table builders, advanced sorting options, complete color and style control, and much more.

When you create engaging and interactive tables, it’s easier to keep your visitors engaged and spending more time on your WordPress website

Having said that, let’s take a look at some of the best WordPress table plugins you can use along with your WordPress site.

1. TablePress

TablePress logo

TablePress is one of the most popular table plugins for WordPress. It lets you create beautiful tables simply and easily without any code. 

If you’ve used Excel before, then you’ll be right at home using this plugin. The process for adding data is just like adding data to a spreadsheet. 

TablePress table editor

Beyond adding data manually, you can import and export your tables in Excel, HTML, CSV, and JSON format. This makes it easy to migrate your tables from another plugin. 

It also comes with a unique feature that makes your tables more interactive. Your users can engage with your tables by using pagination, filtering, sorting, and more.

For more details, see our guide on how to add tables in WordPress posts and pages.

2. Formidable Forms

Formidable Forms

Formidable Forms is one of the most advanced form builder plugins in the market. It also has features that make it a powerful table building tool.

Essentially, you can create a form using the plugin, collect data, and then use that data to make and display your tables.

You can choose from multiple different styles for your tables and have them completely match the design of your site. Plus, the table builder lets you add sorting and filtering features, pagination, and more. 

Formidable Forms table example

With Formidable Forms, you can pull data from your existing forms, so your tables will automatically be updated as new data becomes available. 

This makes it an excellent choice for real estate websites, business directories, classified listings, and more. 

3. wpDataTables

wpDataTables

wpDataTables is a premium table plugin that lets you quickly add tables to WordPress. It comes with a unique table builder that enables you to create visually appealing tables without writing any code.

wpDataTables table example

You’ll find features that let you merge cells, add star ratings, give each cell a different style, add shortcodes to each cell, and more.

Once you activate the plugin, there’s a wizard that will walk you through the steps of creating your first chart. You can enter your data directly into the table, or import data from a CSV or Excel spreadsheet, XML file, PHP, and more.

To display your table, you can use the included Gutenberg block, shortcode, or a supported page builder

4. Data Tables Generator by Supsystic

Data Tables Generator

Data Tables Generator is a flexible table plugin for users who need to create many different types of tables.

It offers support for sorting and search, and can display any type of data or media in your tables.

Similar to Excel and other spreadsheet software, you can even add equations and mathematical formulas into your tables.

Data Tables Generator table example

You can also convert the data being stored in your tables into graphics, charts, and diagrams. This data visualization can help your visitors better understand your data. 

There’s an option for your users to export data on the front end and download it in PDF, Excel, or CSV format. 

5. Ninja Tables

Ninja Tables

Ninja Tables is a great WordPress table plugin that lets you create beautiful tables with ease. This plugin has several features that make more easy customization. 

You can choose between 13 different color schemes or create your own to match the design of your site.

Ninja Tables tables builder color select

Plus, you can customize how your table will look on mobile, tablet, and desktop devices. All existing table options can be turned on or off with a single click. 

The manual data entry process can be slow since you have to enter each column and row individually. But there are data import options to help speed this up. 

It even has a unique feature that lets you add custom CSS and JavaScript to your table for those who want to add custom code. 

6. Visualizer

Visualizer

Visualizer is a feature rich and easy to use table and charts plugin. If you’re writing WordPress blog posts and need to add both tables and charts, then this can be a great choice.

You can use the plugin to create interactive tables for your site and have complete control over the design. You can also add pagination, search, sorting, scrolling, and more. 

Visualizer table example

If you want to edit your tables directly from your posts and access the data import features, then you’ll need to upgrade to the Pro version of the plugin. 

7. WP Table Builder

WP Table Builder

WP Table Builder is a drag and drop table builder that lets you create good looking and fully responsive tables. 

You can add text, images, lists, buttons, star ratings, shortcodes, and custom HTML. 

This makes it useful for more than just displaying data. You can use it to create pricing tables, list tables, comparison tables for review sites, and more. 

WP Table Builder table example

It also comes with sorting functionality, and you have complete control over the style of your tables. 

Bonus: SeedProd

SeedProd

SeedProd is the best WordPress page builder plugin in the market. You can easily create completely custom pages for your website using the drag and drop builder.

It comes with a template library with over 150+ templates you can use as a starting point when creating your pages. Plus, it includes a block library with pre-built features you drag and drop onto your page.

One of these is a pricing table block that lets you create completely custom pricing tables.

SeedProd pricing table

These can be very useful when you’re building a sales page or product page and want to highlight different price points of your products. 

We hope this article helped you learn more about the best WordPress table plugins to store your data. You may also want to see our guide on how to choose the best blogging platform and our expert picks of the best virtual business phone number apps.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post 7 Best WordPress Table Plugins to Display Your Data first appeared on WPBeginner.