teleren/devto huggingface dataset:
Daily Developer Jokes - Tuesday, Oct 6, 2020
Tags: jokes, dailydeveloperjokes
Published: 2020-10-06 12:00:21

---
title: "Daily Developer Jokes - Tuesday, Oct 6, 2020"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
cover_image: "https://private.xtrp.io/projects/DailyDeveloperJokes/thumbnail_generator/?date=Tuesday%2C%20Oct%206%2C%202020"
published: true
tags: #jokes, #dailydeveloperjokes
---

Generated by Daily Developer Jokes, a project by [Fred Adams](https://xtrp.io/) ([@xtrp](https://dev.to/xtrp) on DEV)

___Read about Daily Developer Jokes on [this blog post](https://xtrp.io/blog/2020/01/12/daily-jokes-bot-release/), and check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/).___
### Today's Joke is...
![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e12590a84b94.png)

---
*Have a joke idea for a future post? Email ___[xtrp@xtrp.io](mailto:xtrp@xtrp.io)___ with your suggestions!*

*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:
___Q:___ What are computers' favorite snacks?

___A:___ Microchips, phish sticks, and cookies. But just a few bytes of each.
 -->
انتخاب پسوند مناسب

Published: 2020-10-06 11:58:47


همان‌طور که قبل‌تر گفتیم، پسوند دامنه تأثیر بسزایی روی برند شما می‌تواند داشته باشد و این مورد را هم در نظر داشته باشید که نام دامنه حتماً نیاز نیست که دات کام یا دات نت باشد؛ اما با توجه به اکوسیستم دامنه‌های ایرانی، معروف‌ ترین و محبوب‌ ترین پسوند دامنه دات کام و.IR هست.

  

یکی از مزیت‌هایی که دامنه‌های بین‌المللی مثل دات کام و دات نت دارند، این است که می‌توانید نام‌های فارسی هم‌روی آن‌ها بگذارید، مثلاً: پرنیان.Com که می‌تواند نوعی خلاقیت و متفاوت بودن از بقیه وب‌سایت‌ها باشد که تاثیر خیلی زیادی روی برندینگ شما می‌تواند داشته باشد.

[https://www.iranserver.com/domains/](https://www.iranserver.com/domains/)
چرا به دامنه نیاز داریم؟

Published: 2020-10-06 11:58:04

چرا به دامنه نیاز داریم؟

یکی از سوالاتی که همواره برای کاربران به وجود می آید، این می باشد که چرا نیاز به [خرید دامنه](https://www.iranserver.com/domains/) دارند؛ دامنه همان آدرس اینترنتی وب سایت شما می باشد که به کمک آن می توانید کسب و کار اینترنتی خودتان را راه اندازی کنید. دامنه ها انواع مختلفی دارند که می توانید هر کدام از آن هارار که مدنظرتان بود، ثبت کنید برای مثال می توانید برای وب سایت خودتان دامنه ملی یا دامنه .ir ثبت کنید.
تغییر DNS ها در دامنه

Published: 2020-10-06 11:57:41

تغییر DNS ها در دامنه

پس از اینکه دامنه برای وب سایتها خریداری کردید، نوبت به خرید هاست و ثبت DNS ها می رسد که می توانید به راحتی این کار را انجام دهید. هنگامی که DNS های هاست را روی دامنه ثبت می کنید، وب سایت شما اجرا می شود و می تواند مطابق با آن، وب سایتتان را بسازید. شما به محض [ثبت دامنه](https://www.iranserver.com/domains/) به بخش تغییر DNS ها دسترسی دارید و می توانید این کار را انجام دهید.
خرید دامنه از ایران سرور

Published: 2020-10-06 11:57:15

خرید دامنه از ایران سرور

یکی از مواردی که شما برای راه اندازی یک فروشگاه اینترنتی نیاز دارید، دامنه می باشد. [دامنه](https://www.iranserver.com/domains/) همان آدرس اینترنتی وب سایت شما می باشد که به کمک آن میتوانید وب سایتتان را به آدرس اینترنتی متصل کنید و به مشتریان خود، خدماتتان را ارائه دهید.

پس از اینکه دامنه خریداری کردید، نوبت به سفارش هاست یا همان فضای میزبانی وب سایت می باشد که می توانید از وب سایت های هاستینگ خریداری کنید. یکی از وب سایت هاییی که می تنوانید از هاست خریداری کنید وب سایت ایران سرور می باشد.
#javascript Dizzle - CSS Selector Library
Tags: javascript, css, html
Published: 2020-10-06 11:55:01

Hello All,

I am really proud to share my new javascript Library called Dizzle,

## What is Dizzle ?
Dizzle turns CSS selectors into functions that tests if elements match them. When searching for elements, testing is executed "from the top", similar to how browsers execute CSS selectors.

## Features:
* Full implementation of CSS 3 & CSS 4 selectors
* Partial implementation of jQuery Extensions
* Pretty good performance
* Light Weight

## Why this library is created when jQuery does this ?
Long story short i wanted to move from jQuery to VanillaJS but then i faced an roadblock that i can't use special css selectors such as `:input` in VanillaJS to fetch elements due to which i worked on this library. 


Please do check our Github Repo for more information : 
{% github varunsridharan/dizzle %} 


## Example Usage

### Finding All Input Elements Inside A Form

```javascript
var $elements = dizzle('div#yourID :input');
console.log($elements);
```

### Filter Elements
```javascript
/**
 * Filter All Visible H2 tags
 */
var visibleH2 = dizzle.filter(':visible',dizzle('h2'));
```
Why Should Mobile App Startups Choose Flutter?
Tags: flutter, android, discuss, ios
Published: 2020-10-06 11:52:11

Flutter needs no introduction! Since its initial release in May 2017, it has continuously gained traction among app developers and business persons alike. Robust support from Google, an ever-growing community of dedicated developers, and rich features have made Flutter app development a preferred choice for many enterprises globally.

Google has developed this platform on Dart programming language to build cross-platform apps that can seamlessly run on Android and iOS. Flutter has a lot of potentials to build powerful and flawless mobile apps. Talking about its business benefits, Flutter is an open-source cross-platform app development platform that advances continuously. The framework is capable of developing a feature-rich and future-ready app in a cost-effective way as compared to native app development.

Startups and SMEs can make the most of this reliable platform to grow their business. Before moving to the beneficial factors of Flutter for mobile app startups, let’s go through its major advantages from the mobile app development perspective.
What payment methods do you prefer for freelance?
Tags: webdev, discuss, payment
Published: 2020-10-06 11:50:30

---
title: What payment methods do you prefer for freelance?
published: true
description: 
tags: webdev, discuss, payment
cover_image: https://www.sanalhukuk.net/wp-content/uploads/2018/05/Odeme-Kurululari-Denetim.png
---
So, you have met the deadlines, ensured that the client is satisfied and the project is functional. How do you ensure you get paid in the end?

Some of the most popular options include [PayPal](https://www.paypal.com/), [Skrill](https://www.skrill.com/en/), [Payoneer](https://www.payoneer.com/), [TransferWise](https://transferwise.com/), [Stripe](https://stripe.com/), [Escrow](https://www.escrow.com/) and lots of others...

What are your experience with these online services and which ones would you recommend to use due to their ease of use, customer service, etc?
How Much State is Too Much State in React?
Tags: devjournal, react, codenewbie, womenintech
Published: 2020-10-06 11:45:10

_This post was originally published on October 6, 2020 on [my blog] (https://alexlsalt.github.io/blog)_

Honestly, now that I'm getting more and more comfortable with React hooks, I think I've kind of become a woman unhinged lol.

I haven't yet jumped into custom hooks, but setting all kinds of state in my So You Think You Can France application is helping me so much in displaying all the information I need to be displayed!

Anyway, I feel like every time I need to store something, I just add in a new useState hook, but it's starting to look a little crowded in the code:

![Lots of state in project code](https://dev-to-uploads.s3.amazonaws.com/i/b766f7sbc25xfw97d7ge.png)

I'll try to get to the bottom of this as I go along.

Speaking of my latest project, I'm going to write up a case study soon to explain (I know I need to, but sometimes it's just too much fun to work on the code and project itself! So let's just stick with 'soon!')

If you'd like to see the initial version of the app, you can check it out [here >>] (https://soyouthinkyoucanfrance.netlify.app/)

*Keep in mind that the database isn't fully filled out yet, so the only cities available to be searched are 'Agen,' 'Aix-en-Provence,' and 'Bordeaux' (case-sensitive)*

Also, shoutout to Netlify for the extreme ease of use! I'd heard so much about it in 'passing' and then when I actually needed something other than Github pages to deploy my React app, I decided to give it a real try.

100% happy about it!


----------


P.S. Did you know I have a podcast with new episodes each Wednesday? Go listen [right over here >>] (https://www.ladiescodecollective.com/podcast)

![The Ladies Code Collective Podcast cover art](https://dev-to-uploads.s3.amazonaws.com/i/e9bnxljvfrdjeti7fvbr.png)
What do you use Cron jobs for?
Tags: server, discuss, unix, cron
Published: 2020-10-06 11:31:53

---
title: What do you use Cron jobs for?
published: true
description: 
tags: server, discuss, unix, cron
cover_image: https://aureatelabs.com/wp-content/uploads/banner-How-to-setup-and-remove-cron-using-CLI-in-Magento-2-1024x328.jpg
---
Cron jobs can be very useful to automate repetitive tasks. Users that set up and maintain software environments use cron to schedule jobs (commands or shell scripts) to run periodically at fixed times, dates, or intervals.

Some of the basic examples include running scheduled backups, monitoring disk space, deleting files (for example log files) periodically, running system maintenance tasks and a lot more.

What do you use Cron jobs for?
How to Migrate Exchange Server to New Server or Local PC?
Tags: exchangemigrator
Published: 2020-10-06 11:29:01

*Read this writeup to know the best solution to migrate Microsoft Exchange Server mailboxes to New Exchange/Office 365 Server and to local system hard drive precisely.*

Exchange Migrator is one of the best tools that provides instant and accurate solution to migrate Exchange Server to new server. The software is best suited for performing Exchange to Exchange migration, Exchange to Office 365 migration. Apart from that, you can also save data from Exchange Server 2019, 2016, 2013, 2010, 2007 etc. editions to PST or default Outlook profile, on a local system. All the Exchange mailbox emails, contacts, notes, calendars, tasks, journals etc. items are transferred by the software, without compromising their data integrity. **[Exchange Migrator](https://www.cubexsoft.com/exchange-migrator/)** is capable of enabling users to migrate Exchange Public folders, mailboxes, Archive mailboxes, as needed.

Advanced Filters is another option that enables users to select the data items that they want to transfer into another application. The software is time saving utility that enables admins to migrate unlimited user accounts data of their organization’s Exchange Server database in single processing as batch mode. Its simple interface makes it handy for both technical and non-technical users to easily migrate Exchange mailboxes using following steps :
    •	First download and install the software on Windows server
    •	Now tap on Add button and provide your MS Exchange Server credentials
    •	The software provides various output options for saving Exchange mailboxes to PST, default Outlook profile, Exchange Server and Office 365. Choose any one as per your requirement. 
    •	Choose required migration type for each source MS Exchange mailbox : Mailbox, Archive mailbox, Public folder. Click Next 
    •	Now set required filters, select folders and other options for performing selective Exchange Migration and click Next. 
    •	The migration process will start along with showing live progress status including Mailbox name, folder name, item count, status etc.
    •	On completion, an alert message with the message “Conversion Completed” will open.

Exchange Migrator is also available as a Free demo application for users' help to analyse the software functionality. Free demo allows to migrate first 25 items per Exchange mailbox to another Exchange mailbox.
Freelance vs Personal Projects
Tags: webdev, discuss, codenewbie, career
Published: 2020-10-06 11:25:39

Whether you wan't to acknowledge it or not as web developers we are not only competing against each other for work. But also against website building tools like WordPress, Wix and Squarespace. YouTube is a very popular platform as you are well aware and there are so many ads for Wix and Squarespace it is very hard for us as developers to compete with those marketing behemoths. Which is where personal projects come into play as they allow us to learn fast, create content and really boost our developer profile when working on open source projects. 

My preference at the moment is working on personal projects as I feel it allows me to learn new languages and concepts faster instead of competing in a rat race. And when I say freelance I am talking about using platforms like Upwork, Fiverr and Freelancer which are over saturated with established developers which makes it hard to break in. Looking for work on traditional job boards is an entirely different subject.

What is your preference at this moment in time is it looking for freelance jobs or working on personal projects that you can put on your portfolio?
Cannot find a differ supporting object
Published: 2020-10-06 11:20:23

This particular message is a bit confusing.  It's hard to figure out and it leaves little information.  We see it often when using Mat-Table.  There really should be a bug written to improve the error message.

We do get hints, however, usually we'll see something going on with the column definitions and or the displayed column definitions.  

**Root Cause**
There's no data in the datasource! Apparently the column defs and displayed column bindings already bound, can't continue if there's no data!

**Binding**
Assume we have a component Employees, it contains a MatTable, but we have a parent component named Management.  Management uses the Employees table which is to provide the people that are managers. The Manager's component is a decorator to Employees meaning it does other things too.

```html
// This is in our manager's component
<app-employees
  [datasource]='datasource'
  [displayedColumns]="['firstName', 'lastName'...]
  [columnHeaders] = "['Mgr. First', 'Mgr. Last'...]"
</app-employees>

```
This Manager Component doesn't immediately have the datasource data, it takes a while for the data to return.

Before the data returns, both the ngInit and ngAfterViewInit run on both components. The displayedColumns and columnHeaders on the Employee Component immediately bind to what is specified in the markup shown above. However, when the material table attempts to render the data, the error happens because there are no fields in the dataSource, in particular the dataSource.data failed to display. Instead of displaying nothing it throws the error. 

**Solution**
Don't show the component until the data has arrived! Promises and Observables take time to get the data, use *ngIf="dataHere" where dataHere is true or false. Set only after data has arrived. Also look into ChangeDetectorRef.DetectChanges().

JWP2020
Refactoring: Function Parameters
Published: 2020-10-06 11:17:27

Image: Bullet Proof Glass

**Function Parameters**
- They define the interface and cannot be used without the required parameters. They *are the interface.*
- They allow the movement of functions to any other file.  A great way to aggregate similar functionality.
- They can expose redundant functions or at least allow for better refactoring using decorator function patterns.
- When aggregated in one file, they are instantly discoverable using the export keyword. Just import the file and all the functions are found using intellisense.
- Typescript type annotations make them safe during development to find errors before run time.

The Typescript function is a true first class citizen. This means they are ideally suited to alter other View Class behavior.  They would be the small parts we talk about when creating code manufacturing pipelines. 

This makes function composition the single most favored aspect for creating reusable Views. Keep the view as simple as possible and create reusable functions that act on one or more Views.

If we continue doing this we will see other patterns emerge as we attempt to get to the most abstract of patterns. The more abstract the more they are used. This is good because the more they are used the more bullet proof they become.

JWP2020 Function Parameters
Linux Commands: ls
Tags: linux, beginners
Published: 2020-10-06 11:16:45

`ls` is the Linux command to list the content of a directory. You can list all the files and folders inside a directory. Let's try it in your terminal.


![Screenshot 2020-10-06 at 2.14.52 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1601973911469/PDK4dLZYc.png)

You can pass arguments to `ls` to change the output. Let's take a look at `ls -al`.

![Screenshot 2020-10-06 at 2.15.44 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1601973957615/ayc-S2uQc.png)

It has more detailed information as compared to `ls`. It uses two flags `l` and `a`. `a` is used to show all the files even if the files are hidden(Hidden files are the one which starts with a dot at the beginning). `l` is used to show details about each file and folder. Let me explain to you what exactly are those. We will take one of the lines from output.

```
drwxr-xr-x  12 umesh  staff   384 Dec 11  2018 .git
```
* drwxr-xr-x: This defines the permission of the file.
* 12: It tells the number of links to that file.
* umesh: This signifies the username of the owner of the file
* staff: This signifies the group of the file. 
* 384: file size in bytes.
* Dec 11 2018: file created/updated datetime.
* .git: filename.

There are a bunch of flags available that can be used to modify the output of the `ls` command. I am listing a few of them down below try them out in your terminal and let me know your experience and which one is your favorite in the comments.


* l - List files and directories in the long format
* a - Include directory entries whose names begin with a dot (.).
* d - Directories are listed as plain files (not searched recursively).
* i - For each file, print the file's file serial number (inode number).
* G – Enable colorized output.
* h – List the size of the files and directories in Human Readable format.
* S - Sort files by size

> If you liked this blog please feel free to share with others, if you are sharing it on twitter please tag  [@imumesh18](https://twitter.com/imumesh18) . If you are interested in more of these please subscribe to my newsletter.
What was your first programming language and why did you choose it?
Tags: webdev, discuss, beginners, codenewbie
Published: 2020-10-06 11:13:42

My first programming language was Visual Basic which may come as a surprise because I never talk about it. That's because back then I was not good at it at all. I don't know if it was the teacher or the language but it just looked completely alien to me. And I think I had this belief back then that you needed to be really good at maths to do programming which is not true. I learned it back in college because it was part of the curriculum but I did not really progress anywhere with it I don't think the class even took it seriously. 

We also had a class where we learned the basics of JavaScript which at the time also felt kind of alien to me. I remember the first time I created a simple banner well it was not really my banner I just used view source in the browser to copy the javascript code for an advert for a banner and added that to a simple web page I created. My teacher was totally blown away and did not know how I managed to create it. Which I suppose just goes to show his level of teaching... 😅

What was the first programming language you tried to learn and what was your initial experience like? Did you find it easy or hard to learn?
Why do developers have a love hate relationship with WordPress?
Tags: discuss, webdev, codenewbie, career
Published: 2020-10-06 11:06:45

Front End Frameworks like React, Vue and Angular have become quite popular for creating websites. Despite this fact WordPress still seems to have a lot of popularity and many companies are consistently looking for developers that know WordPress. However WordPress and PHP go hand in hand and PHP is not as popular as it used to be which is probably one of the main reasons for developers avoiding WordPress jobs. 

The JAMSTACK and Headless CMS are still fairly new. Not many developers are familiar with using that technical stack for creating a website with a CMS yet. Whereas it is still very common in the WordPress world and I think that companies are yet to adopt these new ways of building websites. What are your thoughts on WordPress?
KVS implementation in C++ : A series - How to design a good API (3)
Tags: cpp, keyvaluestore, api
Published: 2020-10-06 10:55:55

[Great reference for API design](https://www.infoq.com/articles/API-Design-Joshua-Bloch/)

## Intro 
Basically, designing a good API means it should be easily usable and it should make developing wrong things difficult. Since KVS already exist, we should manage user expectations well; they’ve already seen a lot of key-value stores, and we shouldn’t diverge from what’s already pretty common.



Emmanuel calls his KVS KingDB, I guess I’ll call mine QueenDB? Honestly, the name doesn’t matter as much as the code so yeah QueenDB It is.



## Basic features of a KVS:

- open, close db
- read, write to db
- iterate over keys and values in a db
- offer a way to choose parameters
- offer a decent error notification interface
That seems about right, we’re not dealing with documents like MongoDB, and we won’t have several fields since it’s a mere A->B entry, so we don’t need filtering features for search..

## What's out there already:

__To open and close db__ : a lot of different approaches, which were judged to be C-style, LevelDB creates a pointer for the db, calls open(db) then destroys the pointer as a method of closing it.. So, in QueenDB, we will keep the open and close methods 

__To read and write__ : honestly, just a get and set method, where we have the read/write options, the key and the value (as a ptr ofc for get, and by value for set). We could return an integer to see if the operation happened without an error.

__To iterate__ : an iterator lol

__To choose parameters__ :  Kyoto has a tune_* method to be called directly on the database for every parameter, LevelDB has an Options class with different attributes (parameters) to set then to pass to the open method, you can also set every parameter and pass it by value to the put method (just check their source code). SQLite3 has a config method where you just pass flags (one at once), before initializing the database and opening it

LevelDB’s way is better because we don’t have to call a method to change the options, we can merely change the options class. It can also be shared among different databases. However, LevelDB passes these options as a 1st parameter so we always have to set them. Maybe, QueenDB will put it as a last parameter to make sure that if it doesn’t need to be set then we can skip it, and we’ll use method overloading with no options parameters.

__To manage errors__ : LevelDB returns a Status object for every method and we can check using an ok method if no error has occurred. Kyoto Cabinet returns true or false, SQLite3 returns an integer too, same thing for Berkeley DB. LevelDB’s way seems much better, especially since the Status class has many attributes and it’s easy to use to test for errors.