teleren/devto huggingface dataset:
How do you Invoice your clients?
Tags: watercooler, business, finance, invoicing
Published: 2021-09-09 07:42:26

---
title: How do you Invoice your clients?
published: true
description: 
tags: watercooler, business, finance, invoicing
cover_image: https://letterhub.com/wp-content/uploads/2018/04/whatisaninvoice.png
---
Professional looking, convenient and fastly delivered invoices can leave a great impression on your clients, that can strengthen your business relations for possible returning future deals.

When it comes to your side as a freelancer, you have to be in full control of organizing them and create a workflow that fits you.

Here are some of the ways on how you can handle this:

* Create a dedicated space in your PC or use a cloud solution like [Google Drive](https://www.google.com/drive/). This requires to do all the work (creating new templates, numbering and filling in the data) manually. Also keep in mind that you must track each and every invoice afterwards. This might still work if you send out very small amount of invoices (like 1-3 each month).

* Use built-in Invoicing solutions in Accounting software like ([FreshBooks](https://www.freshbooks.com/), [QuickBooks](https://quickbooks.intuit.com/global/), [Wave](https://www.waveapps.com/), [Xero](https://www.xero.com/), [Zoho Books](https://www.zoho.com/books/), [FreeAgent](https://www.freeagent.com/)). This solution creates templates and numbering automatically and lets you add the data easily with interactive forms. Also it is easy to track the status (sent, viewed, paid or overdue) of each invoice. Depending on the software you use, you might have to upgrade to paid plans to use the invoicing features.

* Many online payment solutions such as [PayPal](https://paypal.com) and [Stripe](https://stripe.com) also come with some built in Invoicing solutions. With these you often get the same Invoicing solutions as in the Accounting software, plus you have your direct finance flow and invoices all in one place. Again, most payment solutions might apply some extra charges for you to be able to use the Invoicing features.

How often do you send invoices and what solutions do you use?
Typescript Merging Namespaces
Tags: typescript, angular, node, nextjs
Published: 2021-09-09 06:59:49

Similarly to interfaces, namespaces of the same name will also merge their members. Since namespaces create both a namespace and a value, we need to understand how both merge.

To merge the namespaces, type definitions from exported interfaces declared in each namespace are themselves merged, forming a single namespace with merged interface definitions inside.

To merge the namespace value, at each declaration site, if a namespace already exists with the given name, it is further extended by taking the existing namespace and adding the exported members of the second namespace to the first.

The declaration merge of Animals in this example:


```
namespace Animals {
  export class Zebra {}
}
namespace Animals {
  export interface Legged {
    numberOfLegs: number;
  }
  export class Dog {}
}



```
the same as
```
namespace Animals {
  export interface Legged {
    numberOfLegs: number;
  }
  export class Zebra {}
  export class Dog {}
}

```
This model of namespace merging is a helpful starting place, but we also need to understand what happens with non-exported members. Non-exported members are only visible in the original (un-merged) namespace. This means that after merging, merged members that came from other declarations cannot see non-exported members.

We can see this more clearly in this example

```
namespace Animal {
  let haveMuscles = true;
  export function animalsHaveMuscles() {
    return haveMuscles;
  }
}
namespace Animal {
  export function doAnimalsHaveMuscles() {
    return haveMuscles; // Error, because haveMuscles is not accessible here
  }
}


```

reference: Official Typescript doc
Typescript ThisType Utility
Tags: typescript, angular, react, gatsby
Published: 2021-09-09 06:52:58

This utility does not return a transformed type. Instead, it serves as a marker for a contextual this type. Note that the --noImplicitThis flag must be enabled to use this utility.


```
type ObjectDescriptor<D, M> = {
  data?: D;
  methods?: M & ThisType<D & M>; // Type of 'this' in methods is D & M
};
 
function makeObject<D, M>(desc: ObjectDescriptor<D, M>): D & M {
  let data: object = desc.data || {};
  let methods: object = desc.methods || {};
  return { ...data, ...methods } as D & M;
}
 
let obj = makeObject({
  data: { x: 0, y: 0 },
  methods: {
    moveBy(dx: number, dy: number) {
      this.x += dx; // Strongly typed this
      this.y += dy; // Strongly typed this
    },
  },
});
 
obj.x = 10;
obj.y = 20;
obj.moveBy(5, 5);

``
reference: Official typescript doc.
How do you handle your Accounting?
Tags: watercooler, business, finance, accounting
Published: 2021-09-09 06:52:28

---
title: How do you handle your Accounting?
published: true
description: 
tags: watercooler, business, finance, accounting
cover_image: https://storage.googleapis.com/joblist-content/hero-images/Accounting.png
---
Freelance is not about just getting clients and delivering your services. Since you are the boss for yourself, you have to think about other things in parallel. One of them is being accountable for your finance flow.

When it comes to handling this, I've seen different approaches:

* Some use standard spreadsheets like Excel or similar solutions on cloud like [Google Sheets](https://www.google.com/sheets/about/). There are built-in templates for accounting.

* Others use Accounting software (usually paid for advanced features) like [FreshBooks](https://www.freshbooks.com/), [QuickBooks](https://quickbooks.intuit.com/global/), [Wave](https://www.waveapps.com/), [Xero](https://www.xero.com/), [Zoho Books](https://www.zoho.com/books/), [FreeAgent](https://www.freeagent.com/), etc.

* Or do you hire a professional to handle all of that, so you can fully concentrate with interactions with your clients and your business logic? 

What's your approach on handling your Accounting and how much do you spend on it monthly?
Set Nuget Proxy
Tags: nuget, dotnet
Published: 2021-09-09 06:48:13

When performing a `dotnet tool install` or similar command, you get an error like this one:

```
Unable to load the service index for source https://api.nuget.org/v3/index.json.
The SSL connection could not be established, see inner exception.
Received an unexpected EOF or 0 bytes from the transport stream.
```

You might then need to set proxy for Nuget.
Open `Nuget.config` in C:\users\YOUR_USER\AppData\Roaming\Nuget\Nuget.config

Add this `config` section to the `configuration` element:

```
<config>
  <add key="http_proxy" value="http://your-proxy-url:8080" />
  <add key="https_proxy" value="https://your-proxy-url:8080" />
</config>
```

Your Nuget.config might then look like this:

```
<configuration>
  <packageSources>
    ...
  </packageSources>
  <config>
    <add key="http_proxy" value="http://your-proxy-url:8080" />
    <add key="https_proxy" value="https://your-proxy-url:8080" />
  </config>
</configuration>
```
Formatting Currency Values in JavaScript
Tags: javascript, webdev
Published: 2021-09-09 06:47:49

Did you know that JavaScript can save you from the burden of manually formatting currency values?

The built-in Internationalization API's [Number Formatter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat) offers many useful methods.

Here is a basic example:

```js
const num = 21489.524;

const dollars = new Intl.NumberFormat(`en-US`, {
    currency: `USD`,
    style: 'currency',
}).format(num);
```

In this example, `dollars` will return "$21,489.52".

Pretty neat, right?

JavaScript inserts the specified currency symbol in the right place for us, which in this case, is `USD`.

It also adds commas and decimals based on the `style` (`currency`), and places them according to the localization code (`en-US`).

SIX maintains a [list of supported currency codes](https://www.six-group.com/dam/download/financial-information/data-center/iso-currrency/amendments/lists/list_one.xml). Localization codes are in [BCP 47 format](https://en.wikipedia.org/wiki/IETF_language_tag).

Here is one more example, using Euros and European formatting instead:

```js
const num = 21489.524;

const euros = new Intl.NumberFormat(`fr-FR`, {
    currency: `EUR`,
    style: 'currency',
}).format(num);
```

This time, `euros` will return "21 489,52 €".

## Conclusion

This is something I use quite often, and it's saved me a *lot* of time.

I wish I knew about it sooner, and I hope you find it just as useful for formatting your monetary units on the fly!

Thanks for reading.
Create a Netflix clone from Scratch: JavaScript PHP + MySQL Day 45
Tags: php, javascript, webdev, tutorial
Published: 2021-09-09 06:47:08

Netflix provides streaming movies and TV shows to over 75 million subscribers across
the globe. Customers can watch as many shows/ movies as they want as long as they are
connected to the internet for a monthly subscription fee of about ten dollars. Netflix produces
original content and also pays for the rights to stream feature films and shows.


In this video,we will be Creating Video Preview Provider Class

{% youtube KvY6RlnKIek %}

In this video,we will be Getting Random Entity from Database
{% youtube x6IAEYbi-CI %}

In this video,we will be Creating the Entity Class
{% youtube hmBtwc0xGW0 %}

In this video,we will be Getting Entity Data
{% youtube TwToGMtVUhI %}

In this video,we will be Showing Preview Video
{% youtube  pQ1SZXib4m0 %}

In this video,we will be Creating the preview Overlay
{% youtube  OMLNvFvnU8k  %}

In this video,we will be Creating Preview details element
{% youtube  -8U-b2GaUrw  %}


If you like my work, please consider
[![Buy me a coffee](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jm11knj7d8zwcvo150q2.png)](https://www.buymeacoffee.com/cglikpo)
so that I can bring more projects, more articles for you

If you want to learn more about Web Development, feel free to [follow me on Youtube!](https://www.youtube.com/c/ChristopherGlikpo)
Set npm Proxy
Tags: npm
Published: 2021-09-09 06:26:54

When you do an `npm install` and get an error message like this one:

```
npm ERR! code ECONNRESET
npm ERR! errno ECONNRESET
npm ERR! network request to https://registry.npmjs.org/windows-build-tools failed, reason: Client network socket disconnected before secure TLS connection was established
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

```
the problem might be you're behind a proxy and need to configure this for npm.

You need to set `proxy` and `https-proxy` for npm, like this (in your preferred command tool):

```
npm config set proxy http://your-proxy-url:8080
npm config set https-proxy https://your-proxy-url:8080
```

Setting `strict-ssl` to false might be an idea too, if you really know what you're doing.

```
npm config set strict-ssl false
```
HTML tags | var
Tags: html, tags, var
Published: 2021-09-09 06:07:09

It is used to **represent the name of a variable in a mathematical expression or in a programming context**.

Normally browsers render them using the corresponding italic version of the font, although the style can be customized using CSS.

It should **not be used for presentation purposes**, for this you would have to use a `<span>` with associated styles or if it makes sense some other specific tag such as `<em>`, `<i>` or `<q>`.

- Type: *inline*
- Self-closing: *No*
- Semantic value: *No*

[Definition and example](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/var) | [Support](https://caniuse.com/mdn-html_elements_var)
Hoc Lai Xe O To Tp HCM
Tags: tienthanh
Published: 2021-09-09 06:03:34

Trường dạy lái xe Tiến Thành là một trong những trường dạy lái xe ô tô lớn nhất tại TP HCM với số lượng học viên tham gia mỗi khóa lên đến 1000 học viên. Đội ngũ giáo viên của chúng tôi là những người có kinh nghiệm nhiều năm trong nghề, nhiệt huyết và luôn tận tâm với học viên. Với lợi thế về cơ sở vật chất đạt chuẩn, chắc chắn rằng mỗi học viên khi tham gia đăng ký tại trường đều sẽ có một khóa học đạt kết quả tốt nhất.
Tìm hiểu thêm về trường Tiến Thành: https://hoclaixehcm.edu.vn/truong-day-lai-xe-tien-thanhtrung-tam-dao-tao-lai-xe-tien-thanh-p29/
Website: https://hoclaixehcm.edu.vn/
Địa chỉ: 45 Bùi Đình Túy, phường 26, q.Bình Thạnh, TP HCM
Hotline: 0937 999 666
Email: daitri@hoclaixehcm.edu.vn
Tiến Thành đang là trường thuộc sự quản lý của Sở GTVT, vì vậy chúng tôi luôn cam kết về uy tín và chất lượng, Hãy nhanh tay liên hệ với hotline của chúng tôi để được tư vấn chi chiết về khóa học và cả những chương trình ưu đãi lớn nhất trong năm nhé.
Liên kết mạng xã hội: https://www.facebook.com/truonglaixetienthanh/
https://truongdaylaixetienthanh.tumblr.com/
https://www.instagram.com/trungtamdaylaixetienthanh/
https://twitter.com/truong_day
https://www.youtube.com/channel/UCzhC8moaHC3g8we4LAZTB3Q/
Alumni Panel
Published: 2021-09-09 04:18:51

We had a panel of 4 alumni speak and answer our questions today. It was great - a lot of practical knowledge as we head into the job search.

Here are some of my takeaways:

##Go deep rather than broad##
Rather than pick up a bunch of new languages and frameworks post-HR, get better at the ones I list on my resume. Whatever I include there is fair game. Be strong with those.

##Data structures and algorithms##
One of the presenters said this was the most meaningful work he put in. Another mentioned continuing to meet with cohort-mates to practice and improve in this area after graduation.

##Keep up the momentum##
We heard how easy it was for these skills to atrophy without continued practice. If you don't use it you lose it. While it's tempting to take some time off post-HR for some rejuvenation, it's more productive to stay sharp, stay focused, and stay in a working groove.

##Believe in Self##
We have value. We are better than our imposter syndrome.

##The right answer isn't everything##
Sure you want to solve the toy problem. But it's not just about the solution. Can you have a productive interaction with the interviewer? Can you show strong, and flexible problem-solving process? Would they want to work with you?

It was a great panel! Seeing/hearing them makes believe in myself as an engineer.
Best Cryptocurrency Elucks Token 
Tags: elucks, eluckstoken, cryptocurrency
Published: 2021-09-09 05:52:28

Elucks Token

Elucks Coin (Elux) is the utility token on the popular cryptocurrency exchange Binance. Traders can use the token to pay fees on the platform, and developers can use it to power applications on the Binance Smart Chain.
The Binance Smart Chain is what sets Elucks(ELUX) apart from utility or trading tokens on other exchanges. It is a programmable ecosystem like Ethereum (ETH) that can run smart contracts and serve as a platform for other applications and cryptocurrencies.

Elucks Basics

•What it is: Elucks Coin (Elux) is a token on cryptocurrency exchanges and fuel for Binance Smart Chain.
•Management team: Elucks Coin (Elux) is founded by cryptocurrency experts having background in finance and technology. The Platform has associates throughout the world and over 500+experienced experts are working.

Why you choose Elucks (ELUX): 

•Decentralised platform
•Transparent
•Fast transactions
•Multiple payment options
•Safety and security
•Continual growth
Div in Center using only 2 lines of  CSS code |  part-2
Tags: webdev, css, html, beginners
Published: 2021-09-09 05:52:12

Hello, Coders... 
  Today, I am showing you how to put an empty div in center in just Two lines of css code. 
  So, let's begin our second part of this series. Let's build... 
 
  As always we need a code editor ,a html file and css file. 

  First we make a empty div and give a 'box' as class name. As following 

 ![empty div code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qegvk4nkn3wrnnhjt3ms.jpg)

 Now, make a div visible by add following code in our css file. 

  ![box css code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3qo7c7be1v64fvm5jr6v.jpg)

  Now add two magical code to put our div in center of page. 
  
  ![magical code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5qw37rdn6loymdn2vguh.jpg)

  I put this code in body tag but you can add any other parent element. 

👉 Hope you guys this code is 
   helpful for you,and please 
   like and give some feedback 
   for more improvement. 
🙏 Thank you for reading...
Uploading images to Cloudinary in react-native-typescript, using react-native-image-picker
Tags: typescript, reactnative, cloudinary, reactnativeimagepicker
Published: 2021-09-09 05:45:09

First things first; let's setup a cloudinary account on which we'll be saving our images. If you've not gotten an account with cloudinary, check this out: "https://cloudinary.com". 
Registration is easy! After the registration phase, you'll be directed to your dashboard. On this dashboard, for now, we need information on the following: upload-presets and cloud-name.
Your cloud-name is directly on the top-left corner of your dashboard(once opened). For the upload-preset, do the following:
On the top-right corner of your dashboard, 
a) hit the gear icon. 
b) Hit on the upload tab. 
c) Scroll downwards to the upload preset section. Cloudinary has an upload-preset for you already. All you need do, is; either add a new one or edit what you've got already. It's okay to edit. What we're after, is to change the "signing mode" feature to "unsigned"; which will enable uploads without authentication. However, uploads are restricted if the upload-preset and cloud name aren't provided.
Either ways, ensure that this variables live in your ".env"-file (check out my post on "Environment variables (hiding variables) in react-native). 
Codes: 
Below is the code to be called upon during an upload:

    <TouchableOpacity onPress={() => selectFile()} style={styles.packageImageButton}>                                        
                     //...other logic ...
                   </TouchableOpacity>  

{% runkit %}
const selectFile = async () => {
        setCloudinaryImage("");

        // Select Image to upload
        // "includeBase64" ensures that images can be converted into forms, readable by cloudinary.
        launchImageLibrary({mediaType: "photo", includeBase64: true, maxHeight: 400, maxWidth: 400}, async e => {           
        packageDetails["Package Image"] = "";
        const base64Image = e.assets![0].base64;
    const base64Img = `data:image/jpg;base64,${base64Image}`;
//======Set the cloudinary details for the package image===
            const uploadedImageData = new FormData();
uploadedImageData.append("upload_preset",CLOUDINARY_UPLOAD_PRESET);
uploadedImageData.append("file", base64Img);
     setPackageDetails({
        ...packageDetails,
        "Package Image": base64Img as string
     });
    setCloudinaryImage(uploadedImageData as any);
//===============================================
        });
const uploadedImage = await axios.post(`${CLOUDINARY_BASE_URL}/${CLOUDINARY_CLOUD_NAME}/image/upload/`, cloudinaryImage);
packageDetails["Package Image"] = uploadedImage.data.secure_url;
    };
{% endrunkit %}
Vocabulary Building Day 13
Tags: gre, day13
Published: 2021-09-09 01:56:10

1. **impudent**(adjective): improperly forward or bold.
![alt text](http://www.wordinfo.info/words/images/impudent-2.jpg)
[Checkout Pronunciation](https://www.google.com/search?q=impudent&oq=impudent&aqs=chrome..69i57j0i433i512j0i512l8.5107j1j7&sourceid=chrome&ie=UTF-8)

2. **dogmatic**(adjective): not accepting that one's own beliefs may not be correct.
![alt text](https://i.ytimg.com/vi/vh6JzYwhCks/maxresdefault.jpg)
[Checkout Pronunciation](https://www.google.com/search?q=dogmatic+meaning&oq=dogmatic&aqs=chrome.0.0i433i512j69i57j0i512l5j0i433i512j0i512l2.3578j1j9&sourceid=chrome&ie=UTF-8)

3. **dictatorial**(adjective):of or typical of a ruler with total power.
![alt text](https://image.shutterstock.com/image-illustration/business-cartoon-about-dictatorial-boss-600w-441753478.jpg)
[Checkout Pronunciation](https://www.google.com/search?q=dictatorial&oq=dictatorial&aqs=chrome.0.69i59j0i20i263i433i512j0i20i263i512j0i512l7.5343j0j9&sourceid=chrome&ie=UTF-8)

4. **deferential**(adjective): showing respect.
![alt text](https://img.tfd.com/wn/4D/608A1-deference.png)
[Checkout Pronunciation](https://www.google.com/search?q=deferential+meaning&oq=deferential&aqs=chrome.0.0i20i263i433i512j69i57j0i20i263i512j0i512l7.4355j1j4&sourceid=chrome&ie=UTF-8)
5. **gossamer**(noun): characterized by unusual lightness and delicacy.
![alt text](https://i.ytimg.com/vi/wQichVTdRy4/maxresdefault.jpg)
[Checkout Pronunciation](https://www.google.com/search?q=gossamer+meaning&oq=gossamer+me&aqs=chrome.0.0i20i263i433i512j69i57j0i20i263i512j0i512l4j69i60.4884j1j4&sourceid=chrome&ie=UTF-8)
I hope this helps you if you are preparing for GRE exams.
How to Setup Free TYPO3 Cloudflare?
Published: 2021-09-09 05:05:05

Every second counts in terms of a TYPO3 site’s loading time. If a TYPO3 site takes more than a few seconds to load than expected, it’ll make people abandon it nearly immediately. With the two legends; TYPO3 + Cloudflare, Your TYPO3 website will be super fast, Let’s see how!

People expect to get access to information on the internet as fast as possible. Therefore, it's far critical to align your website’s overall performance together along with your customers’ expectations.  This article will speak about how Cloudflare CDN assists you to boost your TYPO3 website’s loading speed. I’ll additionally offer a step-by-step manual on the way to set it up.

Before exploring and integrating the TYPO3 Cloudflare, I recommend reading below blogs.

1. Free TYPO3 CDN Extensions to Speed Up Your Site, https://t3terminal.com/blog/typo3-cdn/
2. 45+ Ultimate Ways to Speed Up Your TYPO3 Performance, https://t3terminal.com/blog/typo3-speed-performance/
3. 30 Steps to Improve Your TYPO3 Security, https://t3terminal.com/blog/typo3-security/

Guide to TYPO3 Cloudflare

What Is Cloudflare CDN?
Why TYPO3 Cloudflare CDN?
How Does TYPO3 Cloudflare Works?
Cloudflare + TYPO3 (#1 Faster OpenSource CMS)
Test-Drive TYPO3 Cloudflare
Step-by-step Guide to TYPO3 Cloudflare
Common TYPO3 Cloudflare Problems
How to Clear TYPO3 Cloudflare Cache?
Tips and Tricks of TYPO3 Cloudflare


Seems interesting right? click this link to know more, https://t3terminal.com/blog/typo3-cloudflare/
Descriptive Statistics Part 1
Published: 2021-09-09 04:58:54

This is the 1st video in the Descriptive Statistics playlist. This is an introduction to Descriptive Statistics in a very simple manner.We will discuss the following
💎 Mean , Median , Mode                       
💎 Variance and Standard Deviation         
💎 Covariance and Correlation 

I enjoyed creating this video and hope all of you will like it.
    
{% youtube 2rk-dpfOGTU %}