teleren/devto huggingface dataset:
Headlessforms - Form Backend
Tags: formbackend, webdev, devops, form
Published: 2022-09-16 15:54:27

## Build high-quality HTML forms in minutes --- we have the Form Backend


Receive form submissions and send auto-response emails via a form on your website – **without writing a backend**.

It's perfect for WordPress, Netlify, Vercel, Github Pages, or any static site.

[Headlessforms](https://www.headlessforms.cloud) provides form endpoints as a service so your simple sites can stay simple. Capturing form submissions has never been this hassle-free. https://www.headlessforms.cloud


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h6dv40b6ds8jicdsz3qi.jpeg)
Automatically Configure Your Software API Management Stack - In a Containerized Environment
Tags: containers, api, configuration, video
Published: 2022-11-07 14:06:41

---
title: Automatically Configure Your Software API Management Stack - In a Containerized Environment
published: true
date: 2022-09-16 15:33:09 UTC
tags: containers, api, configuration, video
canonical_url: https://tech.forums.softwareag.com/t/automatically-configure-your-software-api-management-stack-in-a-containerized-environment/263759
---

With the ever-increasing popularity of using “containers” to package and deploy applications, Infrastructure platforms such as Docker and Kubernetes (also known as K8s) are becoming essential to many companies and government organizations for deploying, scaling and managing containerized applications.

And with the ever-increasing popularity of using “APIs” to share data, promote re-use, and break silos across enterprises, Software AG API Management, recognized as a leader by Gardner, is a key solution to all your API needs.

But as you deploy a new softwareAG API Management solution in a containerized environment, how can you configure it automatically without any manual interventions?

Welcome to the “ **webmethods-apigateway-configurator** ” project and container!

In short it’s a container that can easily configure all the various functions of SoftwareAG webMethods APIGateway by simply passing a set of environment variable to it.

Under the hood, the container will performs all the needed operations and will strictly use the SoftwareAG APIGateway **System APIs** to perform all its functions.

I created an explanation / walk-through video (10 min) to highlight usage and actually perform show how it works:

[![Configure Your Software API Management Stack Automatically](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ztkdr70a9rdm5toj9mzf.png)](https://www.youtube.com/embed/JWnRu7qRiwo?autoplay=1&feature=oembed&wmode=opaque)

Please also find this open-source project (contains detailed steps on trying this in your own docker-enabled workstation or server)

<h3><a href="https://github.com/softwareag-government-solutions/webmethods-apigateway-configurator" target="_blank" rel="noopener nofollow ugc">GitHub - softwareag-government-solutions/webmethods-apigateway-configurator:...</a></h3>


[Read full topic](https://tech.forums.softwareag.com/t/automatically-configure-your-software-api-management-stack-in-a-containerized-environment/263759)
What was your win this week?
Tags: discuss, weeklyretro
Published: 2022-09-16 15:26:49

---
title: What was your win this week?
published: true
description: Got to all your meetings on time? Started a new project? Fixed a tricky bug?
tags: discuss, weeklyretro
cover_image: https://cl.ly/188e843c2985/download/Image%202019-02-15%20at%202.36.37%20PM.png
---

Hey y'all! 👋

Hope everybody is having a fantastic Friday and that you all have wonderful weekends!

Looking back on this past week, what was something you were proud of accomplishing?

All wins count — big or small 🎉

Examples of 'wins' include:

- Starting a new project
- Fixing a tricky bug
- Baking a cake 🎂
 
---

Everybody have a good one!

![Babe, the pig, sticking its head out the window of a car, holding a wind spinner, and looking excited. The words "It's Friday!!" are on the screen.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ytdvhh5bt15agna74ncn.gif)
Here's how to return Multiple Values in solidity
Tags: web3, beginners, blockchain
Published: 2022-09-16 15:13:19

Strangely, Solidity allows functions to return multiple values. You might not be used to this if you've got some programming experience. But this feature could turn out to be super useful. Here is a snippet from the solidity docs to demonstrate this:

```Solidity
contract sample {
 function a() returns (uint a, string c){

    // wrap all returned 
    // values in a tuple
    return (1, "ss");
 }

 function b(){
    uint A;
    string memory B;

    //A is 1 and B is "ss"
    (A, B) = a();

    //A is 1
    (A,) = a();

    //B is "ss"
    (, B) = a();
 }
}
```

The function `a()` in the code returns multiple values and to achieve that simply wrap all the values you want to return in a tuple "()". 

So `a()` would return both 1 and the string "ss". Also remember to declare their types in the `returns` part of the function declaration.

## Extract both values from `a()`

So how do we extract those values? 

Well, that's what the function `b()` does. When you call `a()`, you can assign the result to a tuple with variables equals to the number of values you want to extract.

```solidity
function b(){
    //...
    (A, B) = a();
}
```

This will assign 1 to A and "ss" to B. What if you need just a single value, perhaps just the first value returned by `a()`?

## Extract a single value from `a()`

To extract a single value, do something like this...

```solidity
function b(){
    // not all elements have to be 
   // specified (but the number must match).       
    (,B) = a();
}
```

That should assign the second return value, "ss" to B. Observe how we left the first value in the tuple empty, we kinda  have to do that to extract B. Same goes for extracting the first value

```solidity
function b(){
    // not all elements have to be 
  // specified (but the number must match).       
    (A,) = a();
}
```

## Wrapping Up

And that's how to write functions that return multiple values and use those values in your code. I hope this has been helpful. Thanks for reading this quick snappy content. I can't wait to see you what do with this knowledge. I'm rooting for you.


koha
Trunk Based CICD Depending on Feature Branches
Published: 2022-09-16 14:51:31

---
title: Trunk Based CICD Depending on Feature Branches
published: true
description: 
tags: 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
---

One hard thing about [trunk based development](https://trunkbaseddevelopment.com/) is when you depend on teams that utilize feature branching and are ok with [big bang releases](https://www.svpg.com/big-bang-releases/) instead of [Continuous Delivery](https://martinfowler.com/books/continuousDelivery.html).

If every commit goes to main and then production, you can't "hold off" releasing for 2 weeks or a month.

One of the strategies there is feature toggles; release things that aren't shown. While the toggle is straightforward, the 2 code paths that could be entirely new type definitions & UI flows isn't so. Mapping 2 different types to a single current domain's one is tricky.

More importantly, you appear like an outsider when avoiding staggered releases.

> "We'll just release database changes, API's, and UI's at the same time."

That would mean you'd be committing changes, but never actually pushing them, and never using your CICD pipeline to test them until 2 weeks/a month later.

This is one of the tradeoffs of trunk based dev.

_You_ have to have 2 code paths & feature toggles. _You_ have to remember to remove them later. _You_ have to write enough tests to validate happy paths + ensure they can peacefully co-exist.

Value? When you release you know your stuff works, Because you've tested it for a month. That and you don't have anxiety as much on release day because you know you're good, and more able to help debug issues on the boundaries that your code touches.
API is like a box of chocolates, you never know what you GET
Tags: api, devjournal, discuss, webdev
Published: 2022-09-16 14:48:44

Imagine you get a task to integrate an API. It's a partner API, the code is outside your control, and it's not very widely used. But there is at least some documentation. You quickly dive in. There's a list of endpoints, required parameters, authorization, but something's missing. There is absolutely no information about API responses, not even how a regular response should look like, not to mention possible errors. So, it's time to pull out an HTTP client, and start poking the API with requests to see how it behaves.

Dealing with undocumented responses isn't such a big deal, we have tools for visualizing JSON (for example [JSON Crack](https://jsoncrack.com/)) and inferring its schema (like [MakeTypes](https://jvilk.com/MakeTypes/)). It's those edge cases which completely throw off any assumptions you already made.

Recently, I worked with an API which was like that. The documentation only mentioned that endpoints exist, and some particular parameters are required. Once I figured API's weird, custom-made authorization schema, I started to poke around the endpoints.

First thing I noticed was responses’ content type. While the API responds with JSON, the `content-type` header marks the response as HTML. This breaks automatic parsing in most HTTP clients (and also syntax highlighting and formatting), but the response can still be parsed manually. The fun started when some responses included HTML warnings with the data, for example:

```html
<br />
<b>Warning</b>: Undefined array key "TEST" in <b>/some/source/file</b> on line <b>123</b>
<br />
<br />
{"foo":"bar"}
```

*Technically,* the API behaved consistently: it claimed to respond with HTML, and so it did. But in practice, this behavior renders the API mostly useless for consumers. Sure, I could search the response and parse only the JSON part. While finding clever hacks is fun, it's usually not sustainable in the long run. Not to mention that keeping error messages exposing your source files structure is a [security risk](https://owasp.org/www-community/attacks/Full_Path_Disclosure). I reported the issue to the API provider (somehow surprised no one reported this issue before). They were swift to respond and improved their API based on my suggestions.

While I love to solve technical challenges as any other developer, sometimes it's really easier to talk to people. However, it frustrates me to think how much time is wasted by examining on poorly documented APIs with surprising behaviors. And while we should be advocating for better developer experience even for internal and partner APIs, we can also share our discoveries by abstracting APIs into [reusable use cases](https://dev.to/superface/stop-the-manual-api-plumbing-5639).

Now to you: **What was the weirdest API behavior you dealt with?**

<small>Cover photo credit: [Lukas on Pexels](https://www.pexels.com/photo/chocolate-cake-box-352876/).</small>
Frank's Sinatra
Tags: ruby
Published: 2022-09-16 14:48:26

During my time in Phase 3 at Flatiron School I began learning how to build out my own API to use on my front end application. In order to get our front end synced up with our back end when fetching this data that you've created using the Ruby framework. There is a handy dandy Ruby gem(Sinatra Gem) you can implement into your ruby gem file in order to be able to access your data. 

So Sinatra allows us to connect our full CRUD actions both on the front end and the back end based on how exactly we want to manipulate our data.

What are CRUD actions? CRUD actions are operations that do the following things.


## C - Create 


Create allows you to Insert a new object into your array of data on the back end.


## R - Read


Read allows you to pull your data from the back end so you can slap your data onto your application so that your user is able to see that data.


## U - Update


Update allows you to pull a specific key from an object in an array and update that specific key. You can also update multiple keys as well.


## D - Delete


Delete allows you to erase an object within your array inside of your back end API.



All of these CRUD actions persist on your backend database.



## GET request


So let's say we have a database with an array of video games. This is how we would be GET that information to our front end and order it by title of video game alphabetically using Sinatra.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1g6khqk7743bzinncqcv.png)

So here we are using a get method on line one and getting all of our video games. Then we are parsing our video games to JSON on our third line which allows us to fetch it on our front end of our application.


## POST request


Now let's say we want to add a new video game. This is how we would write that CRUD action.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yc21ydoaa3833bzio4if.png)

For this one we had to right post set the link to "/video_games", add a do block and create a new video game taking each specific key using "params" to allow us to access each key in order to create a new object for the video games array in our back end API.


## DELETE request


Now the last one we are going to go over is the delete method and in order to delete a video game from our video games array here is how the code would look.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnozwcbwddn58grxmk9e.png)

So we take our video games by a specific ID in the first line of code. Then find the video game by its ID. Then we destroy that specific video game after finding that specific video game by it's ID.

## Conclusion

This will help allow you to fetch your data as well as manipulate it on your front end after getting it synced up on your back end using the Sinatra Gem. Now go try it out for yourself!
Programming chose me
Tags: java, javascript, algorithms, beginners
Published: 2022-09-16 10:01:16

Being unable to convince my parents and being unable to afford a university elsewhere except in my home state, I was compelled to apply for Medicine and Surgery (they believe I can do anything), but I'd already planned my life toward computer engineering (software or hardware).

On seeing the results, I was a point less than the required points to be in medical school and I was offered biology and the option to choose another. As of then, there was no computer engineering in the school, so I opted for the closest, "Electrical and Electronic Engineering". I've always wanted computer engineering cause I love fixing things and it'll give me a good grind on software engineering too.

Meeting the best in the faculty and the department, he told me I'll be introduced to programming (I didn't know what programming was, I was just curious about how the computer works) and not let the zeal die, and that was the first step to where I'm today.

I could've easily scored higher than what I scored, but somehow I didn't and I'm here building an IoT platform in a company 2 years after graduating, doing what I love doing, "Software Engineering".

Although I have good knowledge of Java, PHP, Javascript, Python, and C, my curiosity has led me to join the ALX Software Engineering Program, where I'm currently resharpening my skills in C, and Python and acquiring DevOps skills and software engineering best practices. I'm also taking the AWS Machine Learning program. I told you, I love fixing things.
Importance of HERO SECTION In Your Website
Published: 2022-09-16 14:33:28

Hey guys this is my first post and i would like to enlighten my fellow frontend-web developers and web designers the importance of hero section when designing a website.

**What is HERO SECTION?**
  Hero Section is the area or part that immediately appears after your logo and menu section.
Hero Section is a key part of any Quality Website.
 The four components that make up the hero section are:

1. What you provide.
2. Why people should trust you.
3. The Advantages of Working with you.
4. What steps they ought to take next

Along with these essential components, you'll also need to figure out how to distinguish your business from the competitors. Depending on the appearance of your website and the style you desire, there are many different hero section design ideas you might employ.
**How to create an Effective Hero Section**

1. Utilize an eye-catching hero picture or video
  In this section you will have to use a eye-catching image or video that captures and provide your user the information or glance of the website 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fjnftyctnuelqebf8b9o.jpg)
2. Make a catchy headline
  In this part you will have to use a striking or captivating headline to catch the interest of the users or clients to prevent them from getting lost and leaving your website eventually

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t3lz8up2wi3pgk4cyjxa.jpg)
3. Immediately after, add a compelling subheading.
  You should introduce the fundamental concept behind your brand while also providing brief information about your goods and services.

This is the perfect time to establish trust with your website visitors and briefly outline the advantages of doing business with you or shopping at your store. Additionally, it's crucial that you maintain this section of your website updated so that visitors always know what to anticipate from you.
3. Incorporate a Call To Action (CTA)
A bold, distinct, and engaging call-to-action is a necessity for any website's Hero Section (CTA). Too many websites overlook this section, leaving prospective customers perplexed and confused of what to do next. Without a Call To Action to refer to, customers would probably become lost and impatient before opting for another choice with a different business.

I Hope this article was help to let you know how to create and effective Hero Section.

`some of the pictures on this article where taken from AWEBCO.COM and from other website`

I really hope this article was helpful to you, am not a writer so that's why it is short
How to add a dump file to our Phoenix app
Published: 2022-09-16 14:06:07

Working as developers, sometimes we need to migrate an existing app from one language to other, or even load data from Staging or Prod locally. So this guide shows how we can do that.

### Creating dump files
If you don’t have any dump file for testing purposes you can generate one from an existing database

Of course you can create just one file that have the schemas and inserts,I prefer to have them in different files. You can learn more about all psql commands on [https://www.postgresql.org/docs/current/app-pgdump.html](https://www.postgresql.org/docs/current/app-pgdump.html)

Create schema dump file
```bash
pg_dump --schema-only --file="schema_dump.sql" <database_name>
# or even shorter
pg_dump -s -f="schema_dump.sql" <database_name>

# --file=file
# Send output to the specified file.

# --schema-only
# Dump only the object definitions (schema), not data.
```

Create inserts dump file
```bash
pg_dump --data-only --file="insert_dump.sql" <database_name>
```

### Applying data to our new databse
First of all you should create the database for you application:
```bash
mix ecto.create
```

If you already have the dump file, you can run the following command:
```bash
mix ecto.load -d <path_of_dumps>/schema_dump.sql
```

This will create the tables from the dump to our Phoenix app

If we have a data that we also want to add, we can use the same command in order to add the data to our app

```bash
mix ecto.load -d <path_of_dumps>/inserts_dump.sql
```

And we are ready to rock!

Now you should be able to generate migrations and run them on top of this!


Things we used:
* https://hexdocs.pm/ecto_sql/Mix.Tasks.Ecto.Load.html
* https://www.postgresql.org/docs/current/app-pgdump.html
Follow Friday: Tooling Edition (16 September 2022)
Tags: meta, writing, tooling, figma
Published: 2022-09-16 14:04:30

---
title: Follow Friday: Tooling Edition (16 September 2022)
published: true
description: 
series: Follow Friday
tags: meta, writing, tooling, figma
---

_Happy Friday, friends! 🎉 Follow Friday is your weekly opportunity to shout out fellow DEV Community members doing awesome work. Check out the comments and follow someone new!_

Not sure if you've noticed, but a tool beloved by many in our community has been [a hot topic of conversation this week on Twitter](https://twitter.com/search?q=Figma&src=trend_click&pt=1570376429388570624&vertical=trends) 😬🔥

And it's got me thinking about **tooling**. At their simplest, tools are a means to getting our work done. But some tools ascend this humble role and become objects of adoration, key unifiers of a community, or even...[a little bit culty](https://alittlebitculty.com/episode/cults-at-work-cameron-herold-on-corporate-culture). Where do we draw the line?!

Thankfully, there are plenty of folks here on DEV sharing their thoughts on various tools and whether or not they're worth the hype.

So, devs: who are your favorite DEV community members sharing opinionated takes on developer tooling?

_**Formatting tip**: to populate a card with a follow button, use the liquid tag syntax `{% embed https://... %}` and insert the URL of your favorite author's profile._

Join in on the #FollowFriday fun by @mentioning your favorite author to follow on the topic of tooling (and letting us know why you love their posts!) ⤵️
LawBlocks Offering Decentralized Way Of Contract Execution, Dispute Resolution Recoded on Blockchain
Published: 2022-09-16 14:01:03

Law Blocks is a one window blockchain-based ecosystem for creating, keeping records of contracts, and solving disputes providing unbiased, swift & affordable resolutions through arbitration.

Welcome to the world of Law Blocks, a Web 3.0 tech company offering a truly Decentralized way of contract execution and dispute resolution.

Physical legal world is riddled with lack of transparency and is time consuming, complex and costly. Law Blocks with its legal tech community solves this problem by providing 100 % paperless, fully decentralized and encrypted solutions for all of the client's legal needs involving contract execution and dispute resolution.

Law Blocks is powered by the XDC network. Utilizing the XDC network, Law Blocks lets parties draft Smart Legal Contracts, verify them cryptographically and upload them on the Blockchain. Smart Legal Contracts allow the performance of credible transactions without the need for third parties.

Post contract execution the parties can take advantage of Law Blocks’ legal tech community for dispute resolution through an unbiased, swift and affordable mediation / arbitration by Legal Experts.

The whole ecosystem of Law Blocks is powered through LBT (Law Blocks Token), a XRC-20 utility token. LBT is used for all the transactions that happen on the Law Blocks platform and for incentivising our community. Being a token on XDC Network, $LBT has access to multiple DEX such as Globiance DEX, XSwap and third-party secure wallets like DCent, Bitfi, Ellipal and Guarda. LBT tokens being digital assets are available for trading with major exchanges.

Login to lawblocks.io to securely and cryptographically execute contracts and take advantage of our unique legal community for dispute resolution. The future of the legal world is here!

Website: lawblocks.io

Youtube: https://youtu.be/fbn13Em4a64