Articles

In this article, we are going to explore all the features provided by mule Email Connector. Email connector helps you to Send, Mark, List, and Delete Emails. We see a simple demo for each of these features now. 

Before starting with developing the Mule Application we need to do some configuration settings in the Gmail account. 

Source de l’article sur DZONE

Ever since the Python programming language was born, its core philosophy has always been to maximize the readability and simplicity of code. In fact, the reach for readability and simplicity is so deep within Python’s root that, if you type import this in a Python console, it will recite a little poem:

    Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. The complex is better than complicated. The flat is better than nested. Sparse is better than dense. Readability counts…

Simple is better than complex. Readability counts. No doubt, Python has indeed been quite successful at achieving these goals: it is by far the most friendly language to learn, and an average Python program is often 5 to 10 times shorter than equivalent C++ code. Unfortunately, there is a catch: Python’s simplicity comes at the cost of reduced performance. In fact, it is almost never surprising for a Python program to be 10 to 100 times slower than its C++ counterpart. It thus appears that there is a perpetual trade-off between speed and simplicity, and no programming language shall ever possess both.
But, don’t you worry, all hope is not lost.

Taichi: Best of Both Worlds

The Taichi Programming Language is an attempt to extend the Python programming language with constructs that enable general-purpose, high-performance computing. It is seamlessly embedded in Python, yet can summon every ounce of computing power in a machine — the multi-core CPU, and more importantly, the GPU.
We’ll show an example program written using taichi. The program uses the GPU to run a real-time physical simulation of a piece of cloth falling onto a sphere and simultaneously renders the result.
Writing a real-time GPU physics simulator is rarely an easy task, but the Taichi source code behind this program is surprisingly simple. The remainder of this article will walk you through the entire implementation, so you can get a taste of the functionalities that taichi provides, and just how powerful and friendly they are.
Before we begin, take a guess of how many lines of code this program consists of. You will find the answer at the end of the article.

Algorithmic Overview

Our program will model the piece of cloth as a mass-spring system. More specifically, we will represent the piece of cloth as an N by N grid of point-masses, where adjacent points are linked by springs. The following image, provided by Matthew Fisher, illustrates this structure:
The motion of this mass-spring system is affected by 4 factors:
  • Gravity
  • Internal forces of the springs
  • Damping
  • Collision with the red ball in the middle
For the simplicity of this blog, we ignore the self-collisions of the cloth. Our program begins at the time t = 0. Then, at each step of the simulation, it advances time by a small constant dt. The program estimates what happens to the system in this small period of time by evaluating the effect of each of the 4 factors above, and updates the position and velocity of each mass point at the end of the timestep. The updated positions of mass points are then used to update the image rendered on the screen.

Getting Started

Although Taichi is a programming language in its own right, it exists in the form of a Python package and can be installed by simply running pip install taichi.
To start using Taichi in a python program, import it under the alias ti:
import taichi as ti
The performance of a Taichi program is maximized if your machine has a CUDA-enabled Nvidia GPU. If this is the case, add the following line of code after the import: ti.init(arch=ti.cuda)

If you don’t have a CUDA GPU, Taichi can still interact with your GPU via other graphics APIs, such as ti.metal, ti.vulkan, and ti.opengl. However, Taichi’s support for these APIs is not as complete as its CUDA support, so, for now, use the CPU backend: ti.init(arch=ti.cpu)And don’t worry, Taichi is blazing fast even if it only runs on the CPU. Having initialized Taichi, we can start declaring the data structures used to describe the mass-spring cloth. We add the following lines of code:

Python

 

 N = 128 x = ti.Vector.field(3, float, (N, N)) v = ti.Vector.field(3, float, (N, N))

Source de l’article sur DZONE

So here we are, in a brand spanking new year—time for looking forward with fresh ideas and renewed hope for the year ahead. We are kicking off 2022 with a mixed bag and, we hope, something for everyone.

Whether you’re looking for inspiration to update your site or a fresh approach to work for a new client or want to spend a little while browsing around some corners of the internet you might not usually, welcome to the first collection of the year. Enjoy!

Justice Reskill 

Justice Reskill offers a learning platform and support for people who have been through the justice system. Information is presented clearly in a positive, uplifting tone, emphasized by a bright color scheme and friendly type.

TBD Post 

TBD Post’s site is fuss-free, clean, and pleasant to navigate. Work is well presented, in an organized way, with just the right amount of supplementary information.

Speedy 

Speedy is an online business bank, and this is a pretty standard, slick fin-tech site for the most part. The added extra is that the five versions of the site–with the same content in each–have different color accents based on the flag of the specific country listed.

Nuka 

This site for Nuka eternal stationery is a beautifully simple single page. The use of handwritten type in places adds an intimacy while emphasizing the nature of the products.

Omono 

This site for online business management app Omono presents a lot of information clearly, and with a calmness projected by the use of blues and greys and subtle animation.

Pienso 

A combination of bold type, a slightly tweaked red, green, and blue color scheme, and on-scroll animations makes this site for Pienso pop.

Maison Margiela 

Maison Margiela fully embraces the digital alternative to a live catwalk with this blend of single video and edited clips.

Marie O’Shepherd 

This portfolio site for book designer and art director Marie O’Shepherd takes a minimal approach and allows the work to take center stage.

Angry Ventures

Angry Ventures add personality and humor to their site to draw the user in and entertain, while their actual portfolio is only available on request.

Chapter One 

Chapter One’s site has light and dark theme options and some engaging animated graphics.

Vesti il Futuro 

Vesti il Futuro for Mani Tese uses comic book-style interactive graphics to raise awareness of issues surrounding the environment and fast fashion.

Gazelle No.1 

Some scroll-activated video enlivens this single-page site for Gazelle’s No.1 model.

TROA 

This site for creative agency Troa is an excellent example of the effectiveness of a monochrome color scheme, and there are some pleasing transitions too.

BDCC 

BDCC’s site has a bold, slightly jumbled feel that works really well. The falling lozenge menu items are a nice feature.

Mekanism

This is a great example of a stylish website for an agency portraying itself as well-established and super polished.

Redbrick 

Redbrick’s site has a youthful, vibrant feel with colors that change to match the product branding.

Accounting Box 

This site for Accounting Box makes good use of split-screen swapping from a vertical split on desktop to a horizontal split on mobile. The animations are pleasing too.

François-Joseph Graf 

The design for François-Joseph Graf’s site does the right thing by getting out of the way to avoid competing with the rather stunning products on show.

Monsta Cats 

Monsta Cats is a site dedicated to community focussed NFTs. The site is suitably anarchic and fun to browse.

Bien Fondé 

And finally, some customizable good wishes for the year ahead from digital agency Bien Fondé.

Source

The post 20 Best New Websites, January 2022 first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

Symbolization is a technique that allows you to translate machine memory addresses to human-readable symbol information (symbols).

Why do we need to read what programs do anyways? We usually do not need to translate everything to a human-readable format when things run smoothly. But when things go south, we need to understand what is going on under the hood. Symbolization is needed by introspection tools like debuggers, profilers, core dumps, or any other program that needs to trace the execution of another program. While a target program is executing on a machine, these types of programs capture the stack traces of the program that is being executed.

Source de l’article sur DZONE


Introduction

In this article, you will learn how to use Spring Boot and HarperDB to create a microservice. Later on, you will also look at how to deploy the complete application on AWS Elastic Beanstalk.

You will be building an Employee Leave Management System. This application will be responsible for tracking the detailed record of employees’ leaves. You will also be implementing the functionality to add, edit, and cancel leaves.

Source de l’article sur DZONE


Article Image

Chatbots Are Here To Stay

Chatbots have been around for a long time and based on the global chatbot market size (and the expected growth), they will stick around for a long time and gain importance. In the past, they’ve rarely met customer expectations or provided much positive experience. However, over the last few years, advances in conversational AI have transformed how they can be used. Since chatbots offer a wide range of applications, in certain cases, they become responsible for collecting and protecting personal information as well. 
Consequently, they are a great attraction for hackers and malicious attacks too. The responsibility of ensuring chatbot security has become more evident after the introduction of GDPR in Europe. As statistics show that this technology will be a determining factor in our lives, security testing must also become part of our daily tasks, so that these chatbots can be used with confidence.

Security Risks, Threats, and Vulnerabilities                 

The words risk, threat, and vulnerability are often confused or used interchangeably when reading about computer security, so let’s first clarify the terminology:

  • Vulnerability refers to a weakness in your software (or hardware, or in your processes, or anything related). In other words, it’s a way hackers could find their way into and exploit your systems.
  • A threat exploits a vulnerability and can cause loss, damage, or destruction of an asset – threats exploit vulnerabilities.                
  • Risk refers to the potential for lost, damaged, or destroyed assets – threats + vulnerability = risk! 
The well-known OWASP Top 10 is a list of top security risks for a web application. Most chatbots out there are available over a public web frontend, and as such, all the OWASP security risks apply to those chatbots as well. Out of these risks, there are two especially important to defend against, as in contrast to the other risks, those two are nearly always a serious threat — XSS (Cross-Site Scripting) and SQL Injection.
In addition, for artificial intelligence-enabled chatbots, there is an increased risk for Denial of Service attacks, due to the higher amount of computing resources involved.

Vulnerability 1: XSS – Cross-Site Scripting

A typical implementation of a chatbot user interface:           

           

  • There is a chat window with an input box.
  • Everything the user enters in the input box is mirrored in the chat window.
  • Chatbot response is shown in the chat window.

The XSS vulnerability is in the second step — when entering text including malicious Javascript code, the XSS attack is fulfilled when the web browser is running the injected code:

 <script>alert(document.cookie)</script>              

Possible Attack Vector

For exploiting an XSS vulnerability the attacker has to trick the victim to send malicious input text. It can be done through one of the following ways:

It’s that time of year again when we get the Red Hat Summit 2022 call for papers!

This year seemed to be a perfect time to go all in with sessions around our architectures based on a series of talks we’ve designed to showcase the various aspects we cover. Some are vertical aligned and others are just customer domains, but all of them include extensive research into how to implement successful architectures at scale.

Source de l’article sur DZONE

Few things are more important to a web designer or developer’s chances of success than having the proper workflow. The term “workflow” applies to the set of standardized steps you or your company uses to create, test, and deploy designs or products.

Over the years, as development processes have evolved, so too have the workflows experts use to bring their ideas to life. The MVP workflow, or “Minimum Viable Product” strategy, is one of the most popular options in 2022.

Here’s what you need to know about the MVP workflow and how it differs from some of the other standard workflows developers may be used to.

What is the Designer/Developer Workflow?

As mentioned above, the designer/developer workflow is a series of steps used by experts in the web design world to achieve a creative goal. The process includes the steps taken to start a project, evolve it, and finish it. Since software is never developed without tools, the technology you’ll access throughout the development process is also considered in most workflows.

An example of a standard development workflow might look like this:

  • Scaffolding: This is the stage wherein you start your new web project, creating a git repo, downloading libraries, preparing file structures, and completing other tasks to make sure your product is ready to roll out into the world.
  • Develop: This is where you’ll spend most of your time writing code for your application or website. The development process may include various specific tools and support from other staff members.
  • Test: In this stage, you examine the functionality of your code to determine if everything works as it should. If there are errors or issues, you can go back and develop fixes to the potential problems. Your code may go through the development/test process several times before you can move to the next stage.
  • Integrate: This is when you merge the code for your part of the development process with the rest of the team. You can also integrate your code into websites and existing apps at this point. If you’re working solo, you can skip this process.
  • Optimize: You prepare all your assets for use on a production server during the optimization stage. Files are generally optimized to ensure your visitors can view your site easily or access your applications with ease.
  • Deploy: In the deployment stage, developers push code and assets up into the server and allow for changes to be viewed by the public.

What is MVP? (Minimum Viable Product)

Now you know what a developer workflow looks like, you can begin to assess the concept of the “MVP” workflow. The term “MVP” stands for Minimum Viable Product.

The idea of “Minimum Viable Product” applies to a range of industries, from education to healthcare and government entities. This term comes from lean start-up practices and focuses heavily on the value of learning and changing during the development process.

When you adapt your workflow to focus on an MVP, you’re essentially adjusting your focus to a point where you can create a stripped-back version of something new – like an app or a website. The MVP is built just with the core features (the minimum), so you can bring the idea to market and test it as quickly as possible.

For instance, if your goal were to create an attractive new website for a client, an MVP would focus on implementing the crucial initial tools, and nothing else. While you may create checkout pages, product pages, and other aspects of the site, you wouldn’t populate it with content or start experimenting with bonus widgets and apps.

So, how does this offer a better alternative to the standard workflow?

Simply put, an MVP workflow is quick, agile, and easy. The idea is you can validate key concepts with speed, fail quickly, and learn just as fast. Rather than having to build an entire app and almost start over from scratch every time you find an error, you can race through the iteration and development process.

MVP workflows are also highly appealing to start-ups and entrepreneurs hoping to validate ideas without a massive amount of upfront investment.

Examples of MVP Workflows

Still confused? The easiest way to understand how an MVP workflow works is to look at an example.

Let’s start with a conceptual example. Say you were building a voice transcription service for businesses. The desired features of this product might include the ability to download transcription, translate them into different languages, and integrate them into AI analytics tools.

However, using the MVP approach, you wouldn’t try to accomplish all of your goals with your software at once. Instead, you’d focus on something simple first – like the ability to download the transcripts. Once you confirm you can do that, you can start a new workflow for the next most important feature for the app.

One excellent example of a company with an MVP approach is Airbnb. The entrepreneurs behind this unicorn company, Joe Gebbia and Brian Chesky, didn’t have a lot of cash to build a business with at first. They had to use their own apartment to validate the idea of creating a website where people could share their available “space” in a home or apartment with the public.

To begin, Airbnb only created a very basic website, published photos of their property, and waited to see the results. After discovering people were genuinely interested in renting another person’s home, the company was able to begin experimenting with new ideas to make a site where people could list their properties for travelers.

The Pros and Cons of an MVP Workflow

There are a lot of benefits to the MVP workflow – particularly when it comes to gaining agility and developing new products quickly. However, there are downsides too.

Pros

  • With an MVP approach, you can maximize your learning opportunities and create a more innovative, successful product at speed. You get to test every step of the way.
  • You release iterations or versions of your product quickly, which means you discover problems faster, allowing you to quickly solve these issues.
  • You build on the benefits of customer fans, “evangelists” in the marketplace who are keen to help your product or service grow.
  • An MVP gives you more freedom to try out unique ideas and “risks” you might otherwise avoid with a traditional workflow.
  • Because you’re focusing on creating only the “minimum viable product,” you don’t have to spend a fortune on initially setting up your workflows.

Cons

  • Agile work with an MVP flow requires a lot of effort in collecting constant feedback from customers and releasing iterations.
  • You’ll need to dedicate yourself to releasing many small and frequent product releases on a tight schedule.
  • You might have to revise the functionality of your product or app a number of times.

Creating Your MVP Workflow

If you believe an MVP workflow might be effective for you, the first step is defining your “Minimum Viable Product.” The app, website, or product you design needs to align with your team’s strategic goals, so think about what your company is trying to achieve at this moment – before you get started. If you have limited resources, or specific purposes, like improving your reputation as a reliable company, now might not be the right time to develop a new MVP.

Ask what purpose your minimum viable product will serve and what kind of market you’re going to be targeting. You’ll need to know your target customer to help you test the quality and performance of each iteration of your MVP. Once you know what your ideal “product” is, ask yourself what the most important features will be.

You can base these decisions on things like:

  • User research
  • Competitive analysis
  • Feedback from your audience

For example, if you’re producing an AI chatbot that helps companies to sort through customer inquiries, the most important “initial feature” may be the ability to integrate that bot into existing websites and apps owned by the company.

MVP Approach Guidelines

Once you have your hierarchy of most valuable features for your minimum viable product, you can translate this into an action plan for development. Remember, although you’re focusing on the “minimum” in development, your product still needs to be “viable.” In other words, it still needs to allow your customer to achieve a specific goal.

  • Review your features: Reviewing your prioritized product requirements and the minimum level of functionality you can deliver with each of these “features.” You need to ensure you’re still providing value to your customer with anything you produce.
  • Build your solution: Build your minimum set of features for the product or service. Remember to build only what is required. You can use methodologies like the agile or waterfall method to help guide your team during this process.
  • Validate your solution: Release your offering into the market, and ensure you have tools in place to gather feedback from early adopters. Use beta programs, focus groups, and market interviews to understand how your solution works for your customers and where you can improve on your current offer.
  • Release new iterations: Based on what you learn from your target audience, release improvements to your product quickly. Use your validation strategies to collect information from your audience with each release.
  • Review again: Go back to your product requirements and desired features and start the process over again, this time focusing on the next most valuable functionality. Over time, the value of your minimum viable product will increase.

Using the MVP Workflow Approach

While the MVP workflow approach might not be the right solution for every development or design team, it can work very effectively in the right circumstances. The MVP approach doesn’t minimize the importance of understanding market problems and delivering value. Instead, the focus is on delivering quick value that gradually increases and evolves over time.

As many developers and designers know, the most useful form of product validation in most cases is real-world validation. When your customers have had an opportunity to use a product on a day-to-day basis, they can provide much more effective feedback.

Just keep in mind that committing to the MVP approach also means changing your workflow and committing to iterations – otherwise, other features may never be completed. You’ll need to be willing to work quickly and in small bursts without getting too heavily caught up in one feature or functionality.

 

Featured image via Pexels.

Source

The post How to Get Started with the MVP Workflow first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

This is the first piece in a series on developing XR applications and experiences using Oracle.  Specifically, I will show applications running with the following:

  • Oracle database and cloud technologies
  • Hololens 2 (Microsoft Mixed Reality Headset)
  • MRTK (Mixed Reality Toolkit) APIs (v2.7.2)
  • Unity (v2021.1.20f) platform (leading software for creating and operating interactive, real-time 3D content)

Throughout the blog, I will reference a corresponding workshop video found at https://youtu.be/MBaQ8ohI80E.

Source de l’article sur DZONE