Chaos Engineering – The Practice Behind Controlling Chaos

Chaos Engineering might sound like a buzzword - but take it from someone who used to joke his job title was Chief Chaos Engineer (more on that later) it is much more than buzz or a passing fad - it’s a practice. 

The world can be a scary place and more and more companies are beginning to turn to Chaos Engineering to proactively poke and prod their systems and in doing so are improving their reliability and guarding against unexpected failures in production and unplanned downtime. 

WordCamp Birmingham Postponed Due to Rising Local COVID-19 Infection Rates

WordCamp Birmingham’s organizers announced today that the in-person event planned for the first week in February is now postponed until April or May. Organizers had been planning the event since August 2021 and had just announced the last group of speakers a week ago.

“In the last 30 days, our local COVID-19 numbers have risen dramatically as a result of the highly-transmissible Omicron variant,” lead organizer Ryan Marks said in the announcement.

“The WordPress community is bigger than any single WordCamp. We cannot in good conscience continue forward with our event, given the current risk, since this decision could negatively impact other in-person WordCamps currently in the planning stages.”

Marks said all attendees will be automatically refunded within the next few days. WordPress Community Support administrator Angela Jin has prepared an official letter for those who need proof of cancellation for getting travel refunded.

WordCamp Birmingham organizers are looking at dates in April or May, 2022, but said that rescheduling will depend on local infection rates and venue availability. Their contract with the Sidewalk Film Center + Cinema allowed organizers to cancel without any loss of deposit as long as they gave more than seven days notice.

The event’s COVID-19 safety protocols, which were written before Omicron was spreading in the area, came under greater scrutiny a week ago. Shortly thereafter, organizers updated the guidelines to have a more rigid masking requirement, but some attendees and sponsors had already decided not to attend due to current conditions.

While WordCamp Birmingham organizers worked to update the COVID-19 safety protocols, more concerned community members condemned the gathering as “irresponsible” at a time when hospitals have been pushed to the brink.

Organizers continued to monitor the situation, hoping for the opportunity to hold a safe event. After assessing the timing of the event and the level of community spread, they unanimously decided to that it was necessary to postpone. They had also reached the point where some of their payments would have been nonrefundable and needed to act in stewardship of their funds.

“We knew that being the first in-person US WordCamp was both a risk and a responsibility,” lead organizer Ryan Marks said. “If we could do it safely, other WordCamps in the US could do the same. If lots of people got sick, we’d set back US WordCamps such as Montclair, NJ, and Buffalo, NY, and possibly the global program as a whole from moving toward having safe in-person WordCamps. 

“We saw news reports and estimates indicating Omicron cases would be peaking right as we were hosting WordCamp. That was sufficient for our organizing team to make the call to postpone. Pushing the event a couple months could mean a much safer event for everyone.”

Alabama has the second lowest percentage of vaccinated residents in the US, with just 48.1% fully vaccinated. The state currently has an average positive test rate of 37.4%. More than 25% of Alabama students have shifted to remote learning as more school systems have had to close due to record-breaking COVID rates.

“Our problem is we just don’t have enough adults to safely and effectively operate the school…in some cases, now we’re seeing up to 35% of the faculty report that they have COVID, or they’re close contact,” Alabama State Superintendent Eric Mackey told AL.com. The local mitigation efforts are not working to slow the spread of Omicron in the Birmingham area right now.

Many attendees communicated their disappointment about the postponed WordCamp on social media but were supportive of the organizers’ decision.

When WordCamp Birmingham’s organizers began planning in August, they had no idea that a new more transmissible variant would be making its way across the world just as the in-person event was set to kick off. The timing is unfortunate, and the stakes are too high to risk pushing forward.

WordCamp Birmingham’s previously selected speakers will be invited to speak at the rescheduled event, pandemic conditions permitting. The 200 people who signed up to attend will need to buy their tickets again and reschedule their accomodations.

“Our goal is to have the same great event we have currently planned, just a bit later,” Marks said.

How to Move IBM App Connect Enterprise to Containers: Part 2(b)

Scenario 2b: Deploy a Simple Flow Onto Red Hat OpenShift Using the App Connect Dashboard

In Scenario 2a we introduced the App Connect 'operator'. This works as a sort of digital assistant to help us look after App Connect containers. In that scenario, we used the operator to deploy a container via the Kubernetes command line. In this scenario, we're going to do exactly the same deployment but instead through a user interface known as the App Connect Dashboard. 

What is the App Connect Dashboard?

The App Connect Dashboard is a user interface that provides a simplified way to deploy BAR files within App Connect containers and administer them once live. Some of the facilities it provides are:

Wicked Plugins Launches UI-Based WordPress Block Builder

Last week, Wicked Plugins launched version 1.0 of its Wicked Block Builder. I have kept my eye on this plugin since its November 2021 beta release. The project promised that developers would be able to “effortlessly build custom blocks,” and I was finally ready to put that to the test.

In the past two months, I have activated the plugin every so often. I knew a review of it would take me a while, and I would deactivate it before diving in. I kept feeling overwhelmed by the enormity of it — there are tons of settings to configure. The holiday season did not help either. I wanted to sit down with a clear head and decide whether this plugin was something developers in the WP Tavern audience should put in their toolbox.

The short answer: yes.

Or, at least you should give it a spin to see how it compares to similar plugins. This is a version 1.x project, so there are still some missing pieces. However, it will make client builds easier to put together without writing anything more than CSS for custom blocks.

When I first began using the plugin, I seemed to hit issue after issue. Like always, I was trying to run before I could walk. I like to test new plugins at full speed and often forget to stop and RTFM. With complex projects like Wicked Block Builder, I must remind myself that it is OK to seek help from the docs.

The plugin has a bit of a learning curve if you want to do anything advanced. My suggestion is to do the opposite of what I did. Start with a simple use case.

Fortunately, the plugin development team has a tutorial video that will have you building custom blocks in less than five minutes. I recommend following along when creating your first.

Once I hopped over that initial hurdle, using the plugin was a breeze.

The plugin allows developers to add blocks, block categories, patterns, and pattern categories. I primarily focused on block creation. The plugin worked in much the same way as other pattern builders.

Following along with the tutorial video, I created a Resource Card block. It included an image, title, summary, and button.

Settings screen with an "Editor View" tab open.  In the canvas, there are multiple HTML/JSX fields representing elements.  On the right, a settings form is open.
Building the editor view for a custom block.

There are multiple tabs for developers to build out their blocks. Aside from the primary Settings tab, most of the work will happen under Attributes and Editor View. The Front-end View is only necessary if the block’s output does not match what it looks like in the editor. The screen also has a Styles panel for adding custom CSS, which is loaded for the editor and front-end.

The UI seems mostly straightforward when following along with the tutorial. However, there are tons of options, and it is easy to get lost once you start digging into them all.

Once I pieced together my custom block, it correctly appeared in the inserter. I also tested a slash command for /resource card to ensure it worked.

WordPress editor with the block inserter panel open on the left.  In the content canvas, there is a block with an image selection button along with title, summary, and read more rich text fields.
Inserting custom block into the editor.

A couple of missing features I immediately noticed once inserting my block was a custom icon and example/preview. Both are relatively simple to add when creating a block type from code, so I hope they are on the agenda for a future version.

While searching for the custom block type via the inserter worked, I would also welcome an option to create custom keywords.

I filled in the details of the Resource Card block and saved it.

WordPress editor with a block named Resource Card in the canvas.  Its content includes an image of tiny gift boxes and some demo content related to Valentine's Day, which is followed by a button to find out more info.
Block content customized.

To my surprise, I did not break anything. I began wondering, Could creating blocks be this easy?

I ran through a few other simple block ideas, and the experience was enjoyable. While I no longer work with clients, I could see how this could save hours. Pairing it with template locking would also be a routine use case so that clients would only need to plug in their content and publish.

There are some block-supported features that I would like to see added. The plugin currently allows devs to enable alignment and wide alignment. However, others like spacing, typography, and color would be easy wins.

I tested the free version of the Wicked Block Builder. For simple blocks, it worked well. For more complex use cases, developers will need to upgrade to the pro version. It runs between $49 and $299 per year, depending on the number of supported sites.

While I have not tested the pro version, it does offer post and term selects, repeater fields, conditional logic, and inner-block support. After exhausting the basics, these will likely be necessary on some projects. However, the free version can still get you pretty far.

ClickHouse or StarRocks? Here is a Detailed Comparison

A New Choice of Column DBMS

Hadoop was developed 13 years ago. Its suppliers have been enthusiastic about offering open-source plug-ins, as well as technical solutions. This, on one hand, has resolved the problems of users, while it has also led to the high cost of maintenance, thus Hadoop gradually lost its share of the market. Users are calling for a simple and scalable database at a low cost, therefore the column DDBs got increased attention.

Brief Intro to ClickHouse

ClickHouse is an open-source database by the owner of Yandex, Russia's largest search engine. It has an enhanced performance compared to many commercial MPP databases, such as Vertica or InfiniDB. ClickHouse has gained increased popularity among companies besides Yandex, for the ordinary analytical business which is more structured and has fewer data changes, they can be put into flat tables and into ClickHouse thereafter.

Top 5 Incidents and Outages of 2021

Now that 2021 has come and gone, it’s possible for SREs to look back definitively at the major incidents that occurred during the past year. Let’s do that in this post by examining outages on platforms like AWS, Verizon, and beyond — and what SREs can learn from these incidents.

AWS Network Incident

2021 was not an excellent year for AWS, which suffered multiple network outages.

FlinkML 2.0 Released With Updated API and Python SDK

The team behind machine learning library Flink ML recently released version 2.0, including an updated API and a Python SDK. Flink ML, part of the Apache Flink stream processing framework, is a library that provides APIs and infrastructure for building machine learning algorithms. The previous API version required users to implement their own machine learning algorithms while the new version includes several basic off-the-shelf algorithms.

50 New Inspiring Business Card Designs

Business cards are no longer used just to provide basic information about yourself and your company. Today, more and more companies are using creatively designed business cards to convey the image and personality of their businesses to leave a long lasting impression. In this post you will see business card designs ranging from really creative to very simple and...

The post 50 New Inspiring Business Card Designs appeared first on DesignrFix.

Case Study: Anatole Touvron’s Portfolio

Like many developers, I’ve decided to redo my portfolio in the summer of 2021. I wanted to do everything from scratch, including the design and development, because I liked the idea of:

  • doing the whole project on my own
  • working on something different than coding
  • being 100% responsible for the website
  • being free to do whatever I want

I know that I wanted to do something simple but efficient. I’ve tried many times to do another portfolio but I’ve always felt stuck at some point and wanted to wipe everything clean by remaking the design or the entire development. I talked to many developers about this and I think that we all know this feeling of getting tired of a project because of how long it is taking to finish. For the first time, I’ve managed to never get this feeling simply by designing this entire project in one afternoon and developing it in two weeks.

Without going further, I want to point out that prior to that I’ve studied @lhbizarro’s course on how to create an immersive website from scratch and I would not have been able to create my portfolio this fast without. It is a true wealth of knowledge that I now use on a regular basis.

Going fast

One of the best tips that I can give to any developer in order to not get tired of doing their portfolio is to go as fast as possible. If you know that you get tired easily with a project, I highly suggest doing it when you have the time and then rush it like crazy. This goes for the coding and for the design part.

Get inspired by websites that you like, find colours that match your vibe, fonts that you like, use your favourite design tool and don’t overthink it.

Things can always get better but if you don’t stick to what you’re doing you will never be able to finish it.

I’m really proud and happy about my portfolio but I know that it isn’t that creative and that crazy compared to stuff that you can see online. I’ve set the bar at a level that I knew I could reach and I think that this is a good way of being sure that you’ll have a new website that will make you progress and feel good about yourself.

Text animations

For the different text animations I’ve chose to do something that I’ve been doing a long time, which is animating lines for paragraphs and letters or words for titles with the help of the Intersection Observer API.

Using it is the most efficient and optimal way to do such animations as it only triggers once in your browser and allows you to have many spans translating without making your user’s machine launch like a rocket.

You have to know that, the more elements there are to animate, the harder it will be to have a smooth experience on every device, which is why I used the least amount of spans to do my animations.

To split my text I always use GSAP’s SplitText because it spoon-feeds you the least fun part of the work. It’s really easy to use and never disappoints.

How to animate

There is multiple ways of animating your divs or spans and I’ve decided to show you two ways of doing it:

  • fully with JavaScript
  • CSS and JavaScript-based

Controlling an animation entirely with JavaScript allows you to have code that’s easier to read and understand because everything will be in the same file. But it could a bit less optimal because you’ll be using JavaScript animation libraries.

Open the following example to see the code:

With CSS your code can get a bit out of hand if you are not organised. There’s a lot more classes to take care of. It’s up to you what you prefer to use but I feel like it’s important to talk about both options because each can have their advantages and disadvantages depending on your needs.

The next example shows how to do it with CSS + JS (open the Codesandbox):

Infinite slider

I’d like to show you the HTML and CSS part of the infinite slider on my portfolio. If you’d like to understand the WebGL part, I can recommend the following tutorial: Creating an Infinite Circular Gallery using WebGL with OGL and GLSL Shaders

The main idea of an infinite slider is to duplicate the actual content so that you can never see the end of it.

You can see the example here (open the Codesandbox for a better scroll experience):

Basically, you wrap everything in a big division that contains the doubled content and when you’ve translated the equivalent of 50% of the big wrapper, you put everything back to its initial position. It’s more like an illusion and it will make more sense when you look at this schematic drawing:

At this very moment the big wrapper snaps back to its initial position to mimic the effect of an infinite slider.

WebGL

Although I won’t explain the WebGL part because Luis already explains it in his tutorial, I do want to talk about the post-processing part with OGL because I love this process and it provides a very powerful way of adding interactions to your website.

To do the post-processing, all you need is the following:

this.post = new Post(this.gl);
this.pass = this.post.addPass({
  fragment,
  uniforms: {
    uResolution: {
      value: new Vec2(1, window.innerHeight / window.innerWidth)
    },
    uMouse: {
      value: new Vec2()
    },
    uVelo: {
      value: 0
    },
    uAmount: {
      value: 0
    }
  }
});

We pass the mouse position, velocity and the time to the uniform. It will allow us to create a grain effect, and an RGB distortion based on the mouse position. You can find many shaders like this and I find it really cool to have it. And it’s not that hard to implement.

float circle(vec2 uv, vec2 disc_center, float disc_radius, float border_size) {
  uv -= disc_center;
  uv*= uResolution;
  float dist = sqrt(dot(uv, uv));
  return smoothstep(disc_radius+border_size, disc_radius-border_size, dist);
}

float random( vec2 p )
{
  vec2 K1 = vec2(
    23.14069263277926,
    2.665144142690225
  );
  return fract( cos( dot(p,K1) ) * 12345.6789 );
}

void main() {
  vec2 newUV = vUv;

  float c = circle(newUV, uMouse, 0.0, 0.6);

  float r = texture2D(tMap, newUV.xy += c * (uVelo * .9)).x;
	float g = texture2D(tMap, newUV.xy += c * (uVelo * .925)).y;
	float b = texture2D(tMap, newUV.xy += c * (uVelo * .95)).z;

  vec4 newColor = vec4(r, g, b, 1.);

  newUV.y *= random(vec2(newUV.y, uAmount));
  newColor.rgb += random(newUV)* 0.10;

  gl_FragColor = newColor;
}

You can find the complete implementation here:

Conclusion

I hoped that you liked this case study and learned a few tips and tricks! If you have any questions you can hit me up @anatoletouvron 🙂

The post Case Study: Anatole Touvron’s Portfolio appeared first on Codrops.

6 Powerful PHP Frameworks to Consider for Your Next Project

Given that it’s one of the web’s most essential programming languages, PHP is something that every web developer needs to both master and be able to use well. PHP frameworks can give users of all abilities a fantastic way to build out an application using an efficient and effective approach.