teleren/devto huggingface dataset:
Need help - Losing faith in my team
Tags: discuss
Published: 2019-04-01 21:49:57

---
title: Need help - Losing faith in my team
published: true
description: 
tags: discuss
---

Hey Dev.to,

I need some serious career advice as I face total burnout. 

I joined a web development team about 6 months ago hoping to learn all about working in a team.

Instead, I've become the senior developer by default for the entire team as almost no one on the team is familiar with the web framework we use.

My team members constantly submit work that I consider to be absolutely unacceptable. Illegible, buggy, incorrectly tested and just sloppy in general.

I take my coding style very seriously and write everything with legibility in mind. I constantly apply techniques to make my code easy to read and easy to work with. My test coverage is almost a perfect 100% where the standard is 80% and this is all easy to me.


However, this all seems to be completely alien to my teammates. Not only is their code illegible, it's misguided and convoluted. Full of unnecessary logic and "reinvent the wheel" type of problems. Most of them seem to refuse to use the framework and have built buggy versions of features that are already built into the framework.


I've tried to improve team knowledge of the framework by posting links to docs, articles, and videos on the team chat which I'm sure only one developer has bothered opening.

My manager constantly interrupts me to request that I "help out" other developers which basically ends up with me giving basic coding lessons to the other developers and basically doing everything other than typing for them.

Sometimes I feel that they know I have no choice but to help.

I'm seriously considering leaving the team either by requesting that I be reassigned or leaving the company entirely. I feel burned out everyday having to spend weeks reverse engineering terrible implementations to add basic features that should take hours to complete.

Have you faced a similar situation? How did you handle it?
I'm a Full-Stack Engineer/Manager & Bootcamp Mentor, Ask Me Anything
Tags: ama
Published: 2019-04-01 21:47:58

---
title: I'm a Full-Stack Engineer/Manager & Bootcamp Mentor, Ask Me Anything
published: true
description: 
tags: #ama
---

Hi, I'm Matt and I'm the lead mentor here at Skill Pathway (based in the UK) and a developer / head of software engineering within a construction company.

I've got 7 years commercial experience in agency, embedded and freelance jobs, I don't have a computer science degree so I'm completely self taught. I actually started learning to code at 10 years of age!

I have a lot of past experience in mentorship as at my previous agency job, I was responsible for training up apprentices (interns) from 0 experience to building full-blown custom websites front to back. I really love to sit back and watch people grow their skillset.

I can answer on anything, here are some examples:

- Mindset
- Getting a job, resume & interview tips etc (I've run 100s of interviews and read 1000s of resumes)
- Ways to learn more efficiently
- Specific code questions (my stack is very wide - JS, HTML, CSS, Vue, Angular, PHP, Laravel and more) etc.
- Anything cloud (Qualified AWS Solutions Architect Associate)
- What your manager (or future manager) might think about you (being a manager myself helps with this)
- Side projects
- Freelancing

Seriously, fire away. I love nothing more than helping out.
ddns-route53
Tags: dns, ddns, route53, go
Published: 2019-04-01 21:27:00

---
title: ddns-route53
published: true
description: Dynamic DNS for Amazon Route 53 on a time-based schedule
tags: dns,ddns,route53,go
---

{% github crazy-max/ddns-route53 %}

[**ddns-route53**](https://github.com/crazy-max/ddns-route53) is a CLI application written in [Go](https://golang.org/) that lets you run your own [dynamic DNS](https://en.wikipedia.org/wiki/Dynamic_DNS) service with [Amazon Route 53](https://aws.amazon.com/route53/) on a time-based schedule.

It can handle IPv4 and IPv6 addresses and has an internal cron implementation via go routines for use as a service.

Configuration is done through a simple YAML file that looks like it :

```yml
credentials:
  access_key_id: "<AWS_ACCESS_KEY_ID>"
  secret_access_key: "<AWS_SECRET_ACCESS_KEY>"

route53:
  hosted_zone_id: "<HOSTED_ZONE_ID>"
  records_set:
    - name: "ddns.example.com."
      type: "A"
      ttl: 300
    - name: "another.example2.com."
      type: "A"
      ttl: 300
```

And an official [Docker image](https://hub.docker.com/r/crazymax/ddns-route53) 🐳 is also available.

Hope it will help some of you.

---

Support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max) 👏 or by making a [Paypal donation](https://www.paypal.me/crazyws) to ensure this journey continues indefinitely! 🚀

Thanks again for your support, it is much appreciated! 🙏
Help Testing "Sentinel": A Real-Time Proxy Bot Filter for the Web
Tags: showdev, webscraping, opensource, python
Published: 2019-04-01 20:58:02

---
title: Help Testing "Sentinel": A Real-Time Proxy Bot Filter for the Web
published: true
description: Would any devvers be interested in helping me test functionality?
tags: #showdev #webscraping #opensource #python
---

Hi Devvers! So I would just like to test the waters on the community's willingness to help test a product I am developing called "Sentinel". As many of you probably know, I did a #showdev on Sentinel's sister package "Slither" insanely recently and the response has been incredible (25 stars and 4 forks since yesterday night 😱😱😱), so I thought I would toss this one out there too.

So what is Sentinel? Well, if you read my profile, you will see that I enjoy double dipping in the web crawler industry. This means that I build both sophisticated crawler bots, and the services that keep them out. Seeing as Slither is a crawler bot proxy framework, I'm sure you can guess what Sentinel does...

Over the years, I've written web crawlers that do all sorts of different things and have gained valuable insight into both how filters identify bots, and how web scrapers circumvent these filters. Being on both sides of the equation has given me a pretty unique perspective that I thoroughly enjoy!

Sentinel is a live-update crawler bot detection system that is meant to keep malicious web crawlers from getting to your resources in real time. The best part: It can be applied to specific resource pages on your website. Don't mind crawlers getting the company support phone number but don't want them scraping eCommerce data? Just tell Sentinel to only monitor your listing pages or galleries. This is done by maintaining a list, updated every 15 minutes, of proxy ips, known spammer subnets, and malicious bots and referencing every incoming connection against this list in real time! Think of it as a robots.txt that is NOT optional.

The product, as it stands, is in its infancy, but I really want to get an MVP out into the wild as soon as possible and need folks like the dev community to help me out! Let me know in the comments or via DM if you're interested in helping to test the functionality out on your websites! Thanks so much to you all for your support and interest!
Aliases git way
Tags: git, alias, gitconfig, shell
Published: 2019-04-01 20:38:46

---
title: Aliases git way
published: true
description: git aliases done right =)
tags: git, alias, gitconfig, shell
cover_image: https://thepracticaldev.s3.amazonaws.com/i/hk8d7hycjb9epklumqf1.png
series: git aliases
---


Often I see developers tweet their git aliases and most of the time they are using standard alias functionality of their shell. Kind of like that:
`alias gs = git status`

`git` actually provides you with the ability to make an alias for some git command or even create your own command. You can do it in the `[alias]` section of your `.gitconfig` file(which can be found in your user’s home folder).

## Aliases

So for instance if we take the previous example, you can write something like:
```
[alias]
  s = status
```

and you will be able to use it as following:
`git s`

Now you might say that it is much longer then «gs». But you can also make an alias for git itself in your shell:

```shell
  alias g = git
```

and so now you can simply call your alias by typing `g s`.

## Custom commands

Apart from aliases you can actually create some really cool custom commands. For instance, we can add an alias to see last 10 branches that you’ve checked out:

```
[alias]
  recent = for-each-ref --count=10 --sort=-committerdate refs/heads/ --format="%(refname:short)"
```

Which I shamelessly picked from [csswizardry’s article](https://csswizardry.com/2017/05/little-things-i-like-to-do-with-git/). When you run it(`g recent`) you’ll see a list of your last ten branches(or less if you haven’t checked out ten).

## Using shell within git alias

You can also do «shell evaluate» within git alias:

```
[alias]
  compare = "!f() { git log --oneline $1..$2; }; f"
```

Here we define an alias, that contains an anonymous function that is invoked straight away. We can also pass parameters to this function. In this example we pass two revisions or branches so that we get a list of commits that differs them.

You can use this alias as follows:
`g compare branch1 branch2`

## More stuff

You can see the examples above and some other cool stuff in the [gitconfig file](https://github.com/gko/dotfiles/blob/master/.gitconfig) from my [dotfiles repo](https://github.com/gko/dotfiles).
How Not to Attempt an April Fool’s Day Prank
Tags: aprilfools, prank, humor, disaster
Published: 2019-04-01 19:25:48

---
title: How Not to Attempt an April Fool’s Day Prank
published: true
description: Protip: Think twice before trying to pull off an April Fool’s Day pranks at work
tags: April fools, prank, humor, disaster
---

In light of [Ben’s post](https://dev.to/devteam/comic-sans-is-now-the-default-reading-font-2n6g) about an April Fool’s Day prank gone wrong, it reminded me of the biggest failed developer prank I’ve ever experienced. I once worked on a mission-critical application for a government agency. It was classified at a very high level. I was one of the developers who was cleared to view classified data, but others on the team weren’t, so they worked with dummy data.

One morning, I got a frantic call from the project manager begging me to get to the office as soon as possible because some time overnight, the application looked broken. Not only was the *data* corrupted, but so were *all* of the UI elements. It was completely unusable. Even worse, some of the data *in the database* (several gigabytes’ worth) was also corrupted.

I got to the office and took a look. My project lead was shaking with anxiety. There was a *pattern* to the corrupted data, and I it took me about 10 seconds to figure out what was wrong. “What’s today’s date?” I asked the lead.

“April 1st. Why?”

I told him to take another look.

“What? I just see gibberish.”

“It’s all *backwards*,” I said. Sure enough, *every* string was reversed. The leads anguish turned to anger.

The next step was to figure out *how*, and then, *who* did it. I figured out the latter pretty quickly, and it was the last person I’d expected to do anything remotely humorous--a 25-year veteran of the group. He didn't have a clearance, so he never saw the corrupted data.

The *how* was the most interesting part. The developer had somehow hooked into the Java Swing UI to reverse the strings, but then those changes to the editable fields were auto-saved. He had to issue a hotfix for both the app and the database, without being able to access them to apply the changes himself, and I’m sure that he was more pissed about having to walk me through the fixes than he was contrite about having messed things up so badly. In the end, all the data was restored, and the episode lasted, at most, a couple of hours.

So, Dear Reader, please think twice, or maybe three times, before pulling off a stunt like this at work, especially on production, mission-critical apps!
How a learning plan has helped me grow.
Tags: webdev, career, productivity, javascript
Published: 2019-04-01 18:43:49

---
title: How a learning plan has helped me grow.
published: true
description: It's hard to keep up-to-date with web development as it's rapidly changing, so here is my learning plan.
tags: webdev, careers, productivity, javascript
---

I find it incredibly hard to stay up-to-date with technology rapidly changing, I always feel like I'm swimming upstream against a strong current just to try and stay afloat. Sometimes I feel like giving up and want a career change but I've decided to change my attitude, not focus at what I'm not good at and put a plan in place to become better. 

I decided to put a learning plan together, I use Google docs and list all the things I currently don't know about web development. Some are very high level but it's a start. Here is a small preview of it, as currently it's 3 pages long.

![Learning plan](https://thepracticaldev.s3.amazonaws.com/i/j5ab3dwxgtzq0vz2qswl.png)

Every week, I think about what I have planned and make an hour to do something on my list. So far, I've tried to be consistent and use Tuesdays after work. I call it #TechyTuesday.

To make it easier to learn, I set up a Codepen account where I can access at anytime and just write blogs and do little pens just to learn the things on my list. In the space of a couple of weeks I've learnt/created the following:

* ES6 features such as default parameters, template literals, scoped variables
* JSON objects and it's functions such as freeze, assign, create, keys
* an animated bee all in CSS

By doing this I'm not only enhancing my skills technically but soft skills as well such as: 

* reading & documentation
* understanding and finding quality documentation from MDN
* debugging
* using developer tools
* using markdown

Best part of all, it feels really good obtaining more knowledge, sharing it and crossing it off the list.

So if you're inexperienced or experienced in web development, I recommend creating a plan in small manageable tasks and completing them on a weekly basis. 

Does anyone else have a similar way of learning?
My first docker stack deployment
Published: 2019-04-01 19:25:06

---
title: My first docker stack deployment
published: true
description: 
tags: 
---

This is my first post, so I thought I would fill it with a first.  I first started using Docker in October of 2018.  I was pretty lost but had a lot of help from colleagues and online tutorials etc.  I'm proud to say that this week I was able to:

- build a multi-stage docker file that creates a base image with dependencies for building a static front end with a d3.js visualization, builds that front end and data (another image), and ships it (the front end) to an nginx image for consumption

- ship the image to a remote vm and deploy it in a docker service stack with health checks.  It actually works!

This is a big step for me, having been clueless on docker just a few months ago, and very often confused at what to do.  I was lucky enough to have good guidance and resources and feel a lot more confident at using the docker service stack.
freelancing niche ( web dev)
Tags: help
Published: 2019-04-01 18:15:34

---
title: freelancing niche ( web dev)
published: true
tags: help
---

Hi , I am a person who have been learning front-end development 1.5 year ago , and I dont feel like I am very confident with my tech skills since my goals was very broad wich was to learn html , css , javascript and now few week ago started on reactjs .... but I feel my progress is very slow because for example you can learn css in depth for some long time to really master layouts or animations,svg and just get stuck in specefic thing!, compared if I had narrower gaols I could move much faster wich leads me to searching for a niche ! 

niche ?! why ? 
 the why !? : 
    - I live in 3rd world country were jobs are very very few to no jobs for programmers especially if the person choosed to learn modern web tech ! so I need a niche that I can freelance around
    - I need more specefic goals to get in speed with this industry , I need a niche so that i can learn enough skills and not every skills out there in web dev wich are alot ....! 

     
    So ,this is my personal problems and I am sure there is alot of people like me, please guide us if you have any experience in freelancing 

thank you !
Cloudflare announced Warp
Tags: news, discuss, cloudflare, vpn
Published: 2019-04-01 18:06:06

---
title: Cloudflare announced Warp
published: true
description: Cloudflare Warp Fixing Mobile Internet Performance and Security
tags: news, discuss, cloudflare, vpn
cover_image: https://thepracticaldev.s3.amazonaws.com/i/qnmo9jg98q7bldrxdh7h.png
---

Last year on April Fools Cloudflare launched 1.1.1.1, claimed to be the fastest, most secure, most privacy-respecting DNS resolver on the Internet. 

And this year, again on April Fools, Cloudflare announces **Warp**! A more advanced VPN than any other provider because it is designed from the beginning for mobile devices that switch a lot between networks. There are also other benefits but I don't want to get technical in this post, everything can be read on their blog post.

A basic version of Warp will be available for free in the 1.1.1.1 app. A more advanced Warp+ paid version will be available in the future.

You need to sign up to the waiting list to get Warp. This can be done in the 1.1.1.1 mobile application.

**What do you think about this new Cloudflare service?**
I personally think that Cloudflare releasing a VPN is a good thing, especially if your read about how they are building it and focusing on mobile devices.

_Official blog post: [Introducing Warp: Fixing Mobile Internet Performance and Security](https://blog.cloudflare.com/1111-warp-better-vpn/)_
Versioning or not the composer.lock file?
Tags: git, composer, strategy, architecture
Published: 2019-04-01 17:41:39

---
title: Versioning or not the composer.lock file?
published: true
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ib93foaqikyp0htzeul3.png
canonical_url: https://rafaelcg.com/blog/composer-lock-file/
description: Many developers ignore the composer.lock into their .gitignore, because it's an auto-generated file. By analyzing the .gitignore file's purpose this theory is correct, however, is a good practice to manage the version control of this file, and using the composer install command to prepare an environment, not composer update, let's check the basis that sustains that idea in order to apply this change on your projects.
tags: git, composer, strategy, architecture
---

Many developers ignore the composer.lock into their .gitignore, it because it's an auto-generated file. By analyzing the .gitignore's purpose this theory is correct, however, is a good practice to manage the version control of this file, and using the composer install command to prepare an environment, not composer update, let's check the basis that sustains that idea in order to apply this change on your projects.


![Using or not the composer.lock file](https://thepracticaldev.s3.amazonaws.com/i/ib93foaqikyp0htzeul3.png "Using or not the composer.lock file")


\- You can find in the [Composer documentation](https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control) saying:

> "You should commit the composer.lock file to your project repo so that all people working on the project are locked to the same versions of dependencies."


\- Having the composer.lock file, it will become the installation of composer dependencies **2x faster**.


\- You can let it more optimized using the parameters to optimize the autoload, prefer the packages via source, and avoiding getting the dev dependencies in a production environment.


\- As each install will use the composer.lock file, it will install the same package distribution version for each developer, avoiding the famous sentence **"It's working in my machine"**.


\- This practice is not recommended for libraries according to the [Composer Documentation](https://getcomposer.org/doc/02-libraries.md#lock-file).

> "For your library, you may commit the composer.lock file if you want to."


\- Never use composer update in your production, it might update packages that you didn't update in UAT yet, so, UAT environment loses its purpose.

Are you versioning your composer.lock? let me know in the comments below!
Which GraphQL client do you use, and why?
Tags: discuss, graphql, webdev, javascript
Published: 2019-04-01 17:37:04

---
title: Which GraphQL client do you use, and why?
published: true
description: 
tags: discuss, graphql, webdev, javascript
---

In one of my side projects, I'm currently using Apollo Client, but I'm starting to find writing the code to update the cache after a query or mutation rather cumbersome. I'm thinking about switching to Relay, which, if I understand things correctly, handles a lot of that for you, in exchange to some restrictions it imposes on your schema.

So I'd like to hear from more people which client you're using and why. I'm also interested in any tools you're using, like code generators or utility libraries, to reduce boilerplate code.
Diagonal slides, Ecommerce banner, Accordion menu | Module Monday 34
Tags: showdev, opensource, webdev, javascript
Published: 2019-04-01 17:23:33

---
title: Diagonal slides, Ecommerce banner, Accordion menu | Module Monday 34
published: true
description: Module Monday 34
tags: showdev, opensource, webdev, javascript
cover_image: https://res.cloudinary.com/component/image/upload/b_rgb:131313,c_lpad,h_350,w_800/v1553986423/diagonal-slideshow_pfheuf.gif
canonical_url: https://guide.anymod.com/module-monday/34.html
---

## Open-source web modules you can use anywhere

All the mods below are open source and free to use in any project you choose. [Anymod](https://anymod.com) lets you quickly add features to any website or web app.

Click a mod to see it in action along with its source code.


## Animated diagonal slideshow
Full page display by Codrops. Add to any page easily.

<a class="btn btn-sm" href="https://anymod.com/mod/kdlnrr?v=20">View mod</a>

<a href="https://anymod.com/mod/kdlnrr?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1553986423/diagonal-slideshow_pfheuf.gif"/>
</a>

## Accordion side menu
Expand and collapse categories with links

<a class="btn btn-sm" href="https://anymod.com/mod/oraaon?v=30">View mod</a>

<a href="https://anymod.com/mod/oraaon?v=30">
  <img src="https://res.cloudinary.com/component/image/upload/v1553367528/accordion-menu_mucjwa.gif"/>
</a>

## Fixed bg hero section with menu
Everything you need to start a page off right

<a class="btn btn-sm" href="https://anymod.com/mod/bammko?v=22&w=1000">View mod</a>

<a href="https://anymod.com/mod/bammko?v=22&w=1000">
  <img src="https://res.cloudinary.com/component/image/upload/v1553986706/hero-unit_vrj8ni.gif"/>
</a>

## Ecommerce banner
Responsive images and links to show your wares.

<a class="btn btn-sm" href="https://anymod.com/mod/bamrln?v=20">View mod</a>

<a href="https://anymod.com/mod/bamrln?v=20">
  <img src="https://res.cloudinary.com/component/image/upload/v1553989220/ecommerce-banner_asrhye.png"/>
</a>

## Back button
It... does what you expect. Add it anywhere.

<a class="btn btn-sm" href="https://anymod.com/mod/mlnarn">View mod</a>

<a href="https://anymod.com/mod/mlnarn">
  <img src="https://res.cloudinary.com/component/image/upload/v1553987094/back-button_uozhfa.png"/>
</a>

<hr>

I post new modules [here](https://dev.to/tyrw) every (Module) Monday -- I hope you find them useful!

Happy coding ✌️