teleren/devto huggingface dataset:
How to Force Remove Service Worker from Chrome
Published: 2019-11-06 23:44:27

<p>So I recently created a service worker for one of my apps so I could turn it into a Progressive Web App.</p>
<p>Although, for some reason I was under the impression that I should cache the <strong>main</strong> page of my app. I later realised that it was a very bad idea.</p>
<p>I think I'm the only user of the site that came across this issue before I patched it but I found it quite a pain to unregister the service worker and bust it's cache so I could get the latest version of the page from the server.</p>
<p>I had to do this process on both my MacBook and on my Android phone, so here's both of those processes:</p>
<h2>
<a id="user-content-chrome-on-the-macbook" class="anchor" href="#chrome-on-the-macbook" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Chrome on the MacBook</h2>
<p>The first thing to do is to open up Developer Tools and head to the 'Application' tab. In there it has its own little sidebar. Go to the 'Service worker' part of that. There it should give you the option of 'Unregistering' your service worker. Click on that link and also go and clear the whole site's cache because why not.</p>
<h2>
<a id="user-content-chrome-on-the-android-phone" class="anchor" href="#chrome-on-the-android-phone" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Chrome on the Android phone</h2>
<p>The first thing to do is to go to the site, tap on the site's security padlock (or warning sign <g-emoji class="g-emoji" alias="warning" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/26a0.png">⚠️</g-emoji>) and tap on 'Site settings'. Then tap on 'Clear &amp; reset'. Then just refresh the page and you should be good to go!</p>
Seeking New Focus Music For Coding? Try Loopsy Dazy
Tags: productivity, music, watercooler
Published: 2019-11-06 23:35:22

## **[Follow Loopsy Dazy on Spotify](https://open.spotify.com/artist/1zopgckh1GgFElwcb7aqdE)**

> Loopsy Dazy is a live-looping acoustic-electronic project led by Mikey Dorje on acoustic guitar, synth, beats and effects, with frequent accompaniment by Eleanor Edgar on violin and effects, Brad Weber (aka Pick a Piper, aka Coy Haste, member of Caribou) on drums and synth and Adam Jenkins on bass.


{% spotify spotify:track:0kuIJHIVPrNln9X96jcVHn %}

{% spotify spotify:track:7s5z34nWcG6Hi55hR94DXZ %}

This has been my go-to focus music of late, so I'd definitely recommend it either way, but I'm also recommending it because they are led by _my brother Mikey_. Mikey also writes code and is a DEV member @mikeydorje.

Follow them on Spotify or wherever you listen to music. It's great headphone music.
First open source contribution..?
Tags: opensource, beginners
Published: 2019-11-06 22:44:58

Hey everyone!

This is actually my first post on here despite having lurked for some time without an account and then for a while even after creating one.

Anyways, I am currently a student studying computer science and over this summer I became much more aware of the concept of open source as well as the giant community that surrounds it and advocates for its practice. (I went to OSCON in Portland on a whim and learned a lot there).

However, I still find myself to be lost in where to start in terms of contributing to a project. I find myself getting in my own head about not knowing what or how I can contribute as well as if what I would contribute would make a difference at all.

I would appreciate any and all suggestions on things that I should keep in mind / resources that would help me get started! (and let me know if you guys have any questions about me that might help!)
Make developers awesome
Tags: devrel
Published: 2019-11-13 03:52:13

---
title: Make developers awesome
published: true
date: 2019-11-06 22:37:50 UTC
tags: DevRel,DeveloperRelations
canonical_url: https://maxkatz.org/2019/11/06/make-developers-awesome/
---

Last September I was in a meeting with [Burr Sutter](https://twitter.com/burrsutter?s=17). Burr runs Global Developer Advocacy at Red Hat. We were talking about Developer Advocacy and I remember Burr saying something along these lines:

> Our job is to make developers awesome

I right away thought about this image:

![mario-features](https://katzmax.files.wordpress.com/2019/11/mario-features.png?w=1024&h=723)<figcaption id="caption-attachment-10873"><em>Source: <a href="https://www.useronboard.com/features-vs-benefits/" rel="nofollow">https://www.useronboard.com/features-vs-benefits/</a></em></figcaption>

I think the first time I saw this image was at [Share Knowledge Not Features](http://www.shareknowledgenotfeatures.com/). The original graphic is from [Features vs. Features](https://www.useronboard.com/features-vs-benefits/).

I think it’s easy to focus on features but that’s not what Developer Advocacy is about (at least in most cases).

Developer Advocacy is about showing what developers can do with your product/service, what problems developers can solve and what solutions developers can build. I covered this topic earlier in this blog post: [Share outcomes and results, not features](https://dev.to/maxkatz/share-outcomes-and-results-not-features-75d).

Our job is to help, show and educate what rad things developers can build.

Developer Advocacy is how to make developers awesome 🙌

Burr told me he uses another phrase:

>Our job is to give developers super powers

So here you go, two really great phrases to describe Developer Advocacy from Burr Sutter:

> Our job is to make developers awesome
> Our job is to give developers super powers
UK Monthly Salary & Tax
Published: 2020-01-14 18:10:12

---
title: UK Monthly Salary & Tax
published: true
date: 2019-11-06 22:08:35 UTC
tags: 
canonical_url: 
---

This post is not Cyber Security related. A lot of my friends (who do work in IT and InfoSec/CyberSecurity fields), live in different countries (and are thinking of moving to the UK before the Brexit hits) keep asking me about the levels of salaries and tax in the UK.

I have therefore compiled this little helper table to help them understand how the annual salary in the UK (in tax year 2019–2020) translates into the monthly amount they will get in the bank after tax deductions (this is also known as “take home monthly” pay):

{% gist https://gist.github.com/securestep9/decd92d0437164ba65fa3c81f02434e9 %}

Since I received many thanks from my friends, I think it will be useful for everyone, so publishing this in my blog.

Data source: listentotaxman.com
New to Javascript? How to set up a macOS Dev Environment for the first time
Tags: javascript, webdev
Published: 2019-11-06 22:03:53

Remember: You don’t need to fully understand everything here yet - I don’t **totally** understand it all at a fundamental level myself.


## 1. Xcode Developer Tools

###Install:

* Open Terminal
* Type this and press enter: 
```
xcode-select --install
```

###Explanation:

This supplies your computer with system libraries needed in general for all sorts of development

Mainly right now, we just need it for the next one:

## 2. Homebrew

###Install:

* Open Terminal
* Type this and press enter:
```
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```

###Explanation:

Homebrew is a package manager - you can install lots of different kinds of packages into your computer system that you may need to do more development in the future

Mainly right now, we just need it for the next one:

## 3. ASDF

###Install:

* Open Terminal
* Type this and press enter:
```
brew install asdf
```

* After that’s done, type this and press enter: 
```
echo -e "\n. $(brew --prefix asdf)/asdf.sh" >> ~/.bash_profile

echo -e "\n. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash" >> ~/.bash_profile
```

* After that, type this and press enter:

**Notice the “.” at the beginning of this one!**

```
. ~/.bash_profile
```


###Explanation:

ASDF will let you install and manage different versions of development libraries / languages for each project on your computer - you will someday most definitely come across work that requires you to lock down to older versions, and this tool will make you prepared to do that in an isolated way without hassle

Mainly right now, we just need it for the next one:

## 4. Node JS

###Install:

* Open Terminal
* Type this and press enter:
```
asdf plugin-add nodejs
```

* Then, type this and press enter:
```
asdf list-all nodejs
```

* If no one has told you what version you need, look for the latest one. Otherwise, look for the version that you specifically need.

* Then, type this and press enter: 
**Where VERSION is the actual version, for example: 13.0.1**
```
asdf install nodejs VERSION
```


###Explanation:

Node is Javascript on your computer - you need it to build JS apps :-)

## 5. Yarn

###Install:

* Open Terminal
* Type this and press enter: 
```
npm i -g yarn
```

###Explanation:

Yarn is like NPM (what is NPM you might ask) but faster

NPM means “Node Package Manager” - Yarn and NPM install node packages either globally if you tell them to, or locally in your current project by default

Congratulations!

You are now ready to install and use tools like **@vue/cli** or **create-react-app**!
What are your favorites open-source alternatives?
Tags: discuss, opensource
Published: 2019-11-06 21:51:34

I am actually searching for open-source alternatives for the proprietary services that I often use. After brainstorming that's my non-exhaustive list (many of them come from the comments) :

Slack ➡️ 
[Mattermost](https://mattermost.com)
 
Dropbox ➡️ 
[Nextcloud](https://nextcloud.com)
[Owncloud](https://owncloud.org/)
Bonus: [Syncthing](https://syncthing.net/)
 
Google Analytics ➡️ 
[Matomo](http://matomo.org)

Google Keep, Evernote ➡️ 
[Paperwork](https://paperwork.cloud)
[Joplin](https://joplinapp.org/)

Chrome ➡️ 
[Firefox](https://firefox.com)

Medium ➡️ 
[Dev.to](https://dev.to)
 
Webstorm ➡️ 
[Visual Studio Code](https://code.visualstudio.com/)
[Atom](https://atom.io/)
Bonus: [Gitpod](http://gitpod.io)

Unity ➡️
[Godot](https://www.godotengine.org)
[Blender](https://blender.org)

Photoshop ➡️ 
[Krita](https://krita.org)

Illustrator ➡️ 
[Inkscape](https://inkscape.org)

Postman ➡️ 
[Postwoman](http://postwoman.io/)

Hubspot ➡️
[Muatic](https://www.mautic.org/)

Disqus ➡️ 
[Commento](https://commento.io/)

LastPass ➡️ 
[BitWarden](https://bitwarden.com/)
[Keepass](https://keepass.info/) (offline)

Alexa/Google Home ➡️ 
[Mycroft AI](https://mycroft.ai/)

Please give yours :)
Estimated Time Left Calculation in C#
Tags: csharp, dotnet
Published: 2019-11-06 21:39:58

I can suggest my today's discovery for estimating the seconds left in a 3 minutes process in C#.
Anyone better approach?
```c#
            Stopwatch sw;
            long totaltime = 0; // counts the total time passed in milliseconds
            int secondsleft; // estimated time left
            int i = 0; // counter in the foreach loop
            // objList has couple of hundred elements 
            //secondsleft is recalculated after each iteration
            foreach (var obj in objList)
            {
                sw = Stopwatch.StartNew();
                //some time consuming process here  
                i++;
                totaltime = totaltime + sw.ElapsedMilliseconds;
                secondsleft = (int) Math.Floor((double) totaltime / i / 1000 * (objList.Count() - i));
            }
```
Against the odds: His journey into tech after dropping out of college
Tags: beginners, motivation, codenewbie, career
Published: 2019-11-06 21:21:05

Recently I had the change to talk with Joél Ramirez (Joxel) about the challenges he faced getting a software engineering job without a degree.

Instead of finishing his college degree due to some challenges, he chose to make the most of his situation and go all-in by pursuing technology on his own.

Coming from an underprivileged / underrepresented background, it's amazing what he's done against the odds!

**Check out this interview with Joxel, here:**
{% youtube gU0TUPPPz1o %}

What are some challenges you've faced while trying to break into tech?

If you enjoyed this interview, please consider subscribing to my YouTube Channel! I talk about tech, life in Silicon Valley, and self-improvement!

**Subscribe Here**
[YouTube - Matt Upham](https://www.youtube.com/mattupham?sub_confirmation=1)

If you have any questions about my coding bootcamp experience, shoot me a DM on Instagram [@mattupham](https://www.instagram.com/mattupham)

Learning to code? Join our growing [Discord](https://discord.gg/9RGdMcF) community!

Thanks for reading!
Trying out KDE
Tags: linux, ubuntu, kde
Published: 2019-11-06 21:16:48

Trying out the KDE Plasma desktop. Compared to the earlier KDE versions it's improved a lot.

The search menu that's in the start menu is very good. Any modern desktop or window manager doesn't work well without a good search option.

<img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fiwf1.com%2Fwordpress%2Fwp-content%2Fuploads%2F2014%2F07%2FKDE-4-Plasma-5-looks.jpg&f=1&nofb=1" alt="kde plasma">

Compared to LxQt the feel is quite similar. It just has more features than LxQt. There's a demo of the KDE plasma desktop here:

{% youtube fzuylNzpZIw %}

## Install KDE

If you want to try it out, you can install Kubuntu (an ubuntu variant) or install it from the terminal

```bash
    $ sudo apt install tasksel
    $ sudo tasksel install kubuntu-desktop
```

That's it, now logout and login again.

## UX

Overall it does the job, not a fan of the Konsole, so switched over to another terminal emulator. The konsole looks like this:

<img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fkonsole.kde.org%2Fassets%2Fimg%2Fkonsoletabs.png&f=1&nofb=1">

well, I prefer somethign like this:

<img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fgnunn1.github.io%2Ftilix-web%2Fassets%2Fimages%2Fgallery%2Ftilix-screenshot-2.png&f=1&nofb=1">

But as for the desktop, doesn't matter much.

The memory usag is quite low, 256MB memory use. In an age where you can easily get a few gigs of memory, that's nothing.


**Related links:**

* <a href="https://kde.org/">KDE desktop</a>
* <a href="https://kubuntu.org/">Kubuntu Linux</a>
* <a href="https://linuxtoko.com/best-linux-for-beginner/">New to Linux?</a>
Explain the Frontend Webdev Ecosystem to Me
Tags: explainlikeimfive, webdev, javascript, beginners
Published: 2019-11-06 20:50:58

Hey folks, I was hoping in this latest edition of this series, some folks could weigh in on the rest of the frontend JavaScript ecosystem. I think we've covered the big three, but what is the rest of the landscape.

What are the big topics and concepts in frontend these days?
DRY Vim
Tags: vim, editing, programming
Published: 2019-11-06 20:43:58

---
title: DRY Vim
published: true
description: Don't repeat yourself in Vim
tags: vim, editing, programming
---

I believe Vim's biggest strength is that it removes a lot of repetition in my workflow. This post is a short (probably incomplete) list of commands that allow you to repeat an action without having to repeat the whole sequence of keystrokes.

## Editing
| Key | Description |
|:---:|:-----------:|
| `.` | Repeats the last change you've made. |
| `@@` | Repeat last macro. |
| `@:` | Repeat last command. |


## Searching
| Key | Description |
|:---:|:-----------:|
| `;` | Repeat last `f`, `F`, `t`, or `T` motion. |
| `,` | Same as `;` but in the opposite direction. |
| `cgn` | Apply last change to next search result. |

## Macros

Macros are a handy tool in your toolbox to avoid repetition.
It's crucial to practice, though, and memorize some patterns that make creating macros simpler and reusable.

### Start at the beginning

To create reusable macros you need to make the changes as generic as possible. This means that you need to avoid starting the recording at a specific point in the code snippet. It's best to first move to the start of the line `0` or the start of the first word in the line `^`.

### Navigate to generic places

If you need to navigate in your macro it's best to avoid navigating using `hjkl`. Navigate to special characters that are common on the lines you'd like to change or navigate to the start or end of a line.

I wrote about macros a long time ago if you'd like to learn more techniques. https://medium.com/@schtoeffel/you-don-t-need-more-than-one-cursor-in-vim-2c44117d51db


## Plugins

Plugins can mess up repeating changes with `.`. For example, changing the surrounding quotes with double quotes using [vim-surround][] (`cs'"`) isn't repeatable. There is a plugin though that fixes this for (at least) some plugins [vim-repeat][]. You don't need to configure anything, just install it using your plugin manager of choice and you're good to go.


[vim-surround]: https://github.com/tpope/vim-surround
[vim-repeat]: https://github.com/tpope/vim-repeat


I hope you were able to learn a trick or two from this post to level-up your vim skills :slightly_smiling_face:.


If you're curious to check out how my vim config looks like then head over to https://github.com/whimsical-vim/whimsical-vim.
Waarom Golang? (Dutch)
Tags: go, dutch
Published: 2019-11-06 20:20:53

<a href="https://golang.org/">Go</a> is een algemene programmeertaal. Dit betekent dat je het kunt gebruiken voor wat je maar wilt (<a href="https://golangr.com/about-go/">Why Learn Go</a>). De syntax lijkt een beetje op de C-programmeren.

```
    package main
    
    import "fmt"
    
    func main() {
       fmt.Println("Hello, World!")
    }
```

Het is vooral goed voor:

* systemen: krachtige standaard 
* gelijktijdigheid: u kunt het gebruiken om gelijktijdige apps te bouwen zonder dat u zich zorgen hoeft te maken over prestaties
* netwerken

Met andere woorden, Go is goed voor mensen die graag op een laag niveau programmeren.
Tegenwoordig wordt het gebruikt voor:

* Netwerken en Webservers
* Automatisering en commandoregel

Dat zijn een heleboel dingen waar je het nu al voor kunt gebruiken!

<img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fforum.golangbridge.org%2Fuser_avatar%2Fforum.golangbridge.org%2Fstabby%2F200%2F55_1.png&f=1&nofb=1">

Het wordt (nog) niet veel gebruikt voor desktop software, web frontends, mobiele app ontwikkeling, games, bankieren. Dat betekent niet dat het niet gebruikt kan worden, alleen dat het nog niet standaard is.

Dat rare beestje bovenop? Dat is het Go logo btw. 


**Meer links:**
* <a href="https://golang.org/">Official Golang website</a>
* <a href="https://golangr.com/">Golang Programming tutorial</a>
* <a href="https://www.youtube.com?v=cQ7STILAS0M">Video talk: Why Go is successful</a>
Caddy as a simple "api gateway" with SSL
Tags: caddy, apigateway, proxy, ssl
Published: 2019-11-06 20:12:15

---
title: Caddy as a simple "api gateway" with SSL
published: true
description: 
tags: caddy, api-gateway, proxy, ssl
---

# What is Caddy

Caddy is an open source web server with automatic HTTPS.
We will use it to create a simple "api gateway".

https://caddyserver.com/


# Preparing sample services

Start sample services
```
docker container run -d -p 5000:5000 proclaim/crp-app1
docker container run -d -p 8800:8800 proclaim/crp-app2
```

Test services
```

curl http://localhost:5000/api/member
curl http://localhost:8800/api/food
```


# Configuring local caddy

```
mkdir ~/api-gateway
cd ~/api-gateway
```

Obtain machine information
```
hostname
ziba-Aspire-A515-51G.adzubla.net

hostname -I
192.168.59.50 
```

Create the SSL certificate for this machine

```
openssl req -nodes -new -x509 -keyout server.key -out server.cert \
-subj "/C=AU/ST=Some-State/L=City/O=Company Name/OU=Department/CN=ziba-Aspire-A515-51G.adzubla.net"
```

Create `Caddyfile` configuration
```
ziba-Aspire-A515-51G.adzubla.net {
    tls /etc/server.cert /etc/server.key
    proxy /api/member  192.168.59.50:5000
    proxy /api/food    192.168.59.50:8800
}
```

Start caddy server
```
docker run -d \
  -p 443:2015 \
  -v $HOME/api-gateway/Caddyfile:/etc/Caddyfile \
  -v $HOME/api-gateway/server.key:/etc/server.key \
  -v $HOME/api-gateway/server.cert:/etc/server.cert \
  abiosoft/caddy:1.0.3-no-stats
```

Test https services through caddy
```
curl -k https://ziba-aspire-a515-51g.adzubla.net/api/member
curl -k https://ziba-aspire-a515-51g.adzubla.net/api/food
```



Reference: https://medium.com/bumps-from-a-little-front-end-programmer/caddy-reverse-proxy-tutorial-faa2ce22a9c6
Unofficials Group
Published: 2019-11-06 20:02:42

Hello, I am Ayush Singh Founder of Ayush Singh.
I just want you to Introduce to my Website and some of its Beautiful Post

Here are Some top Post of our Site

<a href="www.unofficialsgroup.com/full-form-of-html/">what is full form of html</a>

<a href="www.unofficialsgroup.com/full-form-of-atm/">full form of atm</a>

<a href="www.unofficialsgroup.com/full-form-of-bmw/">full form of bmw</a>

<a href="https://status.unofficialsgroup.com/mahakal-status-in-hindi/">mahakal status in hindi</a>
I'm back and I'm starting a YouTube channel!
Tags: showdev, watercooler
Published: 2019-11-06 19:48:16

So, it's been a while since I've last cross-posted on dev.to. I've taken a break from blogging, which turned out to be almost 3 months long! Anyway, I'm back now, and I've got a few *announcements*!

I started writing again a few weeks ago, but now I'm also getting back to *dev.to* - both with cross-posts and dedicated posts! It's an awesome platform with a great community that I'm honored to be a part of!
# A break and UI framework
During my break, I was analyzing my previous blog posts to know what needs to be improved upon. I've also accelerated my blog redesign. To make this even more *"impressive"*, I've created a full-blown **UI framework** and a small **component library** to back it up! Yes, you've read that right. I'm planning to *open-source* it in the future, together with the launch of my redesigned website, so stay tuned! Here's a little snippet to give you a glimpse of what it's like to use the mentioned framework:

```javascript
View(() => {
  return Node(({ classes, state, styles, on }) => {
    state({ color: "red" }, true);
    on("created", () => {
      setTimeout(() => {
        state.set("color", "green");
      }, 1000);
    });

    return `<h4 ${styles({
      color: state.get("color")
    })}${classes(["hello"])}>Hello World!</h4>`;
  });
}).render();
```

I won't explain the above snippet now, but if you're interested in being an *"early-tester"* of this creation of mine, just hit me up here on dev.to or somewhere else and we'll talk it through.

For a more in-depth description of this whole break of mine, you can read [the post on my blog](https://areknawo.com/im-back-and-theres-a-lot-to-discuss/).
# YouTube
And the last and most recent announcement is that I'm starting my own YouTube channel! The first video - [*JavaScript Console API exploration*](https://www.youtube.com/watch?v=ttwDdFccJbk) (based on one of my previous blog posts) - is already out. I'd love to have your *support* on this new journey of mine. Any like, sub or a constructive comment will be greatly appreciated!

That's all I had to say. Have a nice day!