What Is File Integrity Monitoring and How Does It Work?

With the world changing rapidly the data and the system that controls the data are also changing. At the beginning of the Internet and WWW, the data used to be stored on one’s personal machine, and it was accessed by only the person owning the device.

But now, with thousands of companies working with millions of employees and billions of terabytes of data, it is necessary to control and monitor who is going to access the data and who is going to made changes in it.

How-To: YugabyteDB 2.5 Security Features

The YugabyteDB 2.5 release adds many critical enterprise-grade security features. This blog post outlines these newly added features.

Authentication

Adding scram-sha-256 Authentication

The first notable addition is the addition of a much improved, password-based authentication mechanism called Salted Challenge Response Authentication Mechanism (or simply SCRAM) as described in RFC5802. This scram-sha-256 authentication mechanism, identical to the most secure PostgreSQL authentication schema, is a challenge-response scheme that prevents password sniffing on untrusted connections and supports storing passwords on the server in a cryptographically hashed form that is thought to be secure. To enable this feature, simply pass the following flag when starting the yb-tserver.

How to Accelerate Application Performance With Smart SQL Queries

Why So Many Performance Issues Are Caused by the Database

We often forget that each request is not independent of other requests. If one request is slow, it’s unlikely to affect the others… right?

The database is a shared resource used by all processes that runs in your application. Even just one poorly designed access can hurt the performance of the whole system.

Comparing Pulsar and Kafka From a CTO’s Point of View

When upper management assesses a new technology, they view it from a different perspective than middle management, architects, or data engineers. Upper management is not just looking at benchmarks and feature lists; they’re looking for long-term viability and how it gives their company a clear competitive edge. In addition, they’re optimizing for time to market and costs.

As the Managing Director for Big Data Institute, technology assessment is a key part of my role. We help companies identify and adopt the best technologies for their business needs. Our clients especially appreciate our vendor-neutral approach.

Rendering Spectrum

Here are the big categories of rendering websites:

  • Client: ship a <div id="root"></div> and let a JavaScript template render all of it.
  • Static: pre-render the HTML.
  • Server: let a live server process requests and generate the HTML response.

They are not mutually exclusive.

  • A website could statically pre-render 75% of it’s pages (say, blog posts), but the other 25% have a server respond to (say, forums).
  • A website could statically pre-render all the pages, but have a couple of empty <div>s in there that have client-side rendered content in them (e.g. a dynamically generated menu based on the logged-in user).
  • A website could be primarily server-rendered, but has caching in front of it such that it behaves statically.
  • A website could render statically, but then “hydrate” itself into an entirely client-rendered site.
  • A website could be a mix of server and static rendering, but have dynamic parts similar to client-side rendering, but actually happen in an edge function, so it ends up more like server-side rendering.

Next.js is interesting in that it can do all three. Here’s Tim Neutkens in a recent interview:

Next.js allows you to pre-render pages. It creates HTML on a server at build time with static site generation or uses run-time rendering on the server side. Next allows you to do a hybrid of those. Unlike most other frameworks, you are not bound by, oh, I’m going to build my app completely statically generated. Instead, you’re allowed to have some pages be server-side rendered and some pages be statically generated.

In the new release we make it possible to update these statically generated pages without having to run a new build, rebuilding your whole app.

Cool. Love to see that happening at the framework level. Seems like having to go all-in on one rendering style isn’t practical for a lot of sites.

Client rendering is the most flexible, but comes with all these serious downsides like worse performance, worse reliability, more strain on devices, bad SEO, etc. Static pre-rendering is the most robust, speedy, and secure, but is the most limited. Edge functions on top of static is starting to open doors, but server-rendering is the classic mix of flexibility and speed that has dominated the web for good reason.

Client rendering also opens the door for that “SPA” (Single Page App) feel. I still like that, personally. I like the no-page-refresh feel. It’s makes a site feel snappy and opens the door for page transitions. Gatsby is famous for popularizing hydration, where you get the pre-rendered static bonus, but then the upgrade into SPA as the JavaScript downloads.

I’d love to see the web get to the point where we get all that “good feel” bonus of an SPA without actually having to build an SPA. It’s notable when frameworks provide SPA feels without having to manage much of that yourself, but still, something is managing it and that something is a bunch of JavaScript.

Tom MacWright wrote about that recently in his “If not SPAs, What?” post. Some of today’s alternatives:

Turbolinks … what is the bare minimum you need to do to get the SPA experience without any cooperation from your application?

Turbolinks is like… click link, click is intercepted, Ajax request for new page is made, JavaScript flops out the content on the page with the new content. Super easy to implement, but it’s still JavaScript, and not particularly intelligent about sending less data across the wire.

barba.js and instant.page are alternative approaches to the same sort of problem.

Barba is all about getting page transitions going (more detail on that concept). instant.page is all about pre-loading/rendering pages right before you click then, so even though you get a page refresh, it feels less intrusive (particularly with paint holding). Both are cool, but not quite one-to-one replacements for an SPA. (Even with paint holding, pre-rendering, and lightweight pages, I still don’t think the experience is quite a smooth as an SPA. For example, you still get the page loading spinner.)

So… is the anything else cooking? Kinda. There is <portal>. Possibly too simplified, but here goes: portals are like iframes. They can even be visually displayed just like an iframe. That means the rendering of the URL in the portal is already done. Then you can “promote” the portal to be the active page, and even animate the portal itself while doing so.

I don’t hate it. I can imagine someone building a turbolinks-like library on portals so they are “easy to use” and make a site more SPA-like.

Still, animating a rectangle into position isn’t often what is desired from animated page transitions. Just look at Sarah’s “Native-Like Animations for Page Transitions on the Web” article. That’s what the people want (at least the possibility of it). That’s why Jeremy said not portals the other day when he cheekily said that “[m]ost single page apps are just giant carousels.” He also points to Jake’s navigation-transitions proposal from a few years back.

I love this proposal. It focuses on user needs. It also asks why people reach for JavaScript frameworks instead of using what browsers provide. People reach for JavaScript frameworks because browsers don’t yet provide some functionality: components like tabs or accordions; DOM diffing; control over styling complex form elements; navigation transitions. The problems that JavaScript frameworks are solving today should be seen as the R&D departments for web standards of tomorrow. (And conversely, I strongly believe that the aim of any good JavaScript framework should be to make itself redundant.)

So what’s the best rendering method? Whatever works best for you, but perhaps a hierarchy like this makes some general sense:

  1. Static HTML as much as you can
  2. Edge functions over static HTML so you can do whatever dynamic things
  3. Server generated HTML what you have to after that
  4. Client-side render only what you absolutely have to

The post Rendering Spectrum appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

Who Needs A/B Tests and Why?

A/B testing is one of the best methods for finding optimal ways of improving conversion, economic indicators, and behavioral factors. There are some other methods, but they are more complex and expensive. The key benefits of A/B tests are their affordability and suitability for businesses of any scale.

A/B testing can be called one of the most meaningful ways of searching for solutions and making decisions in business; those solutions and decisions that a company’s profit and development of various products both depend on. The tests give an opportunity to make decisions based not only on theories and hypotheses but also on practical knowledge of how specific changes modify the clients’ interaction with the network.

Streaming Machine Learning With Kafka-Native Model Server

Apache Kafka became the de facto standard for event streaming across the globe and industries. Machine Learning (ML) includes model training on historical data and model deployment for scoring and predictions. While training is mostly batch, scoring usually requires real-time capabilities at scale and reliability. Apache Kafka plays a key role in modern machine learning infrastructures. The next-generation architecture leverages a Kafka-native streaming model server instead of RPC (HTTP/gRPC) calls:

This blog post explores the architectures and trade-offs between three options for model deployment with Kafka: Embedded model into the Kafka application, model server and RPC, model server, and Kafka-native communication.

Dev Interrupted: How to Game Dev Metrics With Ray Elenteny

This week on the Dev Interrupted podcast, I spoke with my fellow DZone core mate Ray Elenteny, Principle Owner at Solutech Consulting, about the ways he's seen people game metrics and the "why" behind each: 

  •  Which metrics are easiest to game 
  •  The long-term implications of gaming metrics 
  •  How poor culture and leadership lead engineering teams to game dev metrics

So whether you're trying to game your own metrics (don't do it!) or solve culture issues that have lead to this issue at your organization, give this episode a listen: 

Using Cloud Computing To Build a Remote Organization

Start According to Gartner, 74% of CFOs plan to move 5% of their employees to remote positions permanently. While the pandemic has accelerated the culture of remote work, organizations realize how beneficial it would be for operational efficiency.

Due to this, there has been a rise in cloud computing for remote workers. In the current situation, more than 50% of organizations are working fully remotely. Since all organizations today are mostly data enterprises, cloud computing services enable employees to work seamlessly with access to all kinds of data.

Graphics card not posting

Hello everyone dont know if you can see this message but im having a problem with my graphics card its a AMD Radeon R9 290 x trio , was working fine today until i took it out and seated it back in place , my pc turns on but theres no video post , before i use to get a beep sound and id be able to get into windows , now theres no beep and my monitor stays off..........can someone please help me ASAP!!! Would be much appreciated

Overview of C# Async Programming

I recently found myself explaining the concept of thread and thread pools to my team. We encountered a complicated threads-problem in our production environment that led us to review and analyze some legacy code. Although it threw me back to the basics, it was beneficial to review .NET capabilities and features in managing threads, which mainly reflected how .NET evolved significantly throughout the years. With the new options available today, tackling the production problem is much easier to cope with.

TL;DR

So, this circumstance led me to write this blog-post to go through the underlying foundations and features of threads and thread pools:

WordPress 5.7 Wish List: Save Block Editor Settings Per User

WordPress 5.6 development is winding down as we begin to close out the beta testing round, inching toward the final release on December 8. That means it is time to think about what WordPress 5.7 will look like. This is one of my favorite times of the WordPress development cycle because I get to see what others want to be added to the core platform. I also get to share a feature request of my own.

Francesca Marano opened the discussion on the Make Core blog. She asks that people link to a specific ticket, which can be from WordPress Trac or the Gutenberg repository.

One consideration for everyone’s wish list is that 2021 will potentially see four major WordPress releases rather than the typical three. WordPress 5.7 is tentatively scheduled to land on March 9, 2021. The team has scheduled future releases in three-month intervals. While the dates are not written in stone, it could mean each release’s feature set might need to be scaled back to some small degree.

Most features that land in WordPress 5.7 will be items that are already under development. Enhancements like block-based widgets and nav menus that were punted from the 5.6 release should land early and be ready for a full three months of testing. The development team will also focus heavily on pushing an early/beta version of the site editor into core WordPress.

There is still room for other things to land, and now is the time for everyone to make their case for their pet feature.

Unlike past wish-list discussions, I am going to take a step back and control myself. Instead of asking for one of those big-ticket items that I know is unlikely to happen — hello, completed post type API and homepage post type selection —, I will simply ask for something more practical.

In WordPress 5.7, I want the block inspector tabs and some block option defaults to remain the same each time I write a new post.

One of my biggest pet-peeves is with the image block in particular. Each time I add an image, I first close the Styles tab in the sidebar. I do not use it often, so it is not important enough to always be open. Then, I must switch the Image Size setting to Full Size from its default Large. I typically format my images for display before uploading and simply want to use the image at the size I uploaded. These are small things, but they break my workflow. As a daily writer, it has become a nuisance over time.

Adjusting an image block's settings in the WordPress editor.
Configuring image block settings.

These should be per-user settings. Each user’s workflow is different, so WordPress likely needs to handle this as user metadata or a similar method.

I was unable to track down an open ticket for saving the tab state. There are over 2,600 currently-open issues. Maybe I did not nail down the right search terminology. Or, it may be a non-issue for other users.

However, there is a two-year-old ticket for remembering the last image size used. I was happy to find like-minded peers who share my frustration in this case. There is also a more recent ticket about storing the default image size on a per-user basis. The feedback in the tickets shows a clear and present need for WordPress to fix this problem.

A representative of Feast Design Co. noted in the first ticket, “Every time somebody inserts an image they have to change the image size. This seems small but at 10 seconds per image x 5 images per post x 2 posts per week x 52 weeks per year, this is 86 minutes per year.” I believe I can manage it in a little less than 10 seconds per image, but it stills knocks me out of my flow each time. It is a seemingly trivial issue, but the time wastage adds up for those who add many images to posts throughout the year.

What is on your wish list for WordPress 5.7?

Be An Effective Change Agent – Four Tips From a Software Architect

A primary requirement for a software organization today is to be able to introduce and maintain change at the speed of business. Driving innovation for any organization is no mean feat, but as holders of technical roadmaps, design patterns, and engineering practices, it is central to an architect’s role.

The ability to change software is holistically dependent on the software design as well as the systems, processes, and teams responsible for delivering it.  Architects must consider how to innovate across this landscape. That requires an understanding not only of the technologies and processes that can enable change, but also the complexities of adoption, both from a technical and organizational standpoint.