teleren/devto huggingface dataset:
AMA with Clément Salaün, Founder of Formance
Tags: database, ledger, fintech, ycombinator
Published: 2022-09-11 08:17:08

**Integrating payments has become an integral part of product building for projects and companies. Although there’re payments processors and different methods to do it, an integration that’s easy to use and customize has become a much needed use case recently.
**
Aviyel is organising an AMA with one of the best open-source ledger integration projects Formance. We will be joined by their Founder, Clément Salaün as we talk about their journey on building the open source modular foundation for unique payment flows.

## What’s Formance ?

Formance Ledger lets you model and record complex money movements, helping you accelerate your business operations. Build financial dashboards, deliver payments to your marketplace partners, and accurately track revenue across your entire operation.

## About the Speaker

Clément Salaün is a passionate developer involved in the fintech space with a high paced career in a relatively short period of time and is now the Founder of Formance, a Y-Combinator backed ledger tech startup.

Join us on September 14th, as we talk about The Open Source Modular Payments Flow startup.

Block your seats here:

https://aviyel.com/events/441

Wouldn’t be able to make it? Feel free to drop the questions you have in the discussion thread below!
Today's Daily Dose of Programming Humor
Tags: jokes, dailydeveloperjokes
Published: 2022-09-11 08:00:12

---
title: "Today's Daily Dose of Programming Humor"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes
---

Hi there! Here's today's Daily Developer Joke. We hope you enjoy it; it's a good one.

![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e1258922d1b9.png)

---

For more jokes, and to submit your own joke to get featured, check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/). We're also open sourced, so feel free to view [our GitHub Profile](https://github.com/dailydeveloperjokes).

### Leave this post a ❤️ if you liked today's joke, and stay tuned for tomorrow's joke too!

_This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit._

<!--
Joke text:
I’ve been hearing news about this big boolean.

Huge if true.
 -->
Basic Commands #Node.js Quick Notes.
Tags: node, javascript, beginners
Published: 2022-09-11 07:10:23

1. `npm install` //Global Node module installation.
2. `npm install <package-name>` //Install specific package and adds it to package.json file which holds file dependencies.
3. `npm update` //Update all packages for newer version.
4. `npm update <package-name>` //Specific package updation.
5. `npm install <package-name>@<version>` //Specific package updation with specific version.
6. `npm run <task-name>` //To run a task like `npm run (watch/dev/rod)`.
7. `npm install -g` //Tell global installation folder.
8. `node_modules/.bin/` //Executable dependencies require to be in this folder.
9. `npm list` //To list all installed packages with versions in hierarchical order.
10. `npm view cowsay versions` //To check out versions available of a package.
11. `npm install cowsay@1.2.0` //To instll older version or newer version of a package.
12. Check out https://nodejs.dev/en/learn/update-all-the-nodejs-dependencies-to-their-latest-version/, for more version update in node.
13. `npm uninstall <package-name>` //To uninstall a package.
Don’t give up on the first complex problem
Tags: podcast, advice
Published: 2022-09-22 06:56:18

---
title: Don’t give up on the first complex problem
published: true
date: 2022-09-11 06:42:32 UTC
tags: podcast, advice
canonical_url: https://peterwitham.com/podcasts/dont-give-up-on-the-first-complex-problem/?utm_source=rss&utm_medium=rss&utm_campaign=dont-give-up-on-the-first-complex-problem
---

Giving up when hitting the first complex problem is a sign you will probably not make it as a software developer. Tough love and a solution inside.

{% spotify spotify:episode:6UQPAjSbH66YgVMe7iY5vJ %}

Yes I know that is harsh, but I think it's only right to at least start a conversation about this topic. I have seen many promising developers drop out because they did not find a way to reframe a problem into a positive 'time to learn and advance' sign post.

The post [Don’t give up on the first complex problem](https://peterwitham.com/podcasts/dont-give-up-on-the-first-complex-problem/) appeared first on [Peter Witham](https://peterwitham.com).
Google actions via cloud function
Tags: googlecloud, beginners
Published: 2022-09-11 06:41:41

Yesterday we created our [very first Google action](https://daily-dev-tips.com/posts/a-wild-idea-appeared/) by using the visual builder.

Today we'll recreate the same thing but use the cloud function variant.
This way, we are ready to build our kind of manipulations and data fetching later.

Alright, let's get started.

## Google action via cloud functions

We'll first want to add a webhook, click on the webhook item in the sidebar, and pick "inline cloud functions" from the option.

![Inline cloud action](https://cdn.hashnode.com/res/hashnode/image/upload/v1662012029304/r9MEcYbnd.png)

Once it's spooled up, you will technically have a Firebase cloud function but managed within the Google actions console.
This makes it easier to link everything together.

Let's set up the main wireframe for the index file.

```js
const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');

const app = conversation({ debug: true });

app.handle('greeting', (conv) => {
  conv.add('Here is the latest daily dev tip.');
});

exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
```

This will create a new conversation app and add a greeting function.
This greeting function will add a simple text to the conversation.

You can save the fulfillment and deploy it.

> Note: The deployments can take some time, so don't try and test it directly (give it a minute or so)

To use this, we have to go back to our central invocation.
First, remove the "Send prompts" content and uncheck this checkbox.

Then in the line above, check "Call your webhook" and put "greeting" inside the textbox. (Since greeting is the name of our event handler)

Now you can go ahead and test your action.
In my case, I went back to the webhook and also added a Card like this.

```js
const {
  conversation,
  Simple,
  Card,
  Image,
} = require('@assistant/conversation');
const functions = require('firebase-functions');

const app = conversation({ debug: true });

app.handle('greeting', (conv) => {
  conv.add('Here is the latest daily dev tip.');
  conv.add(
    new Card({
      title: 'My article',
      text: 'Short description of the article',
      image: new Image({
        url: 'https://developers.google.com/assistant/assistant_96.png',
        alt: 'Daily Dev Tips header',
      }),
    })
  );
});

exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
```

When I run my action, it will prompt like this:

![Google action via cloud function](https://cdn.hashnode.com/res/hashnode/image/upload/v1662012345743/8VZWbRqFM.png)

Pretty cool!

In the following article, we'll try and fetch data from an external source so we can make it a bit more dynamic.

### Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on [Facebook](https://www.facebook.com/DailyDevTipsBlog) or [Twitter](https://twitter.com/DailyDevTips1)
Why not use custom nginx pod rather than using Ingress nginx on Kubernetes?
Tags: kubernetes, nginx, ingress, docker
Published: 2022-09-11 06:40:09

### Old school nginx
The past approach of the writing custom config of ngnix which basically points to the cluster-ip service of the different deployment has many limitation, one of the reason it doesn’t support sticky session and have control overs the pods as the service is attached to cluster-ip service rather the one on one pods.
### Comes the hero; Ingress Nginx
`ingress-nginx` is a wrapper over nginx created by Kubernetes team. It directly routes the request to the POD IP:PORT rather than making the connection with Service Object.
As this comes with advantage like sticky session, controlling the routes on pods level and having broader control over the request and response modal.
Object logging in Console #Node Quick Notes.
Tags: node, javascript, beginners
Published: 2022-09-11 06:13:44

Remember we require console to debug javascript so below will be usefull.

1. Node do not logs objects as javasript does after certain level, to do so use `console.log(JSON.stringify(obj, null, 2));` or set `require('util').inspect.defaultOptions.depth = null;
`.

2. if above is hard then just use string format and do below.

```javascript
// %o tells console.log() to string-format and log obj in its place
console.log('%o', obj);
```
Video Background HTML CSS
Tags: css, webdev, html, codenewbie
Published: 2022-09-11 06:13:42

There is a recent trend in website design that shows fullscreen videos. Nowadays, a lot of websites are made using this trend. There is a good reason why it is used by website designers. A background video is a great way to amplify your brand’s message, add a dynamic look to it, and help the website look astounding. Full-screen video backgrounds can be a good resource if you want to encourage new visitors to stay longer on your website. Of course, it is also true that content is king and there can be no substitute for it. However, if the content representation is modern and aesthetic then your website visitors will get attracted to it and your business leads and ranking will increase. [GET CODE](https://www.divinectorweb.com/2022/09/full-screen-video-background-html-css.html)
c++ da Cout buyrug'ini amalga oshirish jarayoni!
Tags: beginners, programming, tutorial, cpp
Published: 2022-09-11 05:59:30

Avvalambor kodlar yaratishdan oldin **replit.com** saytida to'liq ro'yhatdan o'tgan bo'lishingiz kerak,o'tib bo'lganmisiz? unda boshladik...
Birinchi navbatda Homepage dan _+create _ yokida oddiy + (plyus) tanlanadi va shunda sizning ekraningizda qaysi usullar orqali yaratmoqchi ekanligingizni (chap tomonda) va loyihangizni nomlanishini (o'ng tomonda) > Title qismiga yozasiz, masalan:
> Template : C++
> Title : Kodlar yaratish jarayoni
> + Create 
ketma-ketligi tanlangandan so'ng, ekraningizda 3 ga bo'lingan qismlar paydo bo'ladi:
- chap tomondagi: yaratayotgan dasturimizning faylllari joylashtiriladi 
- Replni o'rta qismida esa kodlar yaratilib yoziladi
- **Console** da (o'ng tomonda) yozgan kodlarning natijasi ko'rinadi va bu buyrug'ni amalga oshirishdan oldin to'g'ri yozdingizmi yokida xato bo'ldimi buni ham tekshirish imkoniyati bor va bu aynan _CONSOLE_ tepasida joylashgan **RUN** buyru'gi orqali amalga oshira olasz

Har doim kodlar yozish jarayonida sistema sizni kodlaringizni tushunishi va siz hohlagan natijani berishi uchun albatta `Library` ya'ni kutubxonadan albatta foydalanishingiz juda muhim, sababi aynan kutubxolar  kerakli ma'lumot yoki amallarni qayta-qayta yozib uni saqlab yurmasligingiz uchun,undagi tayyor ma'lumotni sizga chiqarib beradi foydalanishingiz uchun.Bu to'plamda tayyor yozib qo'yilgan maxsus buyruqlar bo'ladi va shuni chaqirib foydalanish uchun kerak bo'ladi.
Yuqoridagilardan foydalangan holatda **#include** so'zi va buyrug'i orqali amalga oshirilib, **_< >_** belgisi ichida yoziladi, masalan: 

```
#include <iostream>
```
 Agar kutubxona nomini kiritmasdan yozilsa, `console` da buyruq noaniq bo'ladi va bu buyruq qayerdan olinganini so'raydi, masalan:

```
cout << "Hello World\n " ;
```
deb kiritilsa
**use of undeclared identifier 'cout'; did you mean 'std::cout'?**


degan javob chiqadi sistemadan.Chunki 

```
std::cout  << "Hello world!\n" ;
```
shu ko'rinishida yozilishi kerak bo'ladi.
**Console** da barchasi to'g'ri ya'ni 

```
"Hello world!" ;
```
chiqsa unda sizni tabriklayman sababi buni to'g'ri amalga oshira oldingiz!!!

Bundan so'ng `#int main() {` yozilgandan so'ng kodlar yozish jarayoni boshlanadi.
`std::cout << "Hello World!\n" ;`

Har bir qatorga yozilgan buyruqdan so'ng albatta `; ` belgisi esingizdan chiqmasin sababi buni sistema keyingi qatorga o'tish burug'i deb qabul qiladi.

Agar siz uchun kerakli va muhimi savolingizga javob olishingizga bu Post sabab bo'la olgan bo'lsa unda missiyani bajardim hisoblayman! 
**Kuzatishda davom eting, eng qiziq Postlar hali oldinda!!!! **
Error #Node Quick Notes.
Tags: javascript, node, beginners
Published: 2022-09-11 05:59:28

1. Errors are handled with **exceptions**.
2. **throw** keyword to break normal exectuion of javascript.
3. Node.js has **Error** class from Error core module.
4. Do, `throw Error("My new error message.");` or extend class and throw like `Class MyCustomError extends Error(){}; throw new MyCustomError();`
5. **uncaughtException** there is predefined code block on https://nodejs.dev/en/learn/error-handling-in-nodejs/, implement it to avoid this error.
6. Error handling with **Promises**.
7. Error handling with **Async/Wait**.
Bash Alias and Functions
Tags: bash, webdev, programming
Published: 2022-09-11 05:51:53

Hello dev people.

When I started working in a Web Dev industry one of the first thing to learn was to setup shortcuts/alias and automate tasks.

Nobody wants to type repetitive tasks and build full starter packages every time the project starts.

This is where working with terminal commands and using functions and alias is beneficial, speeds up the work process and avoids repetitive typing.

I will be editing this post from time to time whenever I have something worth sharing.

***Setup your first bash alias commands***
- win users install [git bash](https://git-scm.com/downloads), supports mac, but mac users have terminal which works just fine
- open up ~/.bash_profile with your code editor or with nano,vim etc.
- see examples for the alias command below
- once you have finished with the ~/.bash_profile make sure to run the source ~/.bash_profile . Syntax errors should show up here if any



```sh

## Git commands

alias gs='git status'
alias gb='git branch'
alias commit='git commit -m "simple update"'
alias gpush='git push origin master'
# Copy SSH public key
alias sshcopy='clip < ~/.ssh/id_rsa.pub && echo "~/.ssh/id_rsa.pub Copied to clipboard"'
alias sshkey="cat ~/.ssh/id_rsa.pub | pbcopy && echo 'Copied to Clipboard.'"

## Tasks

alias cd..='cd ../'
alias cd2='cd ../../'
alias ll='ls -lha'
alias cls='clear'
alias eval='eval $\(ssh-agent -s\)'

# Start the Wamp Manager
alias wamp='start /f/wamp64/wampmanager.exe'

# MySQL Import/Export
alias slqdump='mysqldump -uroot -p mydatabasename'
alias slqimport='mysql -uroot -p mydatabasename < db/import.sql'


## Tar export with gz command for import/export

### make dir and then export tar into that
alias tarexport='echo provide 2 params, 1 is the tar file and 2 is the dir where tar will be exported'
function tarexport() { mkdir "$2" && tar -xvf "$1" -C "$2"; }

## TAR compress

alias tarmake='echo provide 2 params, 1 is the tar filename \(with gz\) and 2 param is what will be compressed into tar.gz'
function tarmake() { tar -czvf "$1" "$2"; }

```
The Metaverse is not a game.
Published: 2022-09-11 05:35:31

Metaverse technology is the foundation on which the foundation of the Metaverse will lay. With so much to offer, the future of the Metaverse looks technologically advanced and much more enjoyable. Metaverse technology allow users to do the following:

Create Decentralised assets
Have ownership of Decentralised Digital Assets
Trade Decentralised Digital Assets
Own Non-Fungible Tokens

I think that Metaverse is not a game or other something, the most key is it can enhance real life.
Destructuring #React Quick Notes.
Tags: react, node, beginners, javascript
Published: 2022-09-11 05:22:40

Remember basic meaning.

**It means choosing only desire sweets from a cakeshop.**

Here is an example to remember it.

```javascript
const cakeVarieties = ['Chocolate','KitKat','Mango', 'Brownie'];

const [myChoise1, myChoise2, ...rest] = cakeVarieties;

console.log(myChoise1); //Chocolate
console.log(myChoise2); //KitKat
console.log(rest); //['Mango','Brownie'] --Remember rest means other things left and which is only be declared at last position.

//Below is for #React.js

const premiumCakeVarieties = {sameNameHere1: 'Chocolate', sameNameHere2:'KitKat', sameNameHere3:{fruitCakes :['Mango','Pineaple']}, 
 sameNameHere4:'Brownie'};

const {sameNameHere1, sameNameHere2, sameNameHere4, sameNameHere3 : {fruitCakes:[cake1, cake2]}} = premiumCakeVarieties; //Notice: We have same variable name no matter in which order they are they will access array property where matching name of itself.

console.log(sameNameHere1); //Chocolate
console.log(sameNameHere2); //KitKat
console.log(sameNameHere4); //Brownie
console.log(sameNameHere3); //['Mango','Pineaple']
console.log(cake1); //Mango //this follows order here as we did not have key for it
console.log(cake2); //Pineaple //this follows order here as we did not have key for it
```

**Notes**

1. While working with an Array we can destruct with defining array left side.

```javascript
const [a, b, ...rest] = [1,2,3,4]; //here an array both sides.
```

2. While working with object we need brackets i.e. {}

```javascript
const {a, b, ...rest} = obj; //here {} left side.
```

**We only require this basics to work around**, although we can check over https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment, which has best detail explanation and can be used when we destruct more complex object. But make all object simpler as possible.
Day 154: 3 days missed
Published: 2022-09-11 05:17:50

Hi!
it's been a while I didn't update the journal for the past three days which is like the first time I missed a day so here is the thing. I radically changed so I couldn't make time on the usual time so I will have to change and pick another time which may be late late in the night or the morning either way I will try to make time for the blog

for the past 3 days I have been heavily working on the frontend cloning websites and implementing designs using plain html and CSS and also Tailwind CSS I have projects to work on which will be the focus for today also 

Signing off...
1383. Leetcode Solution in CPP
Tags: leetcode, cpp, challenge
Published: 2022-09-11 05:05:39

```
class Solution {
public:
    int maxPerformance(int N, vector<int>& S, vector<int>& E, int K) {
        vector<pair<int, int>> ps(N);
        for (int i = 0; i < N; ++i) ps[i] = {E[i], S[i]};
        sort(ps.begin(), ps.end());
        long sum = 0, ans = 0;
        priority_queue<int, vector<int>, greater<int>> pq;
        for (int i = N - 1; i >= 0; --i) {
            pq.push(ps[i].second);
            sum += ps[i].second;
            if (pq.size() > K) {
                sum -= pq.top();
                pq.pop();
            }
            ans = max(ans, sum * ps[i].first);
        }
        return ans % (int)(1e9+7);
    }
};
```
#leetcode
#challenge
Here is the link for the problem:
https://leetcode.com/problems/maximum-performance-of-a-team/
Bắt đầu viết blog bằng tiếng Việt trên Dev.to
Tags: vietnamese
Published: 2022-09-11 04:44:02

Lý do mình bắt đầu viết không chỉ vì muốn chia sẽ kiến thức, mà còn vì mình muốn xây dựng sự nghiệp của bản thân thêm nhanh chóng.

Mình sẽ kể về trải nghiệm của mình qua các framework, library,.. blah blah
Dynamically Update Divs on Webpage (flask)
Tags: javascript, programming, python, html
Published: 2022-09-11 04:06:47

{% stackoverflow 69721638 %}

I was following this [Repository](https://github.com/pratik55/Python-Flask-dynamic-update-) but in my case its not working.

I am also facing a similar kind of issue please help me out as well as it will be helpful for other Developers too.

this is my code : [GitHub](https://github.com/Sukarnascience/TableTop-Robot/tree/main/Web_page)
Journey of Upstack Studio To Become The Top Web and Mobile App Developer in Malaysia
Tags: motivation, community
Published: 2022-09-11 04:00:45

I founded [Upstack Studio](https://usptackstudio.com/about) in 2017. 

We didn't start off with any sort of noble purpose. 

Me and my ex-partners started Upstack Studio as a means for us to make money.

But things changed as we progressed, as my co-founders left the team and as shit hits the fan (all the time).

I grew as an entrepreneur.

I found meaning in the work we're doing.

I realise how much of an impact we're creating.

I found our purpose.

```
To help non-technical entrepreneurs build and execute their $M tech idea
```

Why non-technical entrepreneurs?

Because this is the group that is always prone to the horror of app development projects. 

1. They have no idea what to look out for when outsourcing app development.
2. They have no idea how developers price app development projects.
3. They have no clue how to manage software projects

Because they are non-technical, doesn't mean they cannot build great products. 

This is the reason why me and my team are now committed to growing Upstack Studio into the [Best Mobile App Developer in  Malaysia](https://upstackstudio.com).

So that we can help more non-technical entrepreneurs.

So that we can help improve lives through impactful products.
More engagement through series on dev.to
Tags: meta, writing
Published: 2022-09-11 03:41:38

I’ve tweeted about this before, but one way I’ve been able to get engagement on old posts is to leverage dev.to’s series feature.

{% embed https://twitter.com/nickytonline/status/1500318964689391618 %}

A perfect example of this is my [VS Code Tips](https://dev.to/nickytonline/series/17419) series.

This week’s post came out

{% embed https://dev.to/vscodetips/vs-code-tip-of-the-week-vscodedev-2gcc %}

and as expected, folks were liking previous posts from the series.

![My dev.to notifications where people are bookmarking and liking previous posts from series of mine](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n97rfjp41oejm2cimabg.png)

If you haven’t already, try out the series feature!

{% embed https://dev.to/ben/changelog-create-series-of-posts-4o63 %}

Happy writing peeps!
The Most Important Leetcode Patterns
Tags: leetcode, datastructures, algorithms, faang
Published: 2022-09-11 03:39:10

If you have been looking for a job in tech, I am pretty sure you have heard of [Leetcode](https://leetcode.com/), it's a website that helps you learn and practice Data Structures and Algorithms to pass the coding interview. so without farther due let's talk about the most important patterns to solve any Leetcode style questions. 

1. Sliding Window 
2. Two Pointers
3. Fast & Slow pointers (LinkedList)
4. Tree Breadth First Search aka BFS
5. Tree Depth First Search aka DFS 
6. Hashing (using HashTable or Map) 
7. Dynamic Programming 



Please consider following me on [Twitter](https://twitter.com/Gilfoyleoffical) for more content like this.