teleren/devto huggingface dataset:
Workflows Tips #30: Community-Created Resources
Tags: nocode, workflows, tutorials, ipaas
Published: 2022-08-30 18:41:48

---
title: Workflows Tips #30: Community-Created Resources
published: true
date: 2022-08-30 07:08:17 UTC
tags: NoCode,Workflows,tutorials, ipaas
canonical_url: https://maxkatz.net/2022/07/22/workflows-tips-30-community-created-resources/
---

Welcome to another Okta Workflows Tips post. Read all other tips ⤵️
{% embed https://dev.to/oktaworkflows/okta-workflows-tips-57bj %}

In this tips post I want to share a number of excellent community-created Workflows resources.

📘 A [guide](https://paper.dropbox.com/doc/Using-Okta-Workflows-to-Automate-User-Deprovisioning-via-Slack-orNKxky5yAdc7f2dNu5Dr) that shows **how to use Okta Workflows to automate user de-provisioning via Slack**.

📘 A [guide](https://andrewdoering.org/blog/2022/07/13/expanding-on-github-tracking/) that shows how to checks if a **username exists in GitHub and then automatically checks to see if a team exists under their Department / Team Name and if not, creates the Parent and Child team relationship in its place**.

📘 A [guide](https://github.com/pro4tlzz/ITSupportTools/tree/main/okta-workflows/inactive-zendesk-users) that shows how to **audit inactive Zendesk workspace users in Okta**.

📚 A [collection](https://iamse.blog/workflows/) of Workflows-related articles from **Everything Identity and Access Management leveraging OKTA technology** blog.

🔁 This sample [workflow](https://katzmax.files.wordpress.com/2022/07/shipenginegeneratereturnshippinglabel.flow_.zip) automatically **generates shipping labels and emails them to users**. Will need a [ShipEngine](http://shipengine.com) and courier (Fedex, UPS, etc) accounts to do so. _After you download the file, unzip it and import the .flow file to Workflows_.

[![Generate shipping labels flow](https://katzmax.files.wordpress.com/2022/07/workflows_tips30_shipengine_flow.png?w=1024)](https://katzmax.files.wordpress.com/2022/07/workflows_tips30_shipengine_flow.png)
<figcaption>Generate shipping labels flow</figcaption>

🔁 A sample [workflow](https://katzmax.files.wordpress.com/2022/07/updateusersgmailsignatureline.flow_-1.zip) automating and **keeping Gmail signature lines up-to-date with Okta user profile changes**. _After you download the file, unzip it and import the .flow file to Workflows_.

And and, one more as a bonus ⤵️

🎁 [Join](https://www.macadmins.org) the helpful and happy Workflows Slack community on [MacAdmins](https://www.macadmins.org) workspace (join the #okta-workflows channel).

* * *

Two resources to help you learn more: 

🎥 Short how-to [Workflows videos](https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG) to help you become a better automation builder.

✏️ Read our [Workflows How-To Guides](https://maxkatz.net/okta-workflows-how-to-guides/) based on community member questions.
18 Performance Optimization Techniques For Angular Applications (Podcast With Michael Hladky)
Tags: angular, performance, rxangular
Published: 2022-08-30 18:35:30

Performance is extremely important in front-end applications as they directly impact the application’s user experience. Poorly performing applications can be frustrating for the end-users. For example, an e-commerce site that is slow and unresponsive might deter users which could have a direct impact on the business. 

Although there is a growing number of tools to help optimize your application’s performance, working with performance remains one of the more challenging aspects of development for many developers.

Performance isn’t always continuously measured as part of the development cycle, causing performance problems to be caught at later stages of development. It doesn’t help that performance bottlenecks don’t usually display symptoms in the early stages of development. It often starts to reveal itself as the app grows in size and complexity. At this point, it is most likely too big and difficult to refactor.

Drawing from their years of experience in the industry, Christian and Michael discuss 18 techniques to optimize your Angular application’s performance.

You can read the 18 techniques [here](https://christianlydemann.com/18-performance-optimization-techniques-for-angular-applications-podcast-with-michael-hladky/) and watch the podcast episode.
Cloud Function GitHub Update
Tags: podcast, webdev, javascript, beginners
Published: 2022-08-30 18:09:05


## Authentication using Nodegit

[nodegit](https://github.com/nodegit/nodegit)
 Authentication has become the biggest prolem with this entire process! I have added a comment to [Issue 1035](https://github.com/nodegit/nodegit/issues/1035) but I don't know if it will get much traction as it seems there have been several issues out there already.

### Failed Attempts

All of these attempts of course work for cloning, because I do not think it really checks

- **sshKeyNew**

```javascript
return NodeGit.Cred.sshKeyNew( "username", publicKeyContents, privateKeyContents, "").then(function(cred) { assert.ok(cred instanceof NodeGit.Cred); });

```

- **userpassPlaintextNew** `sh` return NodeGit.Cred.userpassPlaintextNew(GITHUB_TOKEN, "x-oauth-basic");

```javascript
### Successful Attempt - **sshKeyFromAgent** ```sh return nodegit.Cred.sshKeyFromAgent(userName);

```

## Cloud Funcitons

So the above sshKeyFromAgent works great while I am on my local Dev box (MacOS 10.14) after running the command `ssh-add`. I am currently running Node v10.14.1.I thought that it would be easy enough to do the same on a cloud function, but this took some digging. I then found out that Node 6 [base image](https://cloud.google.com/functions/docs/concepts/nodejs-6-runtime#base_image) is on Debian, I thought it was Alpine.Interestingly they changed this in Node 8 [base image](https://cloud.google.com/functions/docs/concepts/nodejs-8-runtime#base_image) to running Ubuntu 18.04, so I will have to keep an eye on this if Upgrading.

As many great things in life, sometimes you dribble down a lane that is direct into a double team...so you must pivot to score. (Wow it must be late, basketball analogies are showing up!)

## simple-git aka git-js

I ended up switching to [simple-git](https://github.com/steveukx/git-js) as nodegit ssh issues had me 2 days behind on trying to get out lesson 8. It provides a very simple interface to effectively accomplish everything I needed. It also allows me to use a personal token to do Git updates to GitHub which I liked a lot better.
Slack Workspace Theme Customization
Tags: podcast, webdev, javascript, beginners
Published: 2022-08-30 18:13:53


## How to customize your slack theme

## SlackThemes.net

> 

	AJonP is not sponsored by [Slack](https://slack.com/) , neither is slackthemes.net at time of this posting. But we both think it is a great tool!

![](https://media.codingcat.dev/image/upload/v1657636760/main-codingcatdev-photo/baa64921-e144-4469-98a9-deae017121af.png)

### Fork SlackThemes Repo

If you make a cool theme add it to [paracycle/slackthemes](https://github.com/paracycle/slackthemes) GitHub repository. It is as simple as making a pull request.[Fork a repo - GitHub Help](https://help.github.com/en/articles/fork-a-repo)
VSCode Extension Peacock
Tags: podcast, webdev, javascript, beginners
Published: 2022-08-30 18:10:30


> Please note the video was from version 2.

![](https://media.codingcat.dev/image/upload/v1657636760/main-codingcatdev-photo/135eb6b8-46d6-49ec-9b6d-09f35973bbee.png)

Subtly change the color of your Visual Studio Code workspace. Ideal when you have multiple VS Code instances, use VS Live Share, or use VS Code's Remote features, and you want to quickly identify your editor.
Let's make a trivia game! devlog #1
Tags: react, node, opensource, gamedev
Published: 2022-08-30 18:02:10

It all started when I had some friends around, we fancied a game of Knowledge is Power. Do you know the one on PS4 that came free with Playstation Plus? Well, I haven't had a Playstation for years now or at least booted one up.

We were all gutted, it's such a good party game for anyone to enjoy, it then got me thinking about what could I do if I made my own trivia game.. 🍺 drinking games, 🎉 party games, 🌍 virtual quizzes, 📚 academic purposes.

There are services such as Kahoot out there but they aren't really what I am after, I wanted to make my version of Kahoot mixed with Knowledge is Power, mixed with Trivial Pursuit and this blog post is exactly how I'm going to do it. I'm going to document my journey here, mainly for my sanity as I think it's good to see how far projects have come before burning out!

The technologies I have opted for:
- Vue 3 (Potentially Nuxt 3 rc)
- Node.js (Typescript, Fastify, Prisma, Postgres)
- Socket.io for immediate interaction between the devices.

**So what's the plan?**
The plan is there's a single device which is the presenter, this would usually be a laptop device or an iPad (something that everyone can see). This device would be the master of the game and control the flow, and display to the user the correct/incorrect answers.

The plan is to create an MVP product which can be used by the public and then implement more features, it's a personal project and will be open source. A comment will be added when the GitHub Repository is created for users to contribute to!
If there are any questions, please go ahead and ask!
The FARR Stack Manifesto.
Tags: javascript, python, react, redis
Published: 2022-08-30 17:50:37

If you've been following the tech world at all, you know that there's a new hotness every few years. The latest is the so-called [FARM stack](https://www.mongodb.com/developer/languages/python/farm-stack-fastapi-react-mongodb/) - a combination of FastAPI, React, and MongoDB. On that basis, i would like to announce the FARR stack, It is something way too FARRR, a new software stack for developing web applications. The FARR stack is based on three main components:

- The Frontend: ReactJS.
- The Backend:  FastAPI.
- The Database: Redis.

Why the FARR stack? Well, each of these technologies has something to offer. ReactJS provides a great way to structure your code and build reusable components. Redis is a super fast and scalable NoSQL database which is great way to manage your data. And lastly, as the name suggest, FastAPI is blazingly fast. It is built on top of Starlette and Pydantic, and it integrates seamlessly with databases.

So what does this all mean for you? Well, if you're looking to build a modern web application, the FARR stack is a great option. It's blazingly fast, and it's got all the features you need to build a great app.

### Note

This is just a relatively short statement to introduce this tech stack. Subsequent articles will be published to explain and give examples on how to integrate this stack to fit your needs.
Day-5 of Machine Learning
Tags: machinelearning, python, beginners
Published: 2022-08-30 17:15:42

Day-5 of Machine Learning:

- Created **Univarriate linear regression model** to predict house prices using **Cost Function**. Automated the process of optimising parameters **w** and **b** using **gradient descent**. 

Also
- completed 3 problems set of [Unit test] (https://cs50.harvard.edu/python/2022/weeks/5/)
, CS50-python
I Went Way Too FAR By Building a Real Time Chat App Using The FARR (Fastapi, React, Redis) Stack.
Tags: redishackathon, showdev, javascript, python
Published: 2022-08-30 17:14:15

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/764zpy06z6t77gzh3how.png
---

### Overview of My Submission

Hello there! In the past couple of weeks, I was building a real-time full stack chat app using the FARR stack ( FastAPI, React, Redis). The inspiration behind the idea was to provide a simple, yet effective way for people to communicate with each other in real-time. The app is easy to use and offers a variety of features, including the ability to create private chat rooms, add contacts, and more. The app is constantly being updated and improved, and I would love to hear any feedback or suggestions you may have. You can find the code for the project on my GitHub repository (link below). Thank you for taking the time to check out my project!

### Submission Category: 

MEAN/MERN Mavericks.

### [Demo](https://chat-frontend.pages.dev/signup).

### [Official Docs](https://chat-docs.wiseai.dev/).

### [Usage](https://chat-docs.wiseai.dev/demo).

### Language Used

- Python
- Javascript

### Link to Code

{% github https://github.com/wiseaidev/chat %}

### Additional Resources / Info

- [Official Docs](https://chat-docs.wiseai.dev/)

### Collaborators

Me, myself, and I.

Submissions are due on August 29th, 2022 @ 11:59 PM UTC. Oh! wait a sec... Did i miss the deadline? Proceed to publish it anyway!

- - - 

[Note]: # (Please ensure  that the footer content below is part of your post when publishing. Please delete this note in parentheses but do not delete the content below.)


* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
New Challenge???
Tags: webdev, programming, discuss, career
Published: 2022-08-30 17:02:34


After working on a project through my full stack development experience [link for the article] I am constantly thinking about Next.js and if it is the best choice I also wanted a new and harder challenge for me I have nothing to lose so I am starting to go down the iceberg, so I listed all the stuff that I might learn and those were the available choices:
## 1. Rust
The new “Chad” of programming language although I said in [which programming language to learn first] that it’s not a good choice for beginners but I am not one anymore, I threw this one out of the window because it needs around 5GB of download and in Syria, this will take 8 hours and the internet will plummet in speed so Rust OUT!
## 2. TypeScript
TypeScript is the new JavaScript (I don't agree in the slightest) it’s statically typed and bla bla blah. The reason for my hate is OOP (object-oriented programming) Yes, I might be completely biased, but... It makes absolutely no sense to me, so TypeScript is OUT!
## 3. C++
This is a superset of C it has some syntactic sugar like OOP my enemy and a bunch of other stuff, I scraped it because it does nothing for my use better than C, so again C++ is OUT!

I had many other options but those are the main stuff I considered

Now for the survivors 
## 1. GO (Golang)
It is the C for the 21st Century it is statically typed and has fast performance types due to its compiled nature.
## 2. C 
The OG of programming and the former “Chad”. It is simple in syntax but has a ton of logic and I think by learning C I will become a better problem solver and a more well-rounded developer.

Now let’s enter the category of stuff that is considered may learn
## 1. Haskell
This is a purely functional programming language, and I have never used one so might be interesting
## 2. V
Similar to C but has some interesting ways of managing memory that you can implement such as opting in and out of the garbage collector. It was my option instead of C but I found no learning material.

So, if you have any thoughts about my decisions don’t keep them to yourself and write a comment with your advice, also these are my thoughts and not something to blindly follow, just for consideration.
GraphQL Security Lessons From the Trenches | The GraphQL Hangout (EMEA) #48
Tags: graphql, meetups
Published: 2022-08-30 16:53:38

---
title: GraphQL Security Lessons From the Trenches | The GraphQL Hangout (EMEA) #48 
published: true
description: Join us in this online meetup where our experts will be sharing some of the worst GraphQL endpoint vulnerabilities they've seen, to up your threat protection game.
tags: graphql, meetups
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xnfkosau9lbth2odjehz.png
---
Hey API developers!

Join us in this online meetup on the **7th of September, 12:00 BST / 13:00 CEST** where our experts will be sharing some of the worst GraphQL endpoint vulnerabilities they've seen, to up your threat protection game. Tyk's very own Budha and Richard will be joined by Tristan Kalos, co-founder and CEO at Escape - GraphQL Security.

All attendees also have the chance to ask questions, share their stories, and exchange best practices.

2 Goals:

-Learn more about GraphQL Security
-Have fun

1 Rule:

-No sales or self promotion

➡️ [Register here to join](https://us02web.zoom.us/webinar/register/3916618705140/WN_o-8DmhRAScahwCrAzHtn7Q)

### About the guest speaker: ﻿

Tristan is co-founder and CEO at Escape - GraphQL Security. He has spent the last two years exploring the security implications of GraphQL and released GraphQL.Security, the first online and free security checker for GraphQL.
Working with HTTPie and GraphQL
Tags: graphql, httpie, webdev
Published: 2022-08-30 16:27:05

HTTPie just announced [support for GraphQL](https://httpie.io/blog/changelog-0018)! This is huge.

I've been using HTTPie via the Terminal for years, but the latest support for GraphQL inside their [Web & Desktop client](https://httpie.io/app) is a great addition.

You'll want to first enter the URL for your GraphQL API (in this case I'm using `https://api.cartql.com`, and then select from the list `GraphQL` in the bottom left:

![HTTPie GraphQ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hv33t5oclklq9323tf2o.png)

Right now there's no support for fetching the schema. This means when you're writing queries, or mutations you'll not get too much help on the available fields (or variables):

![GraphQL query](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j8peg4hcv89ca5pt94dy.png)

Once you're ready to go you can click **Send**! The response, as well as the response headers, status code, and timings will be shown:

![GraphQL response](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q2tmqw87s98q3kc99vto.png)

HTTPie also makes it really easy to add your GraphQL requests to collections, and save for later!

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

Once the schema support lands this could be my new favourite for working with GraphQL.
Javascript: Different ways to convert numbers into alphabets
Tags: javascript, typescript, webdev, programming
Published: 2022-08-30 16:25:57

Expectation: 1 -> a, 2 -> b, 3 -> c etc.

```javascript
(5 + 9).toString(36); -> e
```

```javascript
String.fromCharCode(5 + 'A'.charCodeAt()); -> e
```

In both, replace 5 with other number from 1 - 25. You will get corresponding alphabet. 

Always, welcome any new approaches.

You can follow me here: https://twitter.com/urstrulyvishwak

Thanks.
A Compiler optimization area
Tags: llvm, compilers, swift
Published: 2022-08-30 16:17:35

While applying for a role in Compilers, the interviewer asked me about my LICM (Loop Invariant Code Motion) optimization pass. This is where variables inside the loop which compute the same value, can be moved outside of the loop, reducing the number of instructions for a loop to compute.

I answered them, the LICM pass would move invariant instructions (with no side effects, i.e. loads, stores, calls, volatile, etc) which had invariant operands. Instructions which always compute the same thing would be moved out. Also, they need to be part of the dominator tree. e.g. Guards (if - checks) 

They asked me, what about mutable Global Variable. Short answer: No, can't be optimized.

Complex answer: Might be able to.

1. A global variable mutated a couple of times (on any threads), stabilizes in value, then goes through the loop. In this situation, it can be utilized as a constant

2. In context of GPUs, Global Variable are utilized a lot for multiply and add instructions. These require simultaneous concurrent multiple Read Write requests to the global variable. Here, this variable would not be touched by the LICM pass.

I believe optimizing this mutable global variable can be done better at the Intermediate pass before generating LLVM or using MLIR a pass.

Is it worth it? I think the complexity is far too much on detecting these global variables if they are mutated. The time can be better spent on working on other areas of the compiler.

The optimization problem can be solved by the software developer in a rather easier way:

PreOptimization:
``` c++
  int x = 5; // Defined Global scope across multiple threads
  x++;
  thread1 {
    x++;
  }
  waitForThread1ToComplete();
  while (true) {
    print(x*x); // x is global mutable, and is mutated, can't LICM
// is mutated: meaning if not mutated, can show error to dev

```

Developer written suggestions: Use an intermediate constant variable and assign the global variable to it
``` c++
  waitForThread1ToComplete();
  const int copyX = x;
  while (true) {
    print(copyX*copyX); // copyX is constant, LICM can optimize this
```
Create your react app fast!
Tags: react
Published: 2022-08-30 16:14:00

I am glad to introduce my react boilerplate which will start your react app faster than create-react-app.
This will automatically install and run your react app and you can start your coding right away.

try copy and paste this command in your terminal and hit the enter :smile:

**Run this command in your terminal!**
```
git clone https://github.com/NEARworld/near-react-boilerplate.git && cd ./near-react-boilerplate && git remote remove origin && npm i && npm run build && npm start
```

If You liked it please star the repo thanks :smile:
https://github.com/NEARworld/near-react-boilerplate


Also You can check Typescript version in the `README.md` !