teleren/devto huggingface dataset:
Another Web Development YouTube Channel
Tags: webdev, javascript, tutorial
Published: 2020-04-19 10:22:00

---
title: Another Web Development YouTube Channel
published: true
description: An introduction to Codú Community YouTube channel, all about JavaScript and Web Development. 
tags: webdev, javascript, tutorial
cover_image: https://i.imgur.com/R6WuqUU.png
---

I've started a YouTube channel called [Codú Community](https://www.youtube.com/channel/UCvI5azOD4eDumpshr00EfIw) and would love if you checked it out! 

> **_Why Codú?_**  The name Codú is a very minor twist on the Irish for "coding" which is "códú", I thought having two accents to remember would be cruel. 😂

![Codú Community Banner](https://i.imgur.com/bJoAijl.png)

I'm used to teaching in person but this epidemic has pushed me to try to help online rather than in person. If you have suggestions for content I would be happy to hear it. 💜

## Join in!
I'm also looking for guest speakers so please, if you aren't too camera shy and would like to pair program to solve a problem or just have a chat about your experiences in the web development world it would be great! It's a community project so I don't want it to be just me speaking. 🤓

## Who am I? 
I'm Niall, a web developer by trade from Dublin, Ireland, owner of a small software house in Ireland called Codú. I'm a technical reviewer for Packt publishing, a mentor in the WeWork global expert network and host of a [MeetUp](https://www.meetup.com/codu-community/) in Dublin called "[Codú Community](https://www.meetup.com/codu-community/)" where I give free software workshops every month. 

I'm self-thought, have lead teams, interviewed 100+ developers and now run my own business so I hope some of my insights from my roller coaster ride of web development can be helpful to someone. 🧑🏻‍💻

I'll be uploading videos Tuesday and Thursday mornings ⏰

Wish me luck!!! 😁

Here's a recent video 💜
{% youtube 93R57sLATM4 %}


---

[Follow me on Twitter](https://twitter.com/nialljoemaher)

Subscribe on [Codú Community](https://www.youtube.com/c/Cod%C3%BACommunity)
Locally Host Website using Apache2 Ubuntu Server
Tags: apache, hosting, ubuntu, website
Published: 2020-04-19 10:17:33

Hello geeks, In this tutorial I'm guiding you how to host a simple website locally in Apache Web Server in Linux. So, let's get started.

## Install Apache
First, let's install Apache from the `apt` repository in Linux. Enter the following command on your terminal to install the Apache web server:

```sudo apt install apache2```

After successful installation, here are some commands that may come handy while running Apache web server.

To start Apache 2, run:  
```$ sudo service apache2 start```

To restart Apache 2, run:  
```$ sudo service apache2 restart```

To stop Apache 2, run:  
```$ sudo service apache2 stop```

To gracefully reload Apache 2, run:  
```$ sudo service apache2 reload```

After starting the Apache Web Server, you may go into any browser and type `http://127.0.0.1/` on Address Bar.
The resulting web page looks like:

![Apache2 Start](https://i.ibb.co/MMkFyrt/apachestart.png)

The web page rendered is the default web page provided by the Apache itself. Now, we'll learn to replace by our website.

## Create Website

For maintaining the simplicity, I'm creating a simple web project `darkweb` with the following file structure.
```
darkweb/
├── css
│   └── style.css
└── index.html

1 directory, 2 files
```

Inside `index.html` :
```html
<!DOCTYPE  html>
<html  lang="en">
<head>
	<title>Website on Dark Web</title>
	<link  rel="stylesheet"  href="./css/style.css">
</head>
<body>
	<h1>This is my first web site on Dark Web.</h1>
</body>
</html>
```

And inside `css/style.css`:
```css
body{
	margin: 0px;
	color: red;
	background-color: darkslateblue;
}
```

which results to form a webpage like :

![Sample Website](https://i.ibb.co/d06LjNK/samplewebsite.png)
## Host Website on Apache Web Server

Going through the default configuration provided by the Apache, we're going to add website we just created to the Apache web server.

Assuming our web project name is `darkweb`, let's move the project to `/var/www/html`.

```$ sudo mv darkweb/ /var/www/html```

Now, we've hosted our website on Apache Web Server. To access the website from the Apache, first start the Apache Web Server:

```$ sudo service apache2 start```

And type `http://127.0.0.1/darkweb/` on address bar on your browser. Now, you should see the website we just created on the browser. Here, my project name was `darkweb`, but the generalized URL for accessing your project is `http://127.0.0.1/YOUR_PROJECT_NAME/`.

After hosting on Apache, the website looks like:

![result](https://i.ibb.co/R0sgStp/result.png)

I hope that now you're able to host website on Apache web server. 

In next tutorial of this series, I'll be guiding you through  how to install SSL certificate on Apache2 Ubuntu Server.

Till then, `keep coding :)`
CSS preloader 🪂
Tags: codepen, html, css, javascript
Published: 2020-04-19 10:01:37

---
title: CSS preloader 🪂
published: true
tags: codepen, html, css, javascript
---

Hey coding people, hope you all doing well and safe too :)

In this article, you will see hove you can make this awesome pure CSS preloader with just some little bit of code and yes no javascript  👇🏼👇👇🏾👇🏿

{% codepen https://codepen.io/atulcodex/pen/eqVbej %}
VIDEO: Creating a job listing with HTML, CSS and VanillaJS
Tags: javascript, html, css, tutorial
Published: 2020-04-19 09:14:12

A couple of days ago, I took on an intermediate challenge from Frontendmentor(https://www.frontendmentor.io/). Below, you get to see how I complete the whole challenge in one video.

{%youtube j-FUcINCUdM %}

The challenge is about creating a dynamic job listing. I thought it'd be interesting to challenge myself and not use any libraries like React or Vue. It took longer than expected as I haven't written VanillaJS for a while but finally got it done.

🔴 Final solution: https://www.frontendmentor.io/solutions/job-listing-with-filtering-vanillajs-hSRSn82RU

Also, follow me in
👉 Twitter: https://twitter.com/KethmarS
👉 IG: https://www.instagram.com/developerhabits
Weekly report #2
Tags: boostnotemarkdownnote
Published: 2020-04-19 09:13:19

---
title: Weekly report #2
published: true
description: 
tags: boostnote markdown note
---

Sorry for the late report. We really wanted to publish this report after we release the next version of both legacy(v0.15.3) and the new app(v0.4.0). But I’m still working on them now. So both of them will be released tomorrow morning.(10 AM JST, Apr 20, 2020)

# ✅ What we did this week

## The legacy app
- Fixed inline code block style
https://github.com/BoostIO/Boostnote/issues/2373
- Fixed attachment paths in exported notes
https://github.com/BoostIO/Boostnote/pull/2897

## The new app

- (WIP) Improved Navigating UX
https://github.com/BoostIO/BoostNote.next/issues/403
- (WIP) Refined UI coloring
- https://github.com/BoostIO/BoostNote.next/issues/392
- (WIP) Fixed broken bookmarks
https://github.com/BoostIO/BoostNote.next/issues/318
- (WIP) Implemented exporting a markdown note with optional front matter
https://github.com/BoostIO/BoostNote.next/pull/398/files

I’m working on the top 3 tasks in this PR. Please check if you’re interested. It includes tons of style refactoring.
https://github.com/BoostIO/BoostNote.next/pull/412

# 🏃 What we will do next week

## The legacy app

- Release v0.15.3

## The new app

- Release v0.4.0
- Implement initial prototype of File System based storage.
- Improve cloud storage sync speed
- Support i18n completely
Four Leaf Landscape : Landscaping services. Landscaping Company
Published: 2020-04-19 09:05:39

"Four Leaf Landscape: Best Landscaping Company India
 Hello we are Four Leaf Landscape and Civiltech Pvt Ltd. We are fast growing landscaping company with project portfolio spanning all over India. Four leaf landscaping company was established in 2013 by Mr. Dheeraj Godara with a vision to provide all landscaping services mainly Hardscape and Softscape under one turn key offering. The Landscaping company was converted to a private limited firm in 2015 for better organisation and growth handling. The Landscaping company has its head office at Vasant Kunj New Delhi with strategic partners across India. We have delivered 150+ quality landscape projects through out India. Our specialty is providing one stop professional solutions for all your landscaping requirements under one roof.
We are a professional team of Engineers and Horticulturists.We started this landscaping company to cater the Landscape Industry. We emphasise mainly on the Hardscape & Softscape part of landscape projects. During our time as landscapers and garden people we have executed big and small projects alike.
Beginning of anything is always the most difficult part but, we have bonded well to the field. Four Leaf Landscaping company has taken small but strong steps to expand our operations to multiple cities across India. We strive to be the best landscaping company in India!!
Address:B2/8 SHRI SAI KUNJ, behind SECTOR D2, Vasant Kunj, New Delhi, Delhi 110070 . 
Phone:07042300940"	
Https://fourscape.com
NUll vs Undefined
Tags: javascript, beginners
Published: 2020-04-19 08:57:28

---
title: NUll vs Undefined
published: true
description: Null and Undefined are not equal
tags: javascript, beginners
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/0bl5s3lj9ks14kcrl445.jpg
---
In JavaScript we have seven  primitives:
- string
- number
- boolean
- null
- undefined
- symbol
- bigInit

We often think that null and undefined are the same.
Let's try to use strictly equal operator with them:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ppjl0bdfp1vk1lbnj0tx.png)
they are not equal at all.
Undefined means that we have not yet attributed a value;
while null is a value that indicates nothingness
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/7c4hwu035xfqrze50n5r.png)
" ! " Not Operator
Tags: javascript, beginners
Published: 2020-04-19 08:54:43

---
title: " ! " Not Operator
published: true
description: Why and How
tags: javascript, beginners
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/3da5zjap6nrapazzmjyq.jpg
---

The not operator avoid us from writing the else statemet like in this example:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/uwm0n82jzgjlbbko4mdt.png)
In the example above we ask with our **if(!apples)** : if apples is falsey      run this argument, so we avoid to write this:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/atr3ghyvc4lgu37dowgz.png)
Another occasion where it can be very useful is when we need to convert a **Truthy and Falsey** values in **True and False**.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/tv17qny3tgzop0962m4t.png)
In the example above we convert first apples(falsey) into apples(true) with our first not operator(!), with the second not operator we convert our apples(true) in apples(false), then our apples(falsey) has become apples(false). The opposite happened for our apples(truthy).
Visiting Radio Liberty
Tags: gamedev, devlog
Published: 2020-04-19 08:41:56

_Originally published at [Medium](https://medium.com/@pincfloit/game-development-diary-vii-adafec37fa4a) on Jul 21, 2019_

Ok, this post has not much to do with the development of the game but… I visited Radio Liberty! Or what’s left of it, anyway.

It may be a bit sad to have it all just go to waste like that, but for my game it couldn’t be more perfect, it has the exact post apocalyptic vibe I’m looking for. It’s a shame that the game will be quite small and that I’m not a great pixel artist, because those scenarios would shine. Hope you all like the game and some big studio wants to fund me to do a remaster.

![Radio Liberty exterior](https://dev-to-uploads.s3.amazonaws.com/i/whvi1zyalrpuhsaskohe.jpeg)

![Staircase](https://dev-to-uploads.s3.amazonaws.com/i/dwownyajq9c80zngnn5v.jpeg)

![Europe map with lights](https://dev-to-uploads.s3.amazonaws.com/i/egwetexc7q08hstbrdy0.jpeg)
This is begging to become a game puzzle

![Collage of images](https://dev-to-uploads.s3.amazonaws.com/i/1e5dva7ddha22eaidtg3.png)

![A door with a "Don't open, dead inside" graffiti](https://dev-to-uploads.s3.amazonaws.com/i/zostyskh7rffwen7d1pm.jpeg)


No, the game won’t have any zombies in it but this is priceless

Please note! As a police officer kindly reminded me of, Radio Liberty is still private property so you shouldn’t go there. I won’t do it again, promise.
Spring Boot : Properties file
Tags: java, springboot
Published: 2020-04-19 08:40:24

## Properties file

* Default properties file is `application.properties`
* Default profiles file is `application-default.properties`

If application have the following properties file

```properties
// application.properties
app.msg=Hello World
app.version=1.0.0

// application-default.properties
app.msg=Default

// application-prod.properties
app.msg=Prod
```

`java -jar app.jar` should get

```
app.msg=Default
app.version=1.0.0
```

`java -jar -Dspring.profiles.active=prod app.jar` should get

```
app.msg=Prod
app.version=1.0.0
```

## Start Spring Boot with profile


```
// Java 
java -jar -Dspring.profiles.active=prod app.jar

// Maven
mvn spring-boot:run -Dspring-boot.run.profiles=prod
```

Windows PowerShell required double quote around parameter 

```bash
java -jar "-Dspring.profiles.active=prod app.jar"
mvn spring-boot:run "-Dspring-boot.run.profiles=prod"
```
Nullish Coalescing Operator Explained
Tags: javascript, es2020, nullishcoalescing, codequality
Published: 2020-04-19 08:21:58

Nullish coalescing operator is a new operator in javascript, which is actually an ES2020 specification. It is a short-circuiting operator much like the `&&` and `||` operators.

## What is it?

Nullish coalescing operator (`??`) is a logical operator that returns its RHS operand when the LHS operand is `nullish` (null or undefined), otherwise returns its LHS operand.

```js
const name = null ?? 'John Doe'
// output: John Doe
```

## Why do we need it?

Prior to nullish coalescing operator, the logical OR (`||`) operator is used to check for nullish values.

```js
const name = null || 'John Doe'
// output: John Doe
```
But the problem is `||` check for `truthy` or `falsy` value. That is it returns RHS operand when LHS operand is `falsy` (null, undefined, false, 0, '', NaN), otherwise it returns LHS operand.

```js
const name = '' || 'John Doe'
// output: John Doe

const name = '' ?? 'John Doe'
// output: ''
```

To better understand the problem, consider the following code sample.

```js
function joinArray(array, delimiter) {
  delimiter = delimiter || ',';
  return arr.join(delimiter);
}
```

In this example, the `delimiter` parameter is optional. `,` will be the default value if no value is passed for the delimiter parameter. But there is a bug in this code. What happens if we want to join the array without any delimiters, that is using '' as the parameter?

```js
let joined = joinArray(['Find', 'the', 'bug'], '');
// expected output: Findthebug
// actual output: Find,the,bug
```

As you can see, the expected output is 'Findthebug', but the actual output is 'Find,the,bug'. This is because the `||` operator only checks if the operands are `truthy` or `falsy` and the empty string (`''`) evaluates to false. So the RHS operand, comma (`,`) in this case is returned.

We can fix this bug easily by replacing `||` with `??`.

```js
function joinArray(array, delimiter) {
  delimiter = delimiter ?? ',';
  return arr.join(delimiter);
}
```

And we get the correct results.

```js
let joined = joinArray(['Find', 'the', 'bug'], '');
// output: Findthebug
```

## Note on Chaining with AND or OR operators

It is not possible to chain AND (&&) and OR (||) operators directly with `??`. Combining this will throw a syntax error.

```js
const name = null || undefined ?? 'John Doe'
//Uncaught SyntaxError: Unexpected token '??
```

If you need you to combine them, then you must wrap one of the operator groups in parenthesis.

```js
const name = (null || undefined) ?? 'John Doe'
```

This will remove the ambiguity and anyone reading the code can immediately understand what it does. Happy Coding!
🤖 Hopevid Bot: Connecting Small businesses with their customers📍
Tags: twiliohackathon
Published: 2020-04-19 07:11:53

For the **COVID-19 Communications** category of the **Twilio Hackathon 2020**, the Developer Experts: Amanda Cavallaro 🇧🇷 🇬🇧 and Leandro Camacho 🇨🇷 🇧🇷, have decided to help Small and Medium Businesses (SMBs) to  connect with their customers through a virtual assistant! 

#### Problem solving:
- **Just in USA** "Thousands of SMBs report that COVID-19 is negatively impacting their businesses", 
- "Almost two-thirds of SMBs believe revenues will drop by 30% or more over the next six months"
- "SMBs have already or are planning to lay off salaried employees, and/or reduce their working hours".

While there is no way to tell exactly what the economic damage from the global pandemic will be, there is widespread understanding by the economists that it will have severe negative impacts on the global economy. 

*-"The Economic Policy Institute predicts that the disease outbreak could potentially wipe out three million jobs from the U.S. economy before this summer."*


#### What our project do?

We connect customers and SMBs from multiple industries: 🍅 Agriculture, 🛠️ Construction, 📚 Education, ⚖️ Insurance, 🍽 Food, 😷 Health Services, 💅 Personal Services, 🚨 Security, 🚘 Transportation and others, through WA & SMS.

{% youtube _FfDoicJJzU %}

#### How we built it?
We create a NLP model that connects SMBs with their customers across the country, based on the users needs... This model we integrate it to the Twilio's APIs such as: SMS & WA for business. 

#### Challenges of the project:
-Not in all the countries are available Local phone numbers.
 
#### Accomplishments the team are proud of:
Working project!

WA Testing Instructions:
Step 1: Add the phone number **+1 415 523 8886**
Step 2: Open your WA app
Step 3: Send the command **Join post-bite**
Step 4: Start the conversation!🏁

#### Github Repo: 

{% github leoaiassistant/TwilioHackathon %}


#### What's next?
-Partnering with thousands of Small and Medium Businesses, and Governments & Ministers and Local associations to implement it across the country...
How to build Python transcriber using Mozilla DeepSpeech
Tags: python, speechrecognition, voiceassistant, deepspeech
Published: 2020-04-19 06:57:27

*Transcriber with PyAudio and DeepSpeech in 66 lines of Python code.*

---

Voice assistants are one of the hottest tech right now. Siri, Alexa, Google Assistant, all aim to help you talk to computers and not just touch and type. Automated Speech Recognition (ASR) and Natural Language Understanding (NLU/NLP) are the key technologies enabling it. If you are just-a-programmer like me, you might be itching to get a piece of action and hack something. You are at the right place; read on...

[Continue reading »](https://www.ml4devs.com/articles/how-to-build-python-transcriber-using-mozilla-deepspeech/)
What are the different SSL modes on Cloudflare?
Published: 2020-06-16 14:42:39

---
title: What are the different SSL modes on Cloudflare?
published: true
date: 2020-04-19 06:30:00 UTC
tags: 
canonical_url: https://www.mikestreety.co.uk/blog/what-are-the-different-ssl-modes-on-cloudflare?rel=mikestreety-rss
---

Cloudflare offers free SSL certificates as part of its service, even on the free tier. There are 4 options when in the SSL/TLS section of Cloudflare and, depending on the selected option, will determine which port your server will be required to serve traffic. By default on any web server (unless specifically changed otherwise):

- Unencrypted traffic via `http` is served over port **80**
- Encrypted traffic via `https` is served over port **443**

## Cloudflare SSL options

Cloudflare provides an SSL to allow you to provide a `https` URL, without needing to provide an SSL certificate yourself or serve your site up over port 443.

**Off (not secure)**

This uses port 80 on your server to serve the files and uses the `http` protocol in your browser URL bar - something which Chrome (and other browsers) will flag as insecure

**Flexible**

From the outside, this uses a `https` URL, however the SSL is only between the user and Cloudflare. From Cloudflare, the traffic is unencrypted and served over port 80 (This one took me a while to realise - I've lost many hours wondering why, when serving over port 443, my content wasn't appearing). Some CMS's require the server to be running on port 443 if the URL starts with HTTPS - that's where the next one comes in.

**Full**

Full uses an SSL between both the user & Cloudflare and Cloudlfare & the server. Your server serves files over port 443 and must have an SSL certificate installed to operate. However, this SSL certificate can be self-signed or invalid. Cloudflare does not verify the certificate but trusts it is ok. Cloudflare themselves offer a self-signed "Origin" certificate for you to download and install on your server, which allows you to use Full without having to go through the hassle of generating a certificate yourself.

**Full (strict)**

Full (strict) mode in Cloudflare is the same as Full, but the certificate needs to be valid and signed by a proper authority, for example, Let's Encrypt. This is the most secure but requires a real SSL certificate to operate.

In most cases Full will suffice, however, I wanted to run through generating a wildcard SSL certificate with a DNS provider which provides an API.