teleren/devto huggingface dataset:
How to get motivation back
Tags: motivation, productivity, career
Published: 2019-12-19 15:24:59

These last couple days I've also been really unmotivated. My brain has been going every which way and I haven't been able to focus on anything for too long unless I see an immediate payoff. 

Then I came across this tweet:

![Dan Koe Tweet](https://thepracticaldev.s3.amazonaws.com/i/wi9qkgcleduoo7o771nu.png)

The answers can change but this really got me thinking about how far you can go if you put your mind to it and kind of gives more direction when you start thinking about the larger goals. I think about this all the time but I think I need to make a giant glowing sign with it on to see every morning.

Sometimes just thinking about goals doesn't help. Sometimes thinking about the future can be overwhelming. Just as looking up motivational quotes and looking at the Instagrams and videos of people who inspire you can have the opposite effect.

Here is how I've gotten back on track in the past: 
<ol>
<li>List everything I need to do the rest of Dec, Jan/Feb, end of 2020, and goals for 2025 (I'm going to be honest there's a 99% chance the 2025 ones will change but just to get myself thinking of where I could go).</li>
<li>Make a plan. Put together a plan of what workouts to do what days, what lessons/ tasks to get done with and how many quality job applications to do each day. This helps with creating actionable and reasonable goals.</li>
<li>Put app timers back on and cut some back. My phone has app timers included and I have them set for a reasonable amount of time.</li>
<li>Get back to the gym. I've found when I'm physically in good shape my mind is a lot more with it and I think I'm finally over my cold.</li>
<li>Morning study sessions. It's so hard for me to pay attention to things after work. I honestly have no clue why. I tell myself I'll do something and hours later I still haven't done that one thing. So morning sessions help with that</li>
</ol>
Even going through the motions to try to get back on track sometimes helps. I think taking some time to plan out your upcoming days and get excited about life and changes will help a ton. 
<h3>How do you get your motivation back?</h3>
View full article here: https://jkimexploring.wordpress.com/2019/12/19/how-i-plan-to-get-my-motivation-back
What is Optional Chaining and Nullish Coalescing? (ES2020)
Tags: typescript, es2020, optionalchaining, nullishcoalescing
Published: 2019-12-19 15:23:42

## The Quick Answer

These are two of the new features to be implemented in the ES Standard in 2020. So while they don't become official Javascript till next year they are already usable in Typescript 7.3 and in the latest version of Google's V8 javascript engine which powers google chrome and node.

My Video illustrating both features: https://www.youtube.com/watch?v=1Vho--vDhQM

## Optional Chaining

You sometimes will get runtime errors when you try to refer to an object property that does not exist. I have this issue often times with iterating arrays from API calls where some items in the array may not have a particular property. 

in this situation I would have to do the following:

```
if (object.property){
variable = object.property;
}
```

With optional chaining, I can do the following...

```
variable = object?.property
```

The '?' at the end of the property tell the interpreter to return null if the property doesn't exist avoiding the runtime errors of the past and just looking a lot more elegant.

## Nullish Coalescing

When establish a default value when there was uncertainty if the desired assignment has a value would usually be done like so...

```
myNewVariables = possibleVariable || defaultValue;
```

If possibleVariable had a truthy value it would assign it, if not, defaultValue would be assigned. The problem is the situations in which you may want to assign 0 or false. This method would evaluate those as falsely and assign the default value.

This is our new solution!

```
myNewVariables = possibleVariable ?? defaultValue;

```

This new '??' operator will only return the default value if the first express is null or undefined, so 0 and false would be assigned.

##Conclusion

New tools like these make our code more elegant and our stress in finding workarounds less. Although there is always the issue of browser compatibility which why typescript is such a killer tool. Use all the newest Javascript features plus typing and just compile down to ES5 when your done, no wonder typescript use is growing so quickly.
NodeJS http homepage 20: request url with link menu
Tags: node, http, request, url
Published: 2019-12-19 15:01:34

<hr />

<center>Happy Coding</center>

<hr />

{% codesandbox nodejs-http-homepage-20-request-url-toxhe initialpath=/about %}

This is next step from previous post {% link antelove19/nodejs-http-homepage-10-hello-world-46hj %}

In this post, we will add content <b>home</b>, <b>about</b> and <b>404</b> page with link menu using <b>reg.url</b> for checking

Ok, let's write on again.

for `home` page

```javascript
    if ( req.url == '/' )
    {

        res.writeHead( 200, { 'Content-Type': 'text/html' } );

        res.write( '<h1>Hello World in NodeJS HTTP</h1>' );
        res.write( '<p>NodeJS easy-to-learn</p>' );        

    }
```

for `about` page

```javascript
    else if ( req.url == '/about')
    {

        res.writeHead( 200, { 'Content-Type': 'text/html' } );

        res.write( "<h1>About me</h1>" );
        res.write( "<p>I am developer</p>" );
        res.write( "<p>I love programming</p>" );        

    }
```

for `404` page

```javascript
    else
    {

        res.writeHead( 404, { 'Content-Type': 'text/html' } );

        res.write( '<h1>Page not found</h1>' );

    }
```

and, close it

```javascript
    res.end();
```

<hr/>

<center>Thank for reading :)</center>

<hr/>
Baby's First Denial of Service
Tags: javascript, forgiveness, securityiguess, denialofservice
Published: 2019-12-19 14:59:07

---
title: Baby's First Denial of Service
published: true
description: How I accidentally took down a friendly developer's personal site
tags: javascript, forgiveness, securityiguess, denialofservice
---

Today, while waiting for a build to finish, I ended up on a developer's personal website. It had this super cute little widget in the bottom left.

![Screen grab of fist bump icon thingy](https://thepracticaldev.s3.amazonaws.com/i/cw3j0r398r5jdckgs4lm.png)


A little icon of two fists about to bump. D'awh. 

And it had a counter!! The counter counts how many times the fist bump has been clicked. Kinda reminded me of those page-view counters on Geocities sites.

At any rate, I was curious how the counter was implemented. 

I cracked open dev tools and saw that each click sent a `GET` request to `/api/bro.php?add=1`.

An attempt to add **ONE-THOUSAND BUMPS** with `?add=1000` did not work. There was still a `200` response, but the counter didn't jump up 1000 bumps. Shucks.

```js
// BTW I added the header to be consistent with the site owner's api call
fetch('/api/bro.php?add=1000', {
  headers: { 'x-requested-with': 'XMLHttpRequest' }
}) 
```

Poking around more, I noticed that the page would limit me to 10 fist-bumps through the UI, but refreshing the page would give me 10 more bumps.

**Unlimited bumps!!!**

His site was not setting any sort of tracking-related stuff (no cookies, no identifiers in local storage, etc), so I assumed he wouldn't have a way to rate-limit a large number of API requests for those sweet, sweet bro-knucks.


That's when I got a little too... _spirited_.

In my defense, I really wanted one-thousand more bumps. But I wanted to be nice to his api.

So, I spaced out one-thousand requests, trying to average about 60 requests a second:

```js
Array.from({ length: 1000 }).forEach((meh, i) => {
  setTimeout(() => {
    fetch('/api/bro.php?add=1', { headers: { ['x-requested-with']: 'XMLHttpRequest' } })      
  }, i * 17)
});
```

Within a few seconds, the requests started failing.

Then, I tried reloading the page.

It was down.

I oscillated between laughing a lot and feeling bad for this guy.

After another minute or two, the site was still down. I assumed it had not gracefully restarted. So, I found his contact info on Dribbble and sent him an email apology.

He was not mean, but also did not seem to be amused.

His site was back up and running in 10 minutes or so, but he hasn't responded to me since then. I don't wanna push it, you know?

If I can confirm with him that he has a fix for this, I'll post a link to his website. (It's really really really good!)

That's least I could do, right?
Best Test Software Testing Tools
Tags: testing, productivity, java
Published: 2019-12-19 14:18:56

<h2 style="text-align: center;">Best Test Software Testing Tools</h2>
<ul>
 	<li>Appium</li>
 	<li>Serenity</li>
 	<li>Behave</li>
 	<li>Jenkins</li>
 	<li>Jmeter</li>
 	<li>Apache CXF</li>
 	<li>Soap UI</li>
 	<li>Protractor</li>
 	<li>QuickCheck</li>
 	<li>Cucumber</li>
 	<li>Rspec</li>
 	<li>LoadRunner</li>
 	<li>Sikuli</li>
 	<li>NeoLoad</li>
 	<li>Ranorex</li>
</ul>
<h2 style="text-align: center;">Best Test Software Testing Tools: Reviewed</h2>
<h5><em><strong>Yevhen Kryvun, Head of Automated Testing Department at Romexsoft</strong></em></h5>
Here are my<strong> top automation tools for mobile testing projects</strong> (Android, iOS, hybrid apps and mobile web):

<a href="http://appium.io/" target="_blank" rel="noopener noreferrer">Appium</a> offers powerful client libraries for languages that we use for scripts implementation (Python, Java). Appium is open source, works on every notable operating system, and, the best of it all - works for iOS and Android. Also Appium uses UI Automation for iOS and UI Automator for Android JavaScript libraries, which allows us to gain access to native UI elements on application screens.

Serenity – a powerful BDD library for creating automation scripts in Java, verification web applications, collecting errors and combining all the results into easy-to-read, visual reports. This library is the best choise if you are choosing among Java software testing tools. <em><strong>Bonus: </strong></em>could be used as a script library for Appium.

Behave – another powerful BDD library for creating automation scripts in Python. We prefer using this library as it speeds-up automation scripts creation, compared to Serenity. We have developed a powerful testing framework based on it for <a href="https://www.romexsoft.com/test-automation-services/" target="_blank" rel="noopener noreferrer">developing automation tests</a> in-house.

Jenkins – a continuous integration server for running automation test on demand and improving release process. We use Jenkins to send emails both in case of errors and success builds.

Listed instruments are open source automation software testing tools, so you don’t need to worry about additional licensing. Also to higher application performance you can combine these tools.

Read More: <a href="https://www.romexsoft.com/blog/testing-tools/">Best Test Software Testing Tools: Reviewed</a>
NodeJS http homepage 10: hello world
Tags: node, http, helloworld, beginners
Published: 2019-12-19 14:11:39

<hr />

<center>Happy Coding</center>

<hr />

{% codesandbox nodejs-http-homepage-10-hello-world-u3nro initialpath=/ %}

In this moment, we will created "Hello World" in NodeJS HTTP using a sandbox online, cause fast, effective and efisien.

Ok, let's write on

```javascript
const hostname  = 'localhost';

const port      = 3000;
```

then, load the **HTTP** module

```javascript
const http = require('http');
```

next, create http server

```javascript
const server = http.createServer( function ( req, res ) {

    res.writeHead( 200, { 'Content-Type': 'text/html' } );

    res.write( '<h1>Hello World in NodeJS HTTP</h1>' );

    res.end();

} );
```

and last, use listen method with callback function for display message 

```javascript
/* port, hostname, callback */
server.listen( port, hostname, function () {

    console.log( `Server running at http://${hostname}:${port}/` );

} );
```

<hr/>

<center>Thank for reading :)</center>

<hr/>
Giving Thanks for Diversity in Tech: Maria Lamardo
Published: 2020-01-07 00:24:01

---
title: Giving Thanks for Diversity in Tech: Maria Lamardo
published: true
date: 2019-12-19 14:08:35 UTC
tags: 
canonical_url: https://www.thisdot.co/giving-thanks-for-diversity-in-tech-maria-lamardo
---

![hKTG0yiY](//images.ctfassets.net/zojzzdop0fzx/3gza1Dey9EycPln9PQD6JG/a8c2622589e3a49d7af7e41678a65302/hKTG0yiY.jpg_small)

Maria Lamardo is a Front End Engineer at Pendo, who works with Vue.js and has a particular passion for web accessibility. She is a very active community organizer in the RTP area of North Carolina and beyond, serving as the founder of Devs@RTP, the NC Chapter leader for Vue Vixens, and the Co-Founder of A11y Devs.

Maria has had an amazing year on the conference circuit, having spoken at VueConf US, DevFest, Vue London, All Things Open, and Vue Toronto about various topics on Vue as well as Web Accessibility.

When asked about Diversity and Inclusion, Maria shared that, “Inclusion means that everyone is treated fairly and with respect; everyone should feel welcome and have their ideas heard”, adding that she feels that having more diverse hiring panels is a great first step to creating more inclusive workspaces.

Maria is able to do her part to contribute to tech diversification with her work in Vue Vixens, which runs free workshops for women in tech. “ It is very important for us to be the change we want to see in the world and putting myself out there is it for me,” says, Lamardo, “I love my community and helping people grow and succeed.” She is also very excited to be launching, “Devs@RTP Teens” an offshoot of the original organization built specifically for young people.

If you would like to see Maria speak, you can catch her in 2020 at Vue Amsterdam, Vue Vixens Day, as well as VueConf US!  And if you are in the RTP area, she invites you to attend a Vue Vixens workshop, the A11y Devs Meetup, an event hosted by Devs@RTP!

Want to keep up with everything Maria is doing in this next year?  You can follow her at [@MariaLamardo](https://twitter.com/MariaLamardo)!
What are HTML Semantic Elements?
Tags: html, latestposts
Published: 2019-12-26 18:18:38

---
title: What are HTML Semantic Elements?
published: true
date: 2019-12-19 13:52:58 UTC
tags: HTML5,Latest Posts,html,html5
canonical_url: http://robdoylecreative.com/what-are-html-semantic-elements/
---

Have you noticed that since the introduction of HTML5 the use of the plain old div has become less common?. There was a time when a div was used for everything, however, these days it is far more important to give your tags specific meanings to describe what you are doing with your code. Before […]

The post [What are HTML Semantic Elements?](http://robdoylecreative.com/what-are-html-semantic-elements/) appeared first on [Rob Doyle Creative](http://robdoylecreative.com).
Play Minecraft with friends easily using CYOMS. 👨‍💻👩‍💻
Tags: showdev, tutorial, tool, application
Published: 2019-12-19 13:32:28

### **Craft Your Own Minecraft Server (CYOMS)** is a desktop application to easily create and configure minecraft servers.

_Want to play minecraft with friends, but don't know where to start? This is just the right tool for you!_


### Step 1 - Download CYOMS from Official Website:-

# https://cyoms.tech

Visit Official website for downloading latest version of CYOMS and to view a detailed server setup using Hamachi.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/zfhqzb9mdkprm3a9tz0j.gif)


### Step 2 - Configure & Select Folder to create server

CYOMS provides full vanilla support and will soon support craft-bukkit and spigot support.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/dynolhel5pr7y3i4jtf9.gif)


### Step 3 - You are all set, launch & test the server :)

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/3xhip3o8ffw3nn0pp84r.gif)

# Feel free to share your experiences and ideas to improve CYOMS. Happy Crafting ⚒️😄
Creating a NoCode Ecommerce store with Webflow
Tags: nocode, visualdevelopment, showdev
Published: 2019-12-19 13:27:11

# Howdy!

As a software engineer I've been super eager to learn and understand more about this No Code movement. So much so that I figured while I go through this learning process it would be great to screencast each of my new learnings.

Here is my first one, creating a No Code Ecommerce store with Webflow. Would love some feedback!

{% youtube xKvmimqchlc %}

For those who are interested, here it is on my site: 

https://nocodequest.com/ecommerce-with-webflow
Modern Landing Page Using Page.js
Tags: css, html
Published: 2019-12-19 13:06:19

Modern Landing Page Is make your website more attractive and the user can spend more time on this type of website. So here we designed Beautiful Modern Landing Page Using Page.js with attractive looks.

Page.js is a Single page web framework with minimal use of javascript and routing.  Using this web framework you can show pagination and external links with awsome transitions effects on scroll and clicks. Here we used Page.js CDN and some global scripting and page.js modules.  On this landing page, we used autoscrolling, navigation tooltip, and anchor functions. This is a responsive landing page with a mobile and tablet side. You can use this landing page to design your personal portfolio or and single page landing page for business and etc.

https://w3hubs.com/modern-landing-page-using-page-js/
Why Do We Use the .NET Stack?
Tags: dotnetdevelopment
Published: 2019-12-19 13:02:10

What are the key benefits of building #software on #DotNet stack?

✅It performs fast on various platforms for a long time
✅It is scalable and integrates easily with existing solutions
✅The code is secure and error-free
✅It is simple to deploy and execute on a server and client

Get more information: https://anuitex.com/technologies/dot-net-development
Load testing mistakes; how not to save passwords; and Go's best practices
Tags: todayilearned, webperf, go, security
Published: 2019-12-19 13:00:11

*TL;DR notes from articles I read today.*

### [Four load testing mistakes developers love to make](http://bit.ly/2PDhMKx)

- If you run a short load test and it works fine, it is no guarantee that your service can handle that load for a long time. You should run your performance tests for more time and understand your system’s performance characteristics.
- Being too focused on what you set out to test and ignoring any other warning signs while testing is a common mistake developers make. It’s good to pay attention and investigate unusual results or changes in your application’s behaviour as you increase load.
- Reusing test data is another common mistake. You should either generate new data or spin up a new environment for each test.
- Assuming the production environment is perfectly healthy permanently. Deliberately make things to go wrong during your load test to find out how your service will perform if such failures happen. 

*[Full post here](http://bit.ly/2PDhMKx), 7 mins read*

---

### [How not to store passwords](http://bit.ly/2Q1aXkT)

- It can’t be said enough - do not save passwords in plain text. 
- Encryption is only slightly better than plain text. It is not THE answer for sure. 
- Plain hashes are pretty weak too. They are vulnerable because users tend to replicate the same passwords for different websites and they also use very simple passwords making it easy to crack. 
- Salted hashes are much better at protecting passwords. But the speed at which hashes can be calculated by attackers makes brute-force attacks reasonably possible. 
- One of the good options for storing passwords is key derivation functions. They require more compute time to get cracked which means an attacker needs to spend more money to crack them.

*[Full post here](http://bit.ly/2Q1aXkT), 7 mins read*

---


### [Go: best practices for production environments](http://bit.ly/2SdFxL3)

- Use a single, global GOPATH for your development environments. Try cloning your repos into their canonical paths within the GOPATH, and work there directly.
- For repository structures, a good practice is to limit the number of source files. Your repos (with the exception of a vendor subdirectory) shouldn’t contain a directory named src, or represent their own GOPATH.
- When it comes to passing configuration, *package flag* provides the best value and has strict typing and simple semantics.
- Formatted code can significantly increase clarity. Use *gofmt* to format your code.
- For logging and telemetry, try using *package log* that implements a simple logging package. It defines a type, logger, with methods for formatting output.

*[Full post here](http://bit.ly/2SdFxL3), 11 mins read* 

---

*[Get these notes directly in your inbox every weekday by signing up for my newsletter, in.snippets().](https://mailchi.mp/appsmith/insnippets?utm_source=devto&utm_medium=post08&utm_campaign=is)*
New App: iHog OSC Lighting Remote
Tags: newapp, release
Published: 2019-12-19 12:48:30

---
title: New App: iHog OSC Lighting Remote
published: true
description: A blog post for my new app
tags: newApp, release
cover_image: https://github.com/maeganjwilson/iHog/blob/master/posts/images/iTunesArtwork@2x.png?raw=true
canonical_url: https://blog.appsbymw.com/posts/new-app-ihog-osc-lighting-remote-1b1i/
---

It's time to release another app! It's called iHog4 OSC Remote. It's an app that sends [Open Sound Control](http://opensoundcontrol.org/introduction-osc) (OSC) commands to [Hog 4 lighting consoles](https://www.highend.com/products/consoles). This app is only available on iPadOS 13 and above.

# But why? Don't other apps exist for this?

There are already some options out there for this like TouchOSC and Hog4Remote, and those are great options, but there is one feature that they are both lacking. That feature is being able to select fixtures from a group and put them in a palette. This was the whole point of making the app because it is something that I felt would be really useful.

![](https://github.com/maeganjwilson/iHog/blob/master/posts/images/groups-palettes.png?raw=true)

# Features of the app

You can add your own lists, groups, scenes, and palettes. You can edit the name, the number that they need to trigger, and the color of the object.

![](https://github.com/maeganjwilson/iHog/blob/master/posts/images/list-edits.png?raw=true)

Also, when configuring OSC, you don’t need to change any ports around. It’s clearly labeled that you can enter the console’s input port and the console’s output port to start OSC communication.

![](https://github.com/maeganjwilson/iHog/blob/master/posts/images/osc-settings.png?raw=true)

# How much does it cost?

It's a one time purchase of $1.99. There are in-app purchases to help future development. There is no pressure to do this, it is 100% optional and does not impact the apps features.

# How to download

It is available to download on the App Store!
[![Download on the App Store](https://raw.githubusercontent.com/maeganjwilson/artnet-converter/master/docs/images/download_app_store.svg?sanitize=true)](https://apps.apple.com/us/app/ihog-osc-lighting-remote/id1487580623?ls=1)

# Need more info?

If you need more information, here are some links for you!

[Public GitHub](https://github.com/maeganjwilson/iHog): This is used for issue tracking like if there is a bug or feature. I like to be open about what is currently being worked on and this is where you should go to see that.

[Website](https://ihogapp.com): This is a website that holds the release notes and support information

[Guide](https://www.notion.so/appsbymw/Guide-622fbf22e0d6469f9608a8447c68927d): This is a guide of how to use it.