teleren/devto huggingface dataset:
Introducing Diggie　-　Professional GUI client for Amazon OpenSearch Service
Tags: opensearch, aws, elasticsearch
Published: 2021-08-19 14:04:54

---
title: Introducing Diggie　-　Professional GUI client for Amazon OpenSearch Service
published: true
description: Professional GUI client for Amazon OpenSearch Service
tags: opensearch, AWS, elasticsearch
cover_image: https://raw.githubusercontent.com/DiggieApp/Diggie/master/main.png
---
I would like you to introduce Diggie to this post, which is a professional GUI client for Amazon OpenSearch Service(Amazon Elasticsearch Service).
Diggie has been designed to help developers make it easy to operate and query your Amazon OpenSearch Service from your laptop.

This is currently a preview version and you can download the following for free.

## [Download(Mac/Windows)](https://github.com/DiggieApp/Diggie/releases/tag/0.1.0)

![diggie](https://raw.githubusercontent.com/DiggieApp/Diggie/master/diggie.gif)

## Motivation
When developing an application using Amazon OpenSearch Service, you may use a REST API client tool like Postman to query OpenSearch from your laptop.

However, I noticed that some key features were missing to query OpenSearch in a normal REST API client tool something like the following.

- Generate signature v4 header to pass IAM authorization of OpenSearch endpoint.
- Optimize visualization to see the query result.
- Import/Export a bunch of data from OpenSearch.

To resolve those problems and provide an "OpenSearch friendly" client tool, I have made it. That is why Diggie was born.

## Features
Currently, Diggie is providing the following feature as a developer preview version.

- Generate automatically signature v4 header from a profile you select to pass IAM authorization of OpenSearch endpoint.
- Query result in visualizer so that you can easily see the query result from OpenSearch.
- Query history feature so that you can re-use queries you ran in the past.

## Feedbacks
Hopefully, Diggie will help you and your team use Amazon OpenSearch Service, and feedback are always welcome!

If you are interested in it and have question or feedback, let me know it via [twitter](https://twitter.com/horike37) or [GitHub](https://github.com/DiggieApp/Diggie) or [email](horike@serverless.co.jp).
freeRASP 1.0 is out! Want to be the first one to try out new free App Shielding library?
Tags: freerasp, flutter, android, ios
Published: 2021-08-19 14:01:23

freeRASP provides multiplatform (Android, iOS, Flutter) mobile all-in-one protection for mobile applications free of charge.

The protection features:

✔️ Tamper protection

✔️ Repackaging/Cloning protection

✔️ Runtime analysis protection

✔️ Threat alerts & monthly security reports

Check my write-up about freeRASP: https://medium.com/geekculture/freerasp-in-app-protection-sdk-and-app-security-monitoring-service-de12d8e49400

Would you prefer to get hands dirty? Here you go: https://github.com/talsec/Free-RASP-Community
kodecamp
Published: 2021-08-19 13:54:27

Hi everyone, my name is Ogundare Olnarewaju, i'm frontend developer novice. It will be a dream come true for me to know more about frontend and be able to work with it in the nearest future. 

My goals with the 16weeks internship program will be able to know how to make use of code languages, such as javascript,css and html, to able to code on my own after the intern program. At the end of the intern i will want to be able to compete in the coding world and be employable as an intern. #kodecamp
Simple and nice Accordion with framer-motion
Tags: react, css, nextjs, framermotion
Published: 2021-08-19 13:51:50

#React Accordion

I have found different accordion examples to be pretty boring and with little code you can bring more life to accordions!

We are using framer motion library and also use Tailwind for styling.  
`npm install tailwind framer-motion
`

Below is the whole code for the accordion. Just copy and paste it and you have a lively accordion to use on your website!

```
import { useState } from "react";
import { motion, AnimatePresence } from "framer-motion";

const Accordion = ({ question, answer }) => {

  const [isOpen, setIsOpen] = useState(false);

  return (
    <motion.div>
      <AnimatePresence>
        <motion.div
          key="question"
          className="rounded-tr-md relative z-20  rounded-br-md shadow-sm px-1 py-2 bg-blue-200 cursor-pointer font-open border-l-2 border-yellow-500"
          onClick={() => setIsOpen(!isOpen)}
        >
          <motion.div className="text-gray-800 font-bold ml-1">
            Do you like animations?
          </motion.div>
        </motion.div>

        {isOpen && (
          <motion.div
            key="answer"
            initial={{ opacity: 0 }}
            animate={{
              opacity: 1,
              transition: {
                duration: 0.5,
              },
            }}
            exit={{ opacity: 0 }}
            className="p-2 text-lg text-gray-700 border-l border-b border-gray-300"
          >
            Yes, I love them!
          </motion.div>
        )}
      </AnimatePresence>
    </motion.div>
  );
};

export default Accordion;

```

That's it! Simple yet really nice.

Stay around for more free code, drop a follow on twitter where you can ask me any questions and get free resources!
[AStylidis](https://twitter.com/AStylidis)

My personal website:
[Anargyros Stylidis - Web Developer](https://stylidis.io)
Hello World! We've launched🚀
Published: 2021-08-19 13:46:43

Hello World!

It brings us immense joy to announce that we are ready to get out of Beta. After 8 months of successfully launching our product, we worked on new features, bug fixes and great feedback from all of you. The result was a much stable and smoother platform equipped with features to help you build a production-ready backend in minutes without any knowledge of code.

We'd love to hear your feedback here - https://www.producthunt.com/posts/canonic-2

### Wait! ….what’s Canonic?

Canonic is a low-code intuitive platform to build scalable backend and craft APIs for your web apps, mobile apps and microservices. It enables developers to ship production-ready backend instantly. All without writing a single line of code!

### So what’s new in Canonic?

- **Execute Database and Scheduled Triggers without diving into cron** 

- **Integrate with external databases** - Postgres, SQL, MySQL, MongoDB 

- **Choose the region for deployment and keep your app secure** 

- **New Marketplace of integrations** 

- **SDK to help integrate backend with frontend** 

**Accelerate Development time** - With our intuitive interface, defining database models and crafting APIs becomes quick and easy. Logic blocks help you define your business logic. And it's all hosted by default! so you can instantly start integrating APIs with your frontend.

**Single Touch point to manage your entire backend** - Everything from hosting, to database, to APIs can be managed on Canonic, saving you the hassle of setting up and managing multiple services.

**Deploy scalable backend** - With instant deployments and serverless architecture, scalability stays high while keeping costs down. As your project grows, you can make use of built-in code editor to write business logic that require code.

**Automate Events** - Database & scheduled triggers help you achieve automation without diving into cron and scripts. 

**A much smoother and stable platform.** 
We’re excited for you to try our new and improved Canonic, and we hope that this tool will help you create an amazing backend. The Canonic Team and I are beyond thankful to our amazing and supportive Canonic community. Without the incredible amount of feedback and support we wouldn't be here today.

Let us know your thoughts! - https://www.producthunt.com/posts/canonic-2
Branching in Git
Tags: github, webdev
Published: 2021-08-19 13:22:59

So I have been learning git for some time now and I came across the topic of branches. I have learned so much from this topic, and would like to share with you what I learnt.

### What is a Branch.
According to **GitHub Glossary** a branch is a parallel version of a repository. Branches are primarily used to create new features and once the feature is complete it is merged back into the master. By default git commits to the master branch. Git allows you to create , list, rename and delete branches.

#### Importance of Branches
1. It allows you to clean up your futures hosting before merging it into the main branch.

1. It allows unstable code to be managed before merging into the main code base.

#### Basic Git Branching commands

```git branch```
* allows you to list all branches in your repository

```git branch <branch-name>```
* allows you to create a new branch

```git branch -d <branch-name>```
* deletes the specific branch also prevents you from deleting this branch if it has unmerged changes and it outputs an error.

```git branch -D <branch-name>```
* deletes branch even if it has unmerged changes and does not out any error warnings.

```git branch -m <branch-name>```
* renames the current branch

```git branch -a```
* list all remote branches

```git checkout```
* for switching between branches.

```git merge```
* used to combine two branches usually a feature branch into a master branch

### Conclusion
Branching in git is used to maintain code before they are merged to the master branch.
Branches helps enables to you to list branches, create new branches, delete branches and many more. In this article, you were taught the basis of how to work with branches.

Let me know in the comments if you have any contribution 👇 or just leave a 🦄 and share this post 📣

Thanks for reading🙏
A Brief Introduction to CWEs
Tags: software, appsec, cwe, cve
Published: 2021-08-24 18:52:14

---
title: A Brief Introduction to CWEs
published: true
date: 2021-08-19 13:02:19 UTC
tags: software,appsec,cwe,cve
canonical_url: https://blog.shiftleft.io/a-brief-introduction-to-cwes-4f906e314fd
---

![](https://cdn-images-1.medium.com/max/1024/1*2B_FeyL6YxBJrndEwDv0Rg.jpeg)<figcaption>Image by <a href="https://pixabay.com/users/pixelcreatures-127599/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=265130">Werner Moser</a> from <a href="https://pixabay.com/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=265130">Pixabay</a>.</figcaption>

In the upcoming weeks, we will be releasing a series of blog posts focusing on the Common Weakness Enumeration, a list of security vulnerability types. We will begin with an introduction to concepts we’ll refer to again and again in the future.

### What is the CWE List?

In short, [Common Weakness Enumeration (CWE)](https://cwe.mitre.org/) is a project devoted to categorizing weaknesses that could lead to security flaws in applications or systems. More specifically, [these weaknesses are](https://cwe.mitre.org/about/faq.html):

_Flaws, faults, bugs, and other errors in software and hardware design, architecture, code, or implementation that if left unaddressed could result in systems and networks, and hardware being vulnerable to attack._

The CWE is a community project whose goals are to understand software flaws and to help create automated tools capable of identifying, fixing, and preventing such flaws before malicious parties exploit them.

### CWE? CVE? CVSS? What’s the difference?

In addition to CWE, you will see mentions of CVE and CVSS. These are concepts related to CWE, and we will be referring to these often as well.

- **CVE:** While the CWE list focuses on the _types_ of software weaknesses, the Common Vulnerabilities and Exposures (CVE) list focuses on known instances of vulnerabilities for specific products/systems.
- **CVSS:** The Common Vulnerability Scoring System (CVSS) is used to assign a numeric score to CVEs; the CVSS score reflects the severity of the vulnerability.

### What’s Next

If you’ve taken a look at the CWE list, you’ll notice that it’s very, very long.

However, there are ways to restrict your focus so that things aren’t overwhelming. For example, you could take a look at weaknesses by risk: the riskier the weakness, the higher it should be on your AppSec priority list.

If you’d like an even narrower focus, consider starting with the [Top 25 Most Dangerous Software Weaknesses](https://cwe.mitre.org/top25/archive/2021/2021_cwe_top25.html) list, including the most severe security weaknesses in software today. Our subsequent blog posts will take a look at some of the changes to this list over the past year, as well as deep dives into the vulnerability types listed.

* * *
How to use SWR in a Next.js app
Published: 2021-08-19 12:51:50

<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/veqt8qb9lwq2l66qlg47.jpeg"
<b>SWR</b> stands for stale-while-revalidate . It's a lightweight library that  allows fetching, caching, or refetching data in realtime with React Hooks.

```javascript
import useSWR from "swr";

 const fetcher = (url) => fetch(url)
 .then((res) => res.json())
 .then(json => {
   return json
 });

 const useSwrFetcher = url => { 
     return useSWR(url, fetcher); 
  }
```


To use SWR, you first install it in your project using npm or yarn e.g <b>npm i swr</b> or <b>yarn add swr</b>.
In the above code snippet, a functional component <b>fetcher</b> takes api url as a parameter and then returns a json response from the api.



Then a reusable functional component <b>useSwrFetcher</b> (you can name it any) calls useSWR hook and passes the api url and fetcher(you can give it any name) to return data from the api.



<b>Example below demonstrates the use of reusable component useSwrFetcher</b>

```javascript
const API_URL = 'typeyourapihere...';
export const Users = () => {
    const {data: users, error} =
    useSwrFetcher(API_URL+"/users");
    return (
    users.map((user, i) => {
    return <>
    <span>Name: {user.name}</span>
    <span>Age: {user.age}</span>
    </>
    })
    );
    }
```


The function component <b>Users</b> calls reusable component <b>useSwrFetcher</b> to get users from the API and then uses map function to display the data(name and age) for the fetched users.
What is Babel used for?
Tags: javascript, programming
Published: 2021-08-19 12:49:46

Well, before we start talking about what **Babel** does, we need to figure out what the problem it solved. We know that Web Browsers have **JS** *engines* in them, and these *engines* are responsible for reading our **JS** code to make our apps functional.

But these *engines* understand only specific versions of **JS** and unfortunately, **ES6** is not one of them. I think it is now clear what **Babel** came for, wait not? Ok, **Babel** takes new modern JS that is not supported or understandable by browsers and compile it into old versions of **JS** that are supported and understandable by browsers.

That way, we (developers) are happy since we can use new **JS** features, and browsers are also happy because they receive syntax they understand.

That it 🤷‍♂️ easy right ? I hope you guys enjoyed this short article 😃😃
Why Apple Is One of the Largest Customers of Its Competitor Amazon
Tags: aws, news, ios
Published: 2021-08-19 12:47:20

Although Apple and Amazon are direct competitors in many markets, the iPhone producer spends over $30 million per month on Amazon Cloud. Apple is prepared for these costs and indirect support of their competitor - all this in order to provide their clients with a high-quality iCloud service.

Apple found and filled its niche in the smartphone market, but now this market is close to a supply glut. The company needs to explore new directions, and online services are ideal for this. Along with iPhone retail sales statistics, the company started publishing information about revenue from such products as AppleCare, Apple Pay, and iCloud.

Nowadays, about a billion Apple devices are actively used worldwide. In order to support such a large number of Apple devices, it is necessary to develop infrastructure. And that’s what the company is doing. Particularly, Apple plans to spend $10 billion in the period from 2018 to 2022 on building and maintaining data centers in the United States. Half of this sum is already invested and assimilated.

Currently, to maintain iCloud, Apple uses the services of not only small cloud providers but also giants like Amazon, Google, and Microsoft. However, Apple doesn’t [use AWS](https://andersenlab.com/blueprint/voxxify-project-each-employee-will-be-heard?utm_source=article&utm_medium=dev.to) or other cloud services for the rest of their products.

Apple spends over $350 million a year on maintaining AWS. Since the company has not developed its own infrastructure yet, expenditure on cloud services continues to rise. Despite planning to build its own data centers, Apple has signed a $1.5 billion five-year contract with Amazon for using AWS.

AWS is one of Amazon's main revenue generators. And although Apple is one of the largest customers of Jeff Bezos’s corporation, the money Amazon receives from Apple is only a small fraction of the total flow. Lyft, Pinterest, Snap, and other tech giants sign billion-dollar contracts with Amazon in order to use their cloud resources.

According to Forrester’s report, over 40% of global players are already using cloud services provided by Amazon, and within five years, this figure is predicted to double. The advantages of using Amazon's services are clear. And of course, in order to use them as efficiently as possible, a professional approach is needed.
New Cut and Paste Tools
Tags: webdev, showdev, uiweekly, frontend
Published: 2021-08-19 12:32:18

The editing experience has always been a top priority for [Apostrophe] (https://apostrophecms.com/). Developers see many benefits of implementing Apostrophe as their CMS of choice, and one of them is empowering content editors. In the most recent Apostrophe 3 release, we shared an exciting new update, benefitting editors using Apostrophe in the form of new Cut and Paste tools. 

Some other CMS solutions force an editor to add content in one interface to then go into a separate interface to preview the result, just to have to jump back into that first interface to move content blocks around to achieve the desired layout or content hierarchy. This is not the case in Apostrophe. 

With the WYSIWYG interface of Apostrophe, content creators can view, in real time, the additions and revisions they made to their work, directly on the page. Now, with ApostropheCMS 3.2.0, editors can easily move widgets from one area to another simply by cutting and pasting, without leaving the page. 

To do this, an editor will navigate to the desired area and select the ‘cut’ function within the area controls. This area will then be added to a virtual clipboard. If an area can include the widget on the clipboard, a special Clipboard widget will appear in the area's Add UI, where then the editor can paste the widget as desired. 

Let’s watch a quick video. 
{% vimeo 588466569 %}

Beyond the reason that it’s just a cool functionality that we can deploy, there are additional benefits in terms of reaching objectives that content managers might have. For example, perhaps an editor has seen a recent decline in form submissions on a certain page, and they believe that if the form was positioned higher on that particular page their submission goal might be achieved. Now, avoid clunky dragging or content block recreation, and cut and paste the entire form to the section that is thought to have a higher conversion potential. Success! 🎉

**Our favorite part about this new feature is that it works across pages.** An editor can cut a whole section out of one page, navigate to another page, and paste it there.
{% vimeo 588466644 %}

We have more iterating to do on these new tools, but even in this initial release we think this is significantly faster and easier to use than the previous drag and drop UI. 

##Get Started
Ready to try it out, but don’t yet have an Apostrophe site? No problem. [Spin up a demo] (https://apostrophecms.com/demo) and start experimenting with the new cut and paste UI. 

Follow along with all of the latest release updates on [GitHub] (https://github.com/apostrophecms/apostrophe/discussions) and share your experience and tag us on [Twitter] (https://twitter.com/apostrophecms).
Xamarin.Forms System.ArgumentException: Illegal characters in path
Tags: xamarinforms, csharp, bugs
Published: 2021-08-19 12:15:16

If you’ve seen this, you’ve probably been banging your head against the wall figuring out what it means. If you’re fairly sure there aren’t actual illegal characters in your project, then it’s likely about how long your path string becomes.

```
Error XARDF7004: System.ArgumentException: Illegal characters in path.
```

Assuming you’re using Visual Studio on Windows 10 when encountering this issue, it's likely related to `MAX_PATH` which caps off at 260 characters on Windows due to compatibility.

### How did I find out?

At first I thought it might be related to spaces in folders, but that couldn’t be possible since my primary user on my machine has a space in it. In such an instance, every project would fail.

Then I thought maybe it was an invisible character in a folder name, so I copied my solution straight to C:\ and it worked.

Then I thought maybe it was related to length, so I started creating subfolders. I found that the project build would fail around 65 characters for path. That didn’t make any sense so I assumed it had to be something deep inside that exceeded some predetermined length.

Eventually, I was able to get this error to show up:

```
Error XA4209: Failed to create JavaTypeInfo for class: Android.Support.V4.View.Accessibility.AccessibilityManagerCompat/ITouchExplorationStateChangeListenerImplementor due to System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
```

This explicitly talks about 260 characters and 248 characters.

I continued researching and found this thread: https://developercommunity.visualstudio.com/content/problem/521034/failed-to-create-javatypeinfo.html#

> So this is definitely related to the MAX_PATH problem on Windows. This will hopefully be solved with up coming changes in .net and MSBuild which will remove the MAX_PATH as a limit [1]. This looks to be in d16 however it does require the user enable a setting on their machine via a Group Policy (see [1] for details).

After investigating that, it seems to be a pretty common issue:

 - https://knowledge.autodesk.com/support/autocad/learn-explore/caas/sfdcarticles/sfdcarticles/The-Windows-10-default-path-length-limitation-MAX-PATH-is-256-characters.html

 - https://www.howtogeek.com/266621/how-to-make-windows-10-accept-file-paths-over-260-characters/

 - https://stackoverflow.com/questions/27680647/does-max-path-issue-still-exists-in-windows-10

> The issue will be always present in Windows, to keep compatibility with old software. Use the NT-style name syntax "\\?\D:\very long path" to workaround this issue.

-- 

To conclude, if you run into the `Illegal characters in path` issue when compiling Android in Xamarin and you search for “xamarin system.argumentexception illegal characters in path”, I hope you find this article and realize it’s actually about how many subfolders you have your project nested in.

Good luck.
My Training process in KodeCamp 
Published: 2021-08-19 12:03:20

Introduction 

I'm Fimihor tarcisus Michael, I'm a beauty and lifestyle photographer, presently pursuing a career in Web development . I'm fascinated about the application of Web development in solving real life problems. 

My hobbies include : Snapping, Coding, reading, gaming. 



My Slack

Front-End
Retoucher 

I am currently undergoing a web Front-End training course with KodeCamp. KodeCamp is a tech training platform that provides training tracks in web Front-End dev, Back-End dev and UI/UX designs. The training is designed to last for 12 weeks and during this time my goals are to:

Advance my html and css skills
Get hands on experience by applying my skills on real life projects.
Building up my digital portfolio.
Thank you for reading. ,