teleren/devto huggingface dataset:
CIS114 Module 5 Discussion
Published: 2020-01-27 18:24:36

HTML supports these row groups: thead (table head); tfoot (table foot); and tbody (table body). 

<table border="1">  
<colgroup>    
<col span="3">    
<col class="IntoCol">    
</colgroup>  
<tr>    
<th>Col1</th>    
<th>Col2</th>   
<th>Col3</th>
</tr> 
</table

<table>  
<table border="2">  
<colgroup>    
<col span="2" style="background-color: yellow">    
<col class="IntoCol">    
</colgroup>  
<tr>    
<th>Col1</th>    
<th>Col2</th>    
<th>Col3</th>
</tr>    
</table>

Those CSS properties are borders, background, width, and visibility.
Row group has higher precedence.

Row group has higher precedence.

thread tr {height::25px}

<table>  
<table border="2">    
<tr>    
<th>Unordered List</th>    
</tr>    
<td>      
<ul>        
<li><a href="https://www.nfl.com/">NFL</a></li>        
<li><a href="https://www.nba.com/">NBA</a></li>      
</ul>  
</table>
Adding a dark theme to your website with css variables
Tags: css, codenewbie, beginners
Published: 2020-01-27 18:22:56

So, you want to add a dark (or light) theme to your website quickly and without destroying the code that you already have. This method works by taking the color theme settings from the device that is browsing your website and send info to the browser and CSS about those color settings.

## [CSS Variables](#css-variables)

All of the colors that you would like to change between light and dark mode you will have to set as CSS variables. Setting CSS variables looks like this and can be changed for different classes or in this case media queries.

```css
body {
	--background-color: #000;
	--text-color: #fff;
}
```

To call the variable after being set you have to follow the below code.

```css
p {
	color: var(--text-color);
}
```

Something that you should also add when calling CSS variables is adding a default fallback color for older browsers that can't handle CSS variables. When setting the fallback to make it for the default color scheme if the device can't handle the `@media (prefers-color-scheme: dark) {}` media query. Adding a fallback is as simple as the below.

```css
p {
	color: var(--text-color, #fff);
}
```

If you are using SCSS/SASS variables then you need to print the variable like this.

```scss
p {
	color: var(--text-color, #{$white});
}
```

## [Prefers color scheme Media query](#prefers-color-scheme-media-query)

One of the newer media queries that have been added is the **prefers-color-scheme** media query. This checks for the color theme of the browsing device and can change styles based on that. The media query at its basics is shown below.

```css
@media (prefers-color-scheme: dark) {
	p {
		color: red;
	}
}
```

The options for the media query are: `dark`, `light`, and `no-preference`. Side note, the light color scheme is the default if the device does not support this media query.
Websites to download free programming books?
Tags: books, beginners, todayisearched, discuss
Published: 2020-01-27 17:59:05

I actually find it easier to learn concepts through books than videos. I, therefore, have some [websites where I go to for free ebooks on programming](https://creatiffish.com/blog/websites/websites-free-programming-ebooks/).
So far, I've found and used 5 websites:
+ O'reilly books
+ Packt
+ Tutorials point
+ GoalKicker
+ AlliteBooks. 

What sites do you guys use?
React Or Javascript ???
Tags: javascript, react, reactnative, webdev
Published: 2020-01-27 17:59:04

Hello Folks,

Today I came up with a question which some times seems funny but many times I think it is a serious issue.

I just want a piece of advice from all our senior developers that A person who is learning MERN stack nowadays. What you all will suggest that either he has to spend most of the time in learning more and more about Javascripts (ES6+) or just learn the most useful features of ES6 and move on to react.

The Discussion is open to all :)
Modern Full-Stack Development with Nest.js, React, TypeScript, and MongoDB: Part 1
Tags: react, nestjs, javascript
Published: 2020-01-27 17:50:55

---
title: Modern Full-Stack Development with Nest.js, React, TypeScript, and MongoDB: Part 1
published: true
description: Learn how to build modern and secure Full-Stack applications with React, TypeScript, and Nest.js.
tags: #reactjs #nestjs #javascript 
canonical_url: https://auth0.com/blog/modern-full-stack-development-with-nestjs-react-typescript-and-mongodb-part-1/
---
TL;DR: In this series, you will learn how to build a modern web application using React and Nest.js. In the end, you will also learn how to secure the application with Auth0. Rather than building a React application with JavaScript, we will deviate a bit and use TypeScript instead. Structuring the application this way comes with a lot of benefits such as type checking, enforcing, and associating every variable within the application with a datatype, cool, right? In this first part of the series, we will focus on building the backend API with Nest.js. The second part is about building the user interface and handling all frontend logic using React.

[Read on 📖](https://auth0.com/blog/modern-full-stack-development-with-nestjs-react-typescript-and-mongodb-part-1/?utm_source=twitter&utm_medium=sc&utm_campaign=fullstack_pt1)
BUILD NOKIA 3310 SNAKE using JavaScript in under 15 minutes
Tags: javascript, gamedev, tutorial, opensource
Published: 2020-01-27 17:28:39

A vanilla JavaScript grid-based game | In this tutorial you will learn how to make a fully functional game of Nokia 3310 Snake. This is a total BEGINNERS introduction to JavaScript, in which you will cover the following:

- project set up
- linking your JavaScript and CSS files to your HTML file
- event listeners
- query Selectors
- arrow functions
- forEach
- setting time intervals and countdowns

For the full tutorial to my game, please visit my Youtube here: https://www.youtube.com/channel/UC5DNytAJ6_FISueUfzZCVsw
Set Your CLI App Apart with TTY::Prompt
Tags: cli, ttyprompt
Published: 2020-01-27 17:17:52

TTY::Prompt is a prompt tool for command line interface applications. Created by Piotr Murach, TTY::Prompt features an impressive lineup of prompt types for gathering user input, tools for validating said input, and can greatly improve the user experience of any CLI application. I came across this gem (literally and figuratively) when I was working on my first CLI project at Flatiron School and it elevated the user experience and look of my application. 

## Getting Started

To get started using TTY::Prompt, add `gem ‘tty-prompt’` to your Gemfile and then execute `bundle install` in the terminal. Alternatively, install it via `gem install tty-prompt` in the terminal. Then, inside the file where you will be using TTY::Prompt, add the lines: `require ‘tty-prompt’` and `prompt = TTY::Prompt.new`. 

## Usage

### prompt.ask

For simple input, use `ask`:
`prompt.ask('What is your name?', default: ENV['USER'])`
`# => What is your name? (christina)`

You can also easily validate input:
`email = prompt.ask(‘Please enter your email’) do |response|`
`	response.validate(/\A\w+@\w.\w+Z/)`
`	response.messages[:valid?] = ‘Invalid email address’`
`end`

### prompt.mask

Or if you want to input a password, you can use `mask`:
`prompt.mask(‘Please enter your password: ’)`
`# => Please enter your password: ••••••••`

### prompt.select and prompt.multi-select

Perhaps one of my favorite features is `select`. You can use this as a menu or question with a list of options that the user can scroll through to select a single option. One of the best side-effects of this kind of menu is that you don’t have to have validations for these inputs since the user is strictly limited to the options you provide. This can significantly clean up your code and improve user experience in one fell swoop.
`options = ["Write a review", "Edit a review", "Delete a review", "Back to main menu"]`
`prompt.select(‘Please select an option: ‘, options)`
`# =>`
`# Please select an option: (Use ↑/↓ arrow keys, press Enter to select)`
`# ‣ Write a review`
`#   Edit a review`
`#   Delete a review`
`#   Back to main menu`

Or if you want the option to select multiple items, you can use `multi-select`:
`options = %w(rock jazz pop electronic rap)`
`prompt.multi-select(‘Please select your favorite genres: ‘, options)`
`Please select your favorite genres: (Use ↑/↓ arrow keys, press Space to select and Enter to finish)`
`# ‣ ⬡ rock`
`#   ⬡ jazz`
`#   ⬡ pop`
`#   ⬡ electronic`
`#   ⬡ rap`

## Conclusion

This post is meant to give you a small introduction to some of the neat features and benefits that TTY::Prompt can provide to bolster your CLI project. I highly recommend checking out the [documentation](https://github.com/piotrmurach/tty-prompt) if you decide to add this to your project, there are many more features for you to explore.
How to Pick a Personal Domain?
Tags: discuss
Published: 2020-01-27 17:17:02

Hiya Friends! I'm going to be starting up my resume/portfolio/blog site soon and I need to get a domain, but what's the best kind of domain for me? 

* firstname.lastname?
* lastname only?
* initialsLastname?
* .com? .net? .pizza?

How did all you folks pick yours?
Use PHP-Parser to test PHP before eval()
Tags: php
Published: 2020-01-27 17:04:05

I recently had an issue where I needed to comb through some logs and pull out some data. The data had been logged through Monolog and so it was valid PHP.

Except the logs were corrupt. The logs had been written under a period of heavy load and so some of the entries were corrupt. The file "comber" couldn't detect if the output was valid. But the only way I am aware to actually turn valid PHP into a real PHP structure is `eval()`.

However, `eval()` presents a problem. If you pass in invalid PHP, you'll get a `ParseError` and execution will stop.

Enter https://github.com/nikic/PHP-Parser.

By adding this above my call to `eval()`, I could avoid any corrupt values getting passed through:


    use PhpParser\ParserFactory;

    $parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7)

    // ...

    try {
        $parser->parse($buffer);
    } catch (Error $error) {
        echo "Parse error: {$error->getMessage()}\n";
        return;
    }

    eval("\$a = $buffer;");

    // No more parse errors!

Worked as expected—no more `ParseError`s were raised and the logfile combing efforts were successful.
Booting WSL2 faster
Tags: wsl, windows, dev
Published: 2020-01-27 17:01:28

---
title: Booting WSL2 faster
published: true
description: Recently WSL2 becomes slower, for me, to be ready to code. This tip can help.
tags: wsl, linux, windows, dev
---

# What is WSL2?

For those who don't know what is this. Basically, it is a Linux kernel running in a lightweight VM inside of Windows 10. Allowing you to install some distributions like Ubuntu, Arch, and Debian.

This version 2 becomes with many performances, and other, improvements, which makes it more usable for day-to-day coding.

## The Issue

I've been using the Ubuntu distribution, combined with Zsh + Oh-My-Zsh, and recently it's started going really slow during the boot time.

Time to start using the terminal has increased a lot and I didn't change any configs, only updated the Windows. The time to code was more than 20 sec.

## Possible Solution. Worked For Me

Reading through a lot of Github Issues on [WSL repo](https://github.com/microsoft/WSL), I found one comment that suggests turn off the Windows Firewall. Lots of people upvoted this solution. To my surprise, It worked.

Don't ask me why this worked. I'm not too familiar with how all those things work, but maybe something blocks the process during some check steps in the firewall. Like an anti-virus that slows some application.

In case you have had this kind of experience and solved, or know why to turn off firewall works, drop a comment.
MozApartment
Published: 2020-01-27 17:00:07

As always we are surprised by our mozmeet location, so was this time. The mozmeet was organized at our Mozmeet Rep Pranshu’s friend’s apartment. (Pranshu lives in Surat :/ ).
And also this time we had a good amount of people gathered for the mozmeet. The room was compact but somehow we managed somehow!

The main motive for the mozmeet is to discuss the upcoming events, arrangements & all the techy & non-techy talks. So the meet began with the introduction of some new fellas. They also spoke about their domain of interest. After a brief introduction, Pranshu Bhaiya took over. He explained the need of the community. He explained how one learns as well as helps to learn others & what role it plays in an individual, how it helps to enhance oneself.

The clock passed by, so the discussion. Pranshu bhaiya explained about the upcoming Mozilla Web Browser called Mozilla Preview. From there onwards he started explaining about the upcoming Mozilla event i.e Mozilla Preview BugHunter which was scheduled on the upcoming week. He shared about the event objectives & highlights. (For the folks who are pondering about Mozilla Preview it’s a lighter and faster).

Some of the highlights of Mozilla Preview are as follows:


Faster than ever: Firefox Preview is up to 2x faster than previous versions of Firefox for Android.
Fast by design: with a minimalist start screen and bottom navigation bar, Preview helps you get more done on the go.
Stay organized: Make sense of the web with Collections, a new feature that helps you save, organize, and share collections of sites. Quickly save and return to tasks like your morning routine, shopping lists, travel planning and more.
Tracking Protection on by default: Everyone deserves freedom from invasive advertising trackers and other bad actors so Firefox Preview blocks trackers by default. The result is faster browsing and fewer annoyances.




With Firefox Preview you’re browsing the mobile web faster, more efficiently and more privately

The discussion moved further, talks started on latest tech talks. Topics like Firefox Focus, Google Stadia, Fuschia OS, Huawei & all the stuff. The best part of the Mozmeet is that everyone loves to share their opinions, knowledge and ideas. This is the reason I just  💖
this community. When the meet ended we realized that we had nearly 7 hours of discussion! :)

That's all Folks, for now, See you soon.
Support for 64-bit Android App Development in EntityDAC
Tags: delphi, android, dataaccess
Published: 2020-01-27 16:53:56

---
title: Support for 64-bit Android App Development in EntityDAC
published: true
description: Devart released EntityDAC 2.3 with support for the Android 64-bit platform, fully-functional trial version for macOS and Linux, and some other important improvements.
tags: Delphi, Android, Data Access
---
*Devart released EntityDAC 2.3 with support for the Android 64-bit platform, fully-functional trial version for macOS and Linux, and some other important improvements.*

Devart, the leading provider of database management software, connectivity solutions and developer tools, released the new version of [EntityDAC 2.3](https://blog.devart.com/entitydac-now-supports-android-64-bit.html), a Delphi ORM framework for fast object-relational mapping of database objects to Delphi classes using LINQ. 

The key update in this release is support for 64-bit Android app development, following the release of RAD Studio 10.3.3 that includes a new Delphi compiler for the ARM platform. In RAD Studio 10.3.3, you can build Google Play Store ready Android 64-bit applications, complete with Android App Bundle Support — the official publishing format for Android apps.

The new version of EntityDAC will come in handy since, starting August 1, 2019, apps published on Google Play need to support Android devices with 64-bit architectures, which means publishers are required to provide 64-bit versions in addition to 32-bit versions.

The trial editions of EntityDAC for macOS and Linux are fully functional: the vendor removed the limitation on the number of ORM metatypes that users can create with the trial version of EntityDAC on these platforms.

To learn more about the recent release, visit — https://blog.devart.com/entitydac-now-supports-android-64-bit.html.

**About Devart**
Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects.
For additional information about Devart, visit https://www.devart.com/
Review of youtube series -Build a Project with GraphQL, Node.js, MongoDB and React.js by Academind -Part 1
Tags: graphql, node, mongodb, react
Published: 2020-01-27 16:38:40

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ksfadta67xmfi83h9fvr.jpeg)

As i had told in my earlier [series](https://dev.to/nabendu82/build-spacex-fan-site-using-graphql-with-react-and-apollo-client-1-1c6k), that i had started working on React, Graphql and Apollo client at work so it was time to refresh the concepts.

After the last mini series i wanted to create something big, which cover things in more details. On searching through YouTube i found a course by one of udemy top instructor **Maximilian Schwarzmüller**, who is also known for his company **Academind**. The course **Build a Project with GraphQL, Node.js, MongoDB and React.js** link is [here](https://www.youtube.com/watch?v=7giZGFDGnkc&list=PL55RiY5tL51rG1x02Yyj93iypUuHYXcB_)


The course is very long an approx 8 hours. The course is a very detailed one and is like any of **Maximilian's** paid udemy courses.

It contains of 23 videos and each of approx 25 mins. The first 10 videos contains of server side of the code and i completed these videos. I didn’t found any errors in the code as this series is quite new and recorded on 14 Feb 2019.

There are a lot of changes in Graphql since the first release and many of the courses have a lot of bug but i didn’t found any till video 10.

The project is about building a Event booking app, in which a user can login and create Events. Then other users can book this event.

I had taken one of **Maximilian’s** udemy course on [Angular 8](https://www.udemy.com/course/the-complete-guide-to-angular-2/learn/lecture/10415888#overview) and he teaches in great detail and from the smallest details.

In this course we start by setting up NodeJS and then moving to GraphQL. We are not taught much of NodeJS as more focus is on GraphQL.

![app.js](https://cdn-images-1.medium.com/max/2880/1*EOZkL4so2vl22Ps1OEs_4Q.png)*app.js*

After that we setup the MongoDB in the cloud with it’s free service. After that we add relations in GraphQL and other stuff related to it.

![schema](https://cdn-images-1.medium.com/max/2880/1*DKr_qE96X4k4B-HiQ3Vpqw.png)*schema*

We also constantly create the mutations and queries in GraphQL to test our code.

![mutations](https://cdn-images-1.medium.com/max/2880/1*Q1n76EiBOr_Lts7sXIXxKA.png)*mutations*

We also do a good refactoring of the code by creating smaller component in Video 9. After that **Maximilian **ends the server part in video 10 with jwt authentication.

![jwt](https://cdn-images-1.medium.com/max/2880/1*zYSsuxjEctfBMplt8tssOg.png)*jwt*

I had complete the code till part-10 and can be found in my github repo [here](https://github.com/nabendu82/GraphQLeventBooking).

Till now it’s a great course although some videos are a bit complicated and need to be done again.

I will give the next review after i complete the React part and the course. After completing the course i will take the learning and create something of my own.

See you soon.
Part 1: I'll do keyword research for your side-project!
Tags: seo, sideprojects
Published: 2020-01-27 16:38:26

---
title: Part 1: I'll do keyword research for your side-project!
published: true
description: 
tags: seo,sideprojects
---

If you're thinking of focusing on SEO for driving traffic to your side-project, let's work together.

Coming up with keywords and determining where to focus your efforts around SEO can be tough.

Here's what we can do to collaborate:

1. Comment your side project below
2. I'll reply back with some keywords you can go after to start generating organic traffic to your project

Let's get started!


PS. If you want to learn more about SEO, check out my course on it <a href="https://gum.co/seo-for-profitable-side-projects">here</a>!
Friday Night Deploys: #10 The Startup From Hell Part 2
Tags: podcast, jokes, webdev
Published: 2020-01-27 16:30:09

Last week the DevPlebs talk about: Getting slapped with a DMCA notice! Calling out Joshua Fluke! Debating if every Brad is terrible! George Lucas's jowl! A small amount of web development content! Filler episodes! A cattle of interns! ActionScript being the new Star Wars! Working your way up the corporate ladder by driving your boss to work! Watching online chess! Comically deflating like a cartoon character! Giving your opponent your biggest weak points! A devastatingly will-crushing Kickstarter! A BILLION USERS! Missing the mark on Facebook games! Cheating on your spouse! Centipede camp! An actual fan email!

## Listen to The Full Episode!
{% spotify spotify:episode:6qW1oIP9KPDJwm7QIt4Fwv %}

**We're also on...**
**Apple Podcasts:** https://podcasts.apple.com/us/podcast/friday-night-deploys/id1485252900 (Episode may not be up on their site because apple podcasts are slow, usually shows up in their app)

**Google Music Podcasts:** https://play.google.com/music/m/Dtvyj6xmcttel6gk6mhwunsm53q?t=10_The_Startup_From_Hell_Part_2-Friday_Night_Deploys

**Our Website:** https://www.devplebs.tech/friday-night-deploys/10-the-startup-from-hell-part-2/

## Get In Touch With Us!
If you would like to share your crappy startup stories that you want us to read out in the next episode you can reach us at the following...

**Twitter:** [@DevPlebs](https://twitter.com/DevPlebs).
**Email:** deadbeats@devplebs.tech

## Follow Our Twitters... If You Want!
[DevPlebs](https://twitter.com/DevPlebs).
[Keith Brewster](https://twitter.com/brewsterbhg).
[Phil Tietjen](https://twitter.com/phizzard).

You can also ask questions or give us some feedback about the show!
init 1 - Failure
Tags: career, beginners
Published: 2020-01-27 16:25:21

A follow up to my last [post](https://dev.to/rewriteinrustp1/init-1-trying-to-enter-the-dev-world-1acc). 

I had an interview with an amazing company. My code challenge went well, and I got to have an in person interview. While I thought it went well, the interview seemed very short, and by the end of the week I was informed I did not proceed to the next round of interviews. 

Not quite sure what happened. I've been wracking my brains on what happened. Did I give bad answers? Did I not seem like a cultural fit? Do I have the wrong skill sets? Guess I won't ever get answers. I did reply back asking for feedback, but I doubt I will get any. 

Am I disappointing/demotivated? Yup. But I guess this is just the game, and I just have to keep going. Kinda feels like a real bad breakup but oh well. 

Going to this office though has made me realize how much I'd rather prefer working with a small or mid size company than a large one (in my current work, I'm in a large company providing services to other large companies). It was nice to see how people from a small company are more passionate and caring about the work they do.

So pro's to this experience: 

- I got some in person interview experience.
- I have confidence that I can do well in coding challenges. 
- I know more about the size of company I wan't to work for.


Guess I'll just keep up the grind.