teleren/devto huggingface dataset:
Is Ember App Upgrade Easy?
Tags: ember, upgradeember, versionupgrade, update
Published: 2019-07-17 12:22:38

Off-course yes, it was easy to achieve with few commands.

# What to expect
Upgrading ember app it depends on whether the app having patch, minor and major version update.
- Patch Change -> 3.4.1 to 3.4.3
- Minor Change -> 3.4 to 3.5
- Major Change -> 3.0 to 4.0

### Patch Change

Mostly in patch version update, internal refactors and bug fixes are introduced and also changes in dependency version in ember.

### Minor Change


In minor version update, new feature are introduced and **developers should notice the deprecations**. In minor change, ember core team will not completely remove the deprecation changes. It will log in console as deprecation warnings, may be future(major change), it will be completely removed.

### Major Change

In major change update, breaking changes are introduced, So developers should ensure the deprecations before upgrade the app.

## How to do an upgrade


As i said, it was easy and do the following

- Step 1: Install npm package [ember-cli-update](https://www.npmjs.com/package/ember-cli-update) globally.
- Step 2: Run the following command, it performs ember init jobs for **latest version** with current app.

```
ember-cli-update --resolve-conflicts
```

- Step 3: Mostly in major version, code changes are very difficult. But no need to worry about it. Ember solves it in single command. Run the following command,
```
ember-cli-update --run-codemods
```

The above command will list the codemods like the following image 

![](https://thepracticaldev.s3.amazonaws.com/i/7g075jvpdx9hjeizvfkm.png)

#### So What is codemods?

Codemod is a tool/library to assist you with large-scale codebase refactors that can be partially automated but still require human oversight and occasional intervention.

By running codemod, it overrides allover inside the ember app. 

**Pretty Cool?**

If you want to update specific version, run the following command.

```
ember-cli-update --to 3.4.3
```
## Trouble shooting

If you want to revert the change, run the following command, it will get you back before the update.
```
git reset --hard
git clean -f
```


### Options for ember-cli-update command:

![](https://thepracticaldev.s3.amazonaws.com/i/m8rotm0u7lxf93aeexdy.png)

Ready to kick start ember version upgrade?

Hope you figure out the concept well. Thanks for reading.
🛠️ Make Dynamic Email Template With JSON Data
Tags: email, marketing, dynamic, json
Published: 2019-07-17 09:05:35

---
title: 🛠️ Make Dynamic Email Template With JSON Data
published: true
description: Generate Email Template Code with Dynamic JSON Data or API and Get the generated email template code to use into MailChimp, Sendgrid or whatever service you are using to send newsletters.
tags: Email, Marketing, Dynamic, JSON
---

You guys know sending weekly newsletter is so hard job to design email with dynamic data. I'm running an website called [Public APIs](https://public-apis.xyz). So, I also send weekly newsletter about top most APIs of the week. So, It's hard for me to copy paste title, link, image and description into email template code.

So, I was looking for a tool to do this automation with my JSON data or API. But there is no tool matching my requirements.

I decide to make an simple tool to do this automation.

Tool called Dynamic Template: [https://dynamic-template.xyz](https://dynamic-template.xyz)

## How I build it?

So, basically I convert my email code into Handlebars syntax to bind my dynamic data and iteration. Then Parse the Template with data into HTML.

## How to use:

{% youtube 02F3LLtSalM %}

Today I ship this tool on [ProductHunt](https://www.producthunt.com/posts/dynamic-email-template).

Let me know if this tool is useful for your email template automation.

Thanks 🙏
Python Web Programming with Tornado
Tags: python, tornado, web
Published: 2019-07-17 12:07:53

---
title: Python Web Programming with Tornado
published: true
description: python
tags: python, tornado, web
cover_image: https://proxy.duckduckgo.com/iu/?u=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2F3ouAEyjjVXZgk%2Fgiphy-downsized-large.gif&f=1
---
There are many modules to create web apps. Django and Flask are the most popular ones. But there are others, like Tornado.

How does Tornado work? It's actually quite simple. A single one page app is:

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    
    import tornado.ioloop   
    import tornado.web

    class HomeHandler(tornado.web.RequestHandler): 
        def get(self):
            self.write("hello, world")
    
    app = tornado.web.Application([ (r"/", HomeHandler), ])
    app.listen(8000)
    tornado.ioloop.IOLoop.instance().start()

Open localhost port 8000 on your web browser to see the hello world message. The script itself does not output anything in the terminal.

You can create different routes when initializing the tornado.Web.Application() call. Each route is a class.

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    
    import tornado.ioloop 
    import tornado.web
    
    class HomeHandler(tornado.web.RequestHandler): 
        def get(self):
            self.write("hello, world")
    
    class AboutHandler(tornado.web.RequestHandler): 
        def get(self):
            self.write("Mr President")
    
            
    app = tornado.web.Application([
    	(r"/", HomeHandler), 
    	(r"/about", AboutHandler)
    ])
    app.listen(8000)
    tornado.ioloop.IOLoop.instance().start()

Then you can open the / route or the /about route.

Related links:

* <a href="https://www.tornadoweb.org/en/stable/">Tornado Web Server</a>
* <a href="https://pythonbasics.org/">Learn Python</a>
* <a href="https://pythonbasics.org/exercises/">Python Exercises</a>
Working From Everywhere
Tags: remoteworking, remotework, greenscreen, chromakey
Published: 2019-07-19 14:17:56

---
title: Working From Everywhere
published: true
tags: remoteworking, remotework, greenscreen, chromakey
canonical_url: https://fortes.com/2019/working-from-home-green-screen
cover_image: https://fortes.com/media/2019-green-screen-montage-1.jpg
---

For the past year and a half, I’ve been working remotely for [Coda](https://coda.io). Fortunately, this has worked well since the company was already distributed with offices in California and Washington State.

Coda relies heavily on video conferencing, we use Zoom which has a [virtual background feature](https://support.zoom.us/hc/en-us/articles/210707503-Virtual-Background) that lets you choose a custom image as your backdrop, absolutely fooling all your co-workers into thinking that you’re not actually working from home (assuming your co-workers are as gullible as mine).

Zoom uses chroma key compositing to add a virtual background, which works best with a green backdrop since it doesn’t match non-Martian skin tones. I don’t like doing things halfway, so I decided to go all out and spend about $70 to buy a [green screen](https://amzn.to/2Ye3h4O) and [stand](https://amzn.to/32rIjip) in order to add to make the most realistic virtual scene possible.

The set up is relatively painless and can be done in a couple of minutes, as shown here by a handsome anonymous model:

{% youtube x0DWXTz-Kew %}

Every once in a while, I remember to take screen captures of the backgrounds I’ve used. I’ve collected a few here (I’ll try to update these, but no promises):

![](https://fortes.com/media/2019-green-screen-montage-2.jpg)<figcaption>Dogs and Cats live together at the US Open before the Benfica match in a Black Hole within the White House Sauna which arrived via NYC subway to the Indy 500</figcaption>

![](https://fortes.com/media/2019-green-screen-montage-3.jpg)<figcaption>English countryside in Bellevue / West Village with Winterfell's armies supporting Wreck-It Ralph in the Spider-Verse in Bliss on Mars in King's Landing.</figcaption>

![](https://fortes.com/media/2019-green-screen-montage-4.jpg)<figcaption>King's Landing gets Hamilton with source code in a doctor's office on the NYSE candle-lit floor inside an airplane hosting the Democratic debates with E.T. in the background.</figcaption>

Have suggestions for an upcoming background? Let me know!
Watchdog for File System in Python
Tags: python, code
Published: 2019-07-17 11:50:44

---
title: Watchdog for File System in Python
published: true
description: python
tags: python, code
---
The watchdog module can monitor file system changes. This is a Python module. File system changes happen all the time, saving files, deleting files and so on.

Lets say you monitor the Downloads directory. Well hurry up, how does this work?

<img src="https://proxy.duckduckgo.com/iu/?u=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2F3oz8xwjA7yu1VGIaac%2Fgiphy.gif&f=1">

Run the monitor script. Say you monitor the Downloads directory on your file system.

    python3 watch.py /home/YOURNAME/Downloads  

Enter the downloads directory and create a new file in a different terminal tab.

    cd Downloads
    echo "test" > tmp.txt

The script will tell you the file system has changed

    2019-07-17 13:37:32 - Created file: /home/YOURNAME/Downloads/tmp.txt
    2019-07-17 13:37:32 - Modified directory: /home/YOURNAME/Downloads
    2019-07-17 13:37:32 - Modified file: /home/YOURNAME/Downloads/tmp.txt

The code for this is very simple:

    #!/usr/bin/python3  
    #-*- coding: utf-8 -*-                                                                                                                                              

    import sys
    import time
    import logging
    from watchdog.observers import Observer
    from watchdog.events import LoggingEventHandler

    if __name__ == "__main__":
        logging.basicConfig(level=logging.INFO,
                            format='%(asctime)s - %(message)s',
                            datefmt='%Y-%m-%d %H:%M:%S')
        path = sys.argv[1] if len(sys.argv) > 1 else '.'
        event_handler = LoggingEventHandler()
        observer = Observer()
        observer.schedule(event_handler, path, recursive=True)
        observer.start()
        try:
            while True:
                time.sleep(1)
        except KeyboardInterrupt:
            observer.stop()
        observer.join()

First import the watchdog modules. Create an Observer object, set it to schedule and recursive. Then start it.

Related links:

* <a href="https://github.com/gorakhargosh/watchdog">Watchdog Module</a>
* <a href="https://pythonbasics.org/">Learn Python</a>
* <a href="https://pythonbasics.org/exercises/">Python Exercises</a>
Programming on the iPhone with Shortcuts
Tags: ios, productivity, tools, automation
Published: 2019-07-17 08:30:12

---
title: Programming on the iPhone with Shortcuts
published: true
description: Use Shortcuts to integrate and automate apps together
tags: ios, productivity, tools, automation
canonical_url: http://www.aungmoe.com/blog/tools/2019/07/14/programming-on-the-iphone-with-shortcuts
---

Once in a while, on the weekends, I wake up with the urge to check out what new apps are on the App Store. And this past weekend, I stumbled upon Shortcuts.

## What is Shortcuts?

Shortcuts allow you to integrate different apps and automate actions together. If you're familiar with [Alfred](https://www.alfredapp.com/), it is similar to Alfred Workflows. And how you build your actions and events is very similar to the [scratch](https://scratch.mit.edu/) interface. Shortcuts was developed by Apple and it was previously called Workflow. Now you know why I brought up Alfred Workflows 😃.

## So What Can You Do?

There are tons of things you can do with it. Here are a few:

* [Send ETA with a button press](https://www.icloud.com/shortcuts/61b2a783fd9d4b10b8832e0ee5bd77b5)
* [Share Location](https://www.icloud.com/shortcuts/fd6eb0568bcc45c9b6d962d206f2b3da)
* [Download files on the iPhone](https://shortcutsgallery.com/shortcuts/ios-download-manager/)
* Send pre-defined text message
* And many many more

You can find a whole list of Shortcuts that other people have posted on [ShortcutsGallery](https://shortcutsgallery.com/).

## Making Your Own

![Shortcuts](https://thepracticaldev.s3.amazonaws.com/i/924vkxttd31j4rs22m90.png)

These are pretty self explanatory if you have some experience with programming. You can do everything from setting variables, using variables, asking for user input from an input dialog, or show input result.

What makes Shortcuts so powerful is that you can integrate with many native apps. This gives it an edge over [IFTTT](https://ifttt.com/) which mainly gives you access to other published apps. I personally use both IFTTT and Shortcuts to suit my needs. Customize what you want and automate those repetitive tasks!
json ld to graphql schema
Published: 2019-07-17 11:45:01

Hi,
I have json ld. my requirement is to use this josn ld and pass to grahaql query.

Can anybody help me how will generate graphql schema from json ld.
I am not finding any help form different source.I will appreciate if gets help.

Thanks,
Rakesh kumar
Email id- rakesh.kumar.jdev@gmail.com
Firebase Cloud Storage alternatives
Tags: cloud, firebase, storage, permission
Published: 2019-07-17 11:33:46

---
title: Firebase Cloud Storage alternatives
published: true
description: Searching a Storage Solution
tags: cloud, firebase, storage, permission
---

Hi,

I have already worked with firebase and had created some great apps. But as I advance as a developer it feels a little bit restrictive.
For the next project I have planned to use graphQL with heroku. I found for almost everything firebase offers an alternative - but not for storage!

I mean there are thousands of solutions out there but the special thing about firebase cloud storage is to be able to have secutiry rules if wanted. 

Does anybody know an alternative with easy to setup security rules?

Regards!
Top 10 Node.js Development Companies you should hire in 2019

Tags: nodejswebdevelopmentcompany, nodejswebdevelopment, nodejsdevelopmentservices
Published: 2019-07-17 11:30:55


The node.js framework will give you faster web development. With Node.js you can create Real-time Web Applications. So, here is the list of Top 10 Node.js Development Companies you should hire in 2019.
component #4 - Modal
Tags: react
Published: 2019-07-17 11:16:07

---
title: component #4 - Modal
published: true
description: This is a part of *30 components / month* challenge.
tags: #react
---

{% codesandbox i9dif %}

## What I have learned?

- How to animate modal.

## What are the main challenges?

Aligning `div` to center. 😂😂


## Why am I doing this anyway?

- To learn.
- To have fun.
- To future Joimee (for reference).

Resources:
[Material Design box-shadow](https://codepen.io/sdthornton/pen/wBZdXq)
[Lorem Ipsum](https://lipsum.com/feed/html)
[UI Gradient](https://uigradients.com/#Portrait)
[Animista](http://www.animista.net/play/entrances/scale-in)


Salamat.
List of Deep Fake Tools
Tags: tutorials
Published: 2019-07-17 11:09:45

---
title: List of Deep Fake Tools
published: true
tags: Tutorials
canonical_url: https://vuild.com/deep-fake-tools
---

These tools can be pretty fun to play with. The list below features a range of types & quality, from face swap technology to voice synthesizers, it’s all out there to try.

[Download as PDF](https://vuild.com/deep-fake-tools?pdf=1)
1. CrazyTalk   
[https://www.reallusion.com/crazytalk](https://www.reallusion.com/crazytalkl)
2. DeepFaceLab   
[https://github.com/iperov/DeepFaceLab](https://github.com/iperov/DeepFaceLab)
3. dfaker   
[https://github.com/dfaker/df](https://github.com/dfaker/df)
4. Dynamixyz   
[http://www.dynamixyz.com](http://www.dynamixyz.com)
5. eSpeak   
[http://espeak.sourceforge.net](http://espeak.sourceforge.net)
6. Face2Face   
[https://web.stanford.edu/~zollhoef/papers/CVPR2016\_Face2Face/page.html](https://web.stanford.edu/~zollhoef/papers/CVPR2016_Face2Face/page.html)
7. Face Crop Jet   
[https://facecropjet.com](https://facecropjet.com)
8. FaceCrop   
[https://www.luxand.com/facecrop](https://www.luxand.com/facecrop)
9. Facial Animation Examples   
[https://sites.google.com/view/facial-animation/home](https://sites.google.com/view/facial-animation/home)
10. Face Swap   
[https://faceswap.ms](https://faceswap.ms)
11. Face Swap Live   
[http://faceswaplive.com](http://faceswaplive.com)
12. Face Swap Online   
[https://faceswaponline.com](https://faceswaponline.com)
13. Facerig   
[https://facerig.com](https://facerig.com)
14. Faceswap   
[https://github.com/dfaker/faceswap](https://github.com/dfaker/faceswap)
15. Lyrebird   
[https://lyrebird.ai](https://lyrebird.ai)
16. Microsoft Garage Face Swap   
[https://www.microsoft.com/en-us/garage/profiles/face-swap](https://www.microsoft.com/en-us/garage/profiles/face-swap)
17. NaturalFront   
[https://naturalfront.com](https://naturalfront.com)
18. Reflect   
[https://reflect.tech](https://reflect.tech)
19. Voicery   
[https://www.voicery.com](https://www.voicery.com)
20. Lab DJR Font   
[https://djr.com/lab-variable](https://djr.com/lab-variable)
21. [More resources & research](https://journalistsresource.org/studies/society/deepfake-technology-5-resources/)
Let us know if we missed your favorite deep fake tool.

This data is from Vuild’s [deep fake tools list](https://vuild.com/deep-fake-tools). Please visit [vuild.com](https://vuild.com) for more.
Step By Step PHP Language For Beginners With Examples
Tags: php
Published: 2019-07-17 06:49:47

Introduction

Interested in creating your own website? Ever wondered how cool is it to have a website that has a log-in/log-out functionality? Want to learn how to Create, Read, Update or Delete(CRUD) records in a database? Have you lost track on your previous tutorials? Well, I’m going to teach you how to create one from scratch where in you will know every single details on how the code works. If you are new to back-end web development, this tutorial is for you. I’ll explain everything in detail so that you won’t have to research some particular methods being used. We won’t be using any frameworks to keep things simple. Also I won’t be focusing on the websites design since were after the functionalities though, it’s easy to implement the design. What will be doing is a simple item list when the users is logged in.
Topic Contents:
1.) Setting up your server

Now that your all set and go, as the basics of programming goes, let’s start by creating a simple shoutout of “hello world” in our server.

First of, go to the directory where you installed your XAMPP (Commonly in C:\xampp). From there go to the htdocs folder (Commonly in C:\xampp\htdocs) and create a folder named “MyFirstWebsite“. 
Click here to continue: https://simpliv.wordpress.com/2019/07/17/step-by-step-php-language-for-beginners-with-examples/
What exactly is the job of a "Developer Advocate"?
Tags: discuss, career, beginners
Published: 2019-07-17 10:45:18

I can understand the role of a developer or coder or even a DevOps or DBA, but what the heck is a *Developer Advocate*:smile:

This job title is doing the rounds of the interwebs lately and seems to be a very new kind of position. Those who know about it, care to throw some light?
How Bondy built a massively scalable polyglot IoT Solution
Tags: webinar, video, iot, functional
Published: 2019-07-17 10:16:18

---
title: How Bondy built a massively scalable polyglot IoT Solution
published: true
description: An incredibly informative webinar on the best way to get the scalability of the BEAM in a polyglot solution that can be compatible with almost any programming language. 
tags: webinar,video,iot,functional programming
cover_image: https://thepracticaldev.s3.amazonaws.com/i/870e0yz9s6pymo7g1o37.jpg
series: webinar
---

We hosted a fantastic webinar with Alejandro Ramallo. He discussed a new open source product called Bondy which is already being used in IoT platforms to interconnect 100's of thousands of smart car and home devices. He particularly spoke about the best way to get the scalability of Erlang in a polyglot solution that can be compatible with almost any programming language. If you'd like to learn more about Bondy and Erlang in IoT you can watch the whole webinar free [here.](https://www2.erlang-solutions.com/darwebinar)
Webpack Config Generator
Tags: webpack, javascript, cli, npm
Published: 2019-07-17 09:02:59

---
title: Webpack Config Generator
published: true
description: Bootstrap your projects using Webpack easily
tags: webpack, javascript, cli, npm
---

Hey, I created a Webpack config generator CLI to setup projects using Webpack, Typescript, babel, etc. easily!

Check it out here: https://npmjs.org/package/wcg

Do report bugs if you find any. Thanks! :)
Day One - JSX
Tags: react, reactjavascript, javascript, webdev
Published: 2019-07-17 08:53:39

---
title: Day One - JSX
published: true
description: A series of my learning of the React Concepts
tags: react, ReactJavaScript, javascript, webdev
series: React Concepts Series
---

This is my first blog post here and as a developer and learner, I want to keep it simple. This will be a series of React Concepts that I learn throughout. For a pro, this might be something basic, but I'll make sure the newbies find it helpful. This is just a way to keep a record of my learnings and share and get better at this. 


## JSX

JavaScript XML, in short JSX is used to create React Elements. JSX is mainly used to make coding easier, as it uses couples the UI logic and the functional logic at one place. JSX is an alternative to *React.createElement*. It allows us to define the React elements using a syntax which is similar to HTML syntax. 


For example, 

```javascript
const simpleText = "Hello World!";
const element = <h1>{ simpleText }</h1>
```

The first line is simple JavaScript, defining a variable, simpleText as a string. The second line is JSX, which is creating an element and we can directly render the variable `element`, as shown below.

```javascript
ReactDOM.render(
    element,
    document.getElementById('root')
);
```

After compilation, JSX expressions also become JavaScript function calls and evaluate JavaScript objects. Babel compiles JSX down to `React.createElement()` calls. Hence, we can easily use JSX inside `if...else`, `for` loops, assign it to variables, accept it as arguments, and return it as functions. 

We can use curly braces to embed JavaScript expression to an attribute. Another benefit of using JSX is, it prevents injection attacks.

JSX can be compared to the following syntax:

`React.createElement(component, props, ...children)`

The first part (component) determines the type of the React element. 
Some key points are: 

1. Capitalized type indicates the JSX is referring to a component. 
    `React.createElement(<Foo />, document.getElementById('root');`
2. The dot-Notation can be used to refer a React component if a single module contains several react components.
    `<MyComponents.DatePicker />`
3. React library must always be accessible and be in scope in the JSX code.
    `import React from 'react;` 
4. User-defined components must be capitalized.
    `<Hello toWhat="World" />`
5. When you want to render a different component based on a prop, or maybe dynamically render components based on specific values or conditions, JSX type can be defined as follows:
```javascript
function Story(props) {
    const SpecificStory = component[props.storyType];
    return <SpecificStory story={props.story} />;
}
```

These are some basics about JSX. For my next topic, I'll be covering some advanced JSX concepts and Rendering Elements.