teleren/devto huggingface dataset:
How do i connect with www.mywifiext.net login setup page for Netgear Extender setup
Tags: mywifiextsetup, mywifiextlocal, mywifiextnet, mywifiextnetsetup
Published: 2021-11-13 14:51:22

To get to mywifiext Setup, plug in your Netgear extender and turn it on. Using your web browser, go to the mywifiext configuration page right now. Mywifiext.net is a local url that cannot be found online. On the configuration tab, you should see a New extender setup button.  Click on the finish Setup button.

Connect your Netgear extender and toggle it on to access mywifiext Setup. Go to the mywifiext setup page right now in your web browser. Mywifiext net is a private address that cannot be searched on the internet. A New extender setup button should appear on the configuration page. To complete the setup, click the Finish button.
[Mywifiext net login](https://www.mywifiextsetuphelp.com/mywifiext-net-setup)
[Mywifiext.local](https://www.mywifiextsetuphelp.com/mywifiext-local/)
[Mywifiext](https://www.mywifiextsetuphelp.com/mywifiext-net-setup)
[Mywifiext.local](https://www.mywifiextsetuphelp.com/mywifiext-local/)


Mywifiext Setup might be a great starting point for connecting our wireless and wired devices to the internet. We can't imagine our lives now if we don't have simple access to the internet wherever we are. With the help of such WiFi boosters, you'll be able to take benefit of our house's perfect connection.
Fast and easy way to setup web developer certificates
Tags: devops, webdev
Published: 2021-11-13 21:00:22

Modern days having that cookies auth etc depends on https we need to have https local web environment.

Before to generate local certificates I used [minica](https://github.com/jsha/minica). 

The main issue that you need a big readme for osx, linux and windows users, how to regenerate keys, 
how to add minica certificate to Keychain, how to change hosts file.

Having that we use vscode remote for development it was 2x more work to register all that keys on local and remote machines.

The solution below doesnt need any setup from developers. 

## Solution in short

Register on DNS provider A records for development like:

`A blabla.devdomain.com 127.0.0.1`

Then using letsencrypt [certbot](https://certbot.eff.org/) for your provider just generate needed certificates.

They are already trusted and the only issue is 3 month expiration period, what can be easily fixed with cron.


## Full solution.

In our case we use cloudflare as DNS. 
Generation certificates for few domains on cloudflare looks:

Create cloudflare API token https://support.cloudflare.com/hc/en-us/articles/200167836-Managing-API-Tokens-and-Keys#12345680

```bash
TF_VAR_CLOUDFLARE_API_KEY={YOURAPITOKEN}

mkdir -p /tmp/certbot/
mkdir -p /tmp/letsencrypt/

cat > /tmp/certbot/cloudflare.ini <<-DOCKERFILE
  dns_cloudflare_api_token = ${TF_VAR_CLOUDFLARE_API_KEY}
DOCKERFILE

docker run -it --rm --name certbot  \
-v "/tmp/letsencrypt/data:/etc/letsencrypt" \
-v "/tmp/certbot:/local/certbot" \
certbot/dns-cloudflare:v1.15.0 certonly \
-m istarkov@gmail.com \
--dns-cloudflare \
--dns-cloudflare-credentials /local/certbot/cloudflare.ini \
--agree-tos \
--noninteractive \
-d subdomain.mydomain.com \
-d other.mydomain.com \
-d blabla.hello.com

# subdomain.mydomain.com, other.mydomain.com, blabla.hello.com must have A records on cloudflare pointing to 127.0.0.1

cp /tmp/letsencrypt/data/live/subdomain.mydomain.com/* ./
cat ./fullchain.pem ./privkey.pem > ./haproxy.pem
```

thats all, now for nodejs apps use following https options

```js
key: fs.readFileSync('./privkey.pem'),
cert: fs.readFileSync('./fullchain.pem'),
```

for haproxy use `haproxy.pem` like in simple config below

```ini
# haproxy -f ./playground/haproxy-http-2.cfg -db

frontend rgw-https
  bind *:3009 ssl crt /root/realadvisor/https-dev-keys/haproxy.pem alpn h2,http/1.1
  default_backend rgw


backend rgw
  balance roundrobin
  mode http
  server  rgw1 127.0.0.1:3000 check
```


This is fast and simple way I prefer now to have development certificates, which doesnt need any additional documentation for developers.
Implementing Dark Mode (Part 1)
Published: 2021-11-16 15:34:47

I'd like to share the story behind one of my favorite contributions to Open Sauced so far, which is the addition of "Dark Mode", [PR #1020](https://github.com/open-sauced/open-sauced/pull/1020). This PR touched 25 files and was pretty substantial in scope, so I'm going to break this up into 3 parts. Part 1 is here is just the background - the what and the why, as @bdougieyo sometimes says. If there's one takeaway though, it's the value of opening a PR early in your process - you can share your progress and your roadblocks, and maintainers can help you get unblocked!

With that, the original idea for the dark mode feature came from @filiptronicek in [Issue #607](https://github.com/open-sauced/open-sauced/issues/607), and I decided to try to take this one on for a few reasons:
- 1) I'd read an article once about `prefers-color-scheme`, and that was my level of knowledge about dark mode.
- 2) I wanted to learn the ins and outs of how the project handled styles.
- 3) My Macbook was set for the color preference following the time of day, so based on #1, I knew I was going to test the feature with (literally) endless delight!

In this project I picked up a habit of starting talking about the PR relatively early in the cycle. So as I got started on things, I had inferred that the intention was to fall back to the system preference but that the user could override it to either or light or dark mode and have that setting persisted to local storage. The more I read articles, the more I saw a pattern that they either just simply followed the system preference, or they would start with a default and toggle back and forth. So there were some cases using a single state for user preference, and some with two states, but none with three states. 

Talking with other contributors about it, @0vortex pointed out a [post on the StackOverflow blog](https://stackoverflow.blog/2020/03/31/building-dark-mode-on-stack-overflow/), and it talked in passing about a three-state solution. I was sold! I felt compelled to see this thing through with a three-state solution, and I'm glad I did because since then I've seen a handful of blog posts and examples in the wild, which I really like.

Stay tuned for Part 2 where I'll cover some implementation details and learnings, and Part 3 were I'll cover some of the unexpected things about this PR!
Store Alphabet in a list with Python
Tags: python, programming
Published: 2021-11-14 05:46:04

Step1: import string to your code.
       > import string

Step2: create alphabet list with uppercase and lowercase.
       > small_letter = string.ascii_lowercase

Step3: store it...
       > lowerletter_list = list(small_letter)

Finish, You can run to see the result.
Keyoxide
Published: 2021-11-14 08:12:52

This is an OpenPGP proof that connects [my OpenPGP key](https://keyoxide.org/4792BF13985872DC12546B6FD679E0532311765C) to [this dev.to account](https://dev.to/rintan). For details check out https://keyoxide.org/guides/openpgp-proofs

[Verifying my OpenPGP key: openpgp4fpr:4792BF13985872DC12546B6FD679E0532311765C]
Welcome to the free open-source OLAP server project
Published: 2021-11-15 13:59:06

Welcome to the site of the [**eMondrian**](https://sergeisemenkov.github.io/eMondrian) project.

eMondrian is a free open-source [OLAP](https://en.wikipedia.org/wiki/Online_analytical_processing) server. It is based on the [Mondrian](https://github.com/pentaho/mondrian) project. OLAP server allows you to represent your database as a multidimensional space with dimensions and measures. It hides the complexity of underlying tables and their relations and allows you to interactively analyze data from multiple perspectives. eMondrian server can run on Windows and Linux operating systems.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j34edhvspxe64fjrw52k.png)

eMondrian supports XML for Analysis (XMLA) standard and OLE DB for OLAP at the level that makes it possible to connect to it from client tools such as Microsoft Excel, Power BI, Tableau and many others. The logic of the original Mondrian was changed in order to improve performance of queries specific to these clients and to support clients’ features, for example Excel’s sessions, calculated members and sets.

Any database that has a [JDBC](https://en.wikipedia.org/wiki/JDBC_driver) driver can be the source for eMondrian. eMondrian server is a Relational OLAP (ROLAP) server that means it always shows real time data from a source. This server runs queries written in the MDX language, reads data from a source database and presents results in a multidimensional format.

The most efficient way is to use [column store databases](https://en.wikipedia.org/wiki/Column-oriented_DBMS) as data sources for eMondrian. For example, [ClickHouse](https://clickhouse.com/) could run as a powerful and fast query engine while eMondrian works as a proxy representing data as cubes and executing MDX queries.
The First Git Commit
Tags: git
Published: 2021-11-14 23:30:53

![First Git Commit](https://cdn.hashnode.com/res/hashnode/image/upload/v1636921446152/iHG8R8JDK.png)

GitHub link: [https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290](https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290)
Accessible card component with pure (S)CSS (no JavaScript, the pseudo-content trick)
Tags: css, a11y, tutorial, webdev
Published: 2021-11-27 23:51:55

When creating the card component, sometimes it’s advisable (or required by design) to make the whole card clickable. But how to do so without compromising the usability? Below I share a useful pseudo-content trick to make the whole card clickable and maintain its accessibility.

## Problem statement
* the whole card needs to be clickable
* within the card there is also a “read more” link
* inside a card, there are other separate links to different URL-s
* you don’t want to harm the usability, e.g. allow the user to open all links in a new tab with a mouse right-click (context menu on touch devices)
* support custom styles for hover and focus states
* one last requirement: user should be able to select and copy the text within a card to the clipboard

How would you approach this task? Just a regular card component wrapped in an `a` element? Or maybe `onclick` in JavaScript directly on a `div` or `article` element (don’t do that!)?

How to handle such a case and maintain the accessibility in a simple and elegant way?

## Possible solution

1. Set `position: relative` on the container element
2. Set `position: absolute` on the link’s `:after` pseudo-content
3. Set value of `0` for `top`, `right`, `bottom`, and `left` properties on link’s `:after` pseudo-content
4. Combine it with `:focus-within` and `:hover` to style different states
5. Enhance it even further and make the text selectable with `z-index`
6. If you want to add other links inside a card, use styles from `card__separate` to make it selectable (and/or clickable).

### HTML
```html
<div class="card">
  <p>
    <a href="#optional" class="card__separate">Optional</span>
  </p>
  <p>
    <span class="card__separate">Lorem ipsum</span>
  </p>
  <a href="#card-link" class="card__link">Link</a>
</div>
```

### SCSS
```scss
.card {
  position: relative;
  border: 3px solid green;

  // Style hover and focus states.
  &:hover,
  &:focus-within {
    border-color: red;
  }

  // Make the content selectable.
  &__separate {
    position: relative;
    z-index: 2;
  }

  // Make the whole card clickable.
  &__link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
  }
}
```

## Demo
Check clickable area and try tab keyboard navigation in the following example:

{% jsfiddle https://jsfiddle.net/damianwajer/hbv2zajs result,html,css %}

## Credits & further reading
I first saw the pseudo-content trick technique on [Inclusive Components](https://inclusive-components.design/) website. Check it out for other solutions to card issues and more inclusive components examples.
UI Dev Newsletter #85
Tags: html, css, javascript, webdev
Published: 2021-12-02 14:16:56

## Links


[Backgrounds](https://bit.ly/3Ed1VZO)
Chrome Developers share a module where you will learn how to style text on the web.


[My Custom CSS Reset](https://bit.ly/3xtz2pK)
Josh Comeau shares his custom CSS reset and explains every rule in detail with examples.


[How I made Google’s data grid scroll 10x faster with one line of CSS](https://bit.ly/3E1HvDc)
Johan Isaksson describes how he improved Google Search Console page scrolling by making it 10x faster with a single line of CSS.


[Modern CSS in a Nutshell](https://bit.ly/3nVhCPL)
Scott Vandehey shares a high-level overview of the current state of CSS.


[Using Position Sticky With CSS Grid](https://bit.ly/32tpXBV)
Ahmad Shadeed explains why position: sticky isn’t working as expected with a child of a grid container.


[Make your website stand out with a custom scrollbar](https://bit.ly/3E0YNAv)
Estee Tey describes how to re-create the CSS Tricks scrollbar.


[Cross-fading any two DOM elements is currently impossible](https://bit.ly/310jfDj)
Jake Archibald shows why the cross-fading is not working when neither element is fully opaque.


[Squoosh](https://bit.ly/3cUPgia)
Squoosh is the image optimizer that allows you to compress and compare images with different codecs in your browser.



**Happy coding!**

[Subscribe to the newsletter here!](https://buttondown.email/starbist)
Weekly web development resources #98
Tags: weekly, webdev
Published: 2021-12-01 06:52:12



______

##[Twind](https://twind.dev/)
[![Twind](https://wweb.dev/weekly/content/98/twind.jpg)](https://twind.dev/)
A small, fast, most feature complete tailwind-in-js solution.

______

##[Using Emojis in HTML, CSS, and JavaScript](https://www.kirupa.com/html5/emoji.htm)
[![Using Emojis in HTML, CSS, and JavaScript](https://wweb.dev/weekly/content/98/emojis.jpg)](https://www.kirupa.com/html5/emoji.htm)
An article on how to use emojis in your web documents.

______

##[nnnoise](https://fffuel.co/nnnoise/)
[![nnnoise](https://wweb.dev/weekly/content/98/nnnoise.jpg)](https://fffuel.co/nnnoise/)
A SVG generator for subtle or not-so-subtle noise textures.

______

##[Icons in Pure CSS](https://antfu.me/posts/icons-in-pure-css)
[![Icons in Pure CSS](https://wweb.dev/weekly/content/98/icons-css.jpg)](https://antfu.me/posts/icons-in-pure-css)
An article on how to use any icons on-demand in purely CSS.

______

##[Image Optimizer](https://github.com/antonreshetov/image-optimizer)
[![Image Optimizer](https://wweb.dev/weekly/content/98/image-optimizer.jpg)](https://github.com/antonreshetov/image-optimizer)
A free and open source tool for optimizing images and vector graphics.

______

##[42 things I learned from building a production database](https://maheshba.bitbucket.io/blog/2021/10/19/42Things.html)
[![42 things I learned from building a production database](https://wweb.dev/weekly/content/98/database.jpg)](https://maheshba.bitbucket.io/blog/2021/10/19/42Things.html)
A nice article by Mahesh Balakrishnan.

______

##[a11y myths](https://a11ymyths.com/)
[![a11y myths](https://wweb.dev/weekly/content/98/a11y-myths.jpg)](https://a11ymyths.com/)
A small website debunking common accessibility myths.

______

##[EmailTimer](https://easytimer.app/)
[![EmailTimer](https://wweb.dev/weekly/content/98/timer.jpg)](https://easytimer.app/)
A free countdown timer for your emails.

______

##[Pexel](https://www.pexel.xyz)
[![Pexel](https://wweb.dev/weekly/content/98/pexel.jpg)](https://www.pexel.xyz)
A Canva style Social Media Kit for creating quick social media creatives.

______

To see all the weeklies check: [wweb.dev/weekly](https://wweb.dev/weekly)
Add members to the .md file using github action
Tags: actionshackathon21
Published: 2021-12-01 07:28:42


### My Workflow
This workflow read all the files in members folder and add in a table in the Members.md file it runs on PUSH event.
[github Repo](https://github.com/abhigoyani/githubActionToAddMembersToFile)


### Submission Category: 

Wacky Wildcards


### Yaml File or Link to Code

Workflow:
```YAML
name: Add members to .md file

on:
  push:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:

      - name: checkout repo content
        uses: actions/checkout@v2 # checkout the repository content to github runner

      - name: setup python
        uses: actions/setup-python@v2
        with:
          python-version: '3.7.7' # install the python version needed

          
      - name: execute py script # run sj-gobierno.py to get the latest data
        run: python add.py
      
      - name: Commit files
        run: |
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
          git config --local user.name "github-actions[bot]"
          git commit -m "Added member" -a
      - name: Push changes
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branch: ${{ github.ref }}
```

add.py :

```python

import os

users = []
data = '<td align="center"><a href="https://github.com/{username}"><img src="https://github.com/{username}.png" width="100px;" alt=""/><br /><sub><b>{name}</b></sub></a></td>\n'
for filename in os.listdir("members"):
    with open(os.path.join("members", filename), 'r') as f:
       text = f.readlines()
       users.append({"name":text[1][7:-1],"username":text[2][11:-1]})


with open("Members.md","w") as f: 
    f.write("<table>\n")
    for i in range(len(users)):
        if(i%10 == 0):
            f.write("<tr>\n")
        f.write(data.format(name=users[i]["name"],username=users[i]["username"]))
        if((i+1)%10 == 0):
            f.write("</tr>\n")
    f.write("</table>")
```


### Additional Resources / Info

We are using this action in [BauddhikGeeks](https://github.com/Bauddhik-Geeks/Welcome-to-Bauddhik-Geeks)
N, manage easily your node versions
Tags: javascript, node, tutorial, productivity
Published: 2021-12-01 13:33:30

Before share a node JS tool you should consider these things:

- Your tool has no bugs
- Your tool has documentation
- **Your tool has compatibility between versions**

Compatibility is something important to keep in mind. Developers needs different versions according to their needs, so your tool must have support for different versions.


## The problem is...
The problem is that you need to install different versions for test it, and download and use the node installer for each version takes his time.
Afortunately there are a lot of tools for manage versions quickly. Today I'm going to talk about **N, a simple node version manager.**

---

## What is N?
N is a really simple Node version manager. It helps you to change between versions with a command.
N supports Linux and MacOS, but not Windows, unless you use [WSL](https://en.m.wikipedia.org/wiki/Windows_Subsystem_for_Linux).

---

## Here starts a short tutorial
Ok, you know what is N and why you need it. Now let's go to install it and learn some commands.

### Installation
Install N globally with your favorite package manager.

![installing N](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wjwz87b3gbjhhad7l05y.png)
Now you can use N CLI with `n`
 
### Install versions
Install a version with `n <version>`

![installing node from N](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b3le94f14e6e6niq5p5e.png)
You can also put `latest` or `current` instead of `lts`.
Once the version is installed, N will save in cache the version for be available offline at any moment. Similar to Yarn with node modules 🧵

### View installed versions
If you installed many versions (e.g. 16.5.0 and 14.18.2) you can view a list of cached versions and select which to install.
You should see something like this
![view and install](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lyqvfxejze2vr22y7x1c.png)
Use the arrow keys to change versions, and press enter for install.

### Uninstall versions
If you want to clear some specifics versions or all the cache, you can use the `rm` and `prune` commands, respectively.

![Uninstall](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zmjykzfaemwxckqg6330.png)

## It really works?
Yes, it works without problems. You can do `node --version` and check it.

---

Congratulations 🥳! You have a useful tool for manage node versions. You can check all commands in the [NPM page](https://www.npmjs.com/package/n) and view the source code in the [GitHub repository](https://github.com/tj/n) 🦑

Are you going to use N? You prefer other version manager? Tell me in the comments whatever you want 😄
How to recover the firmware of a NAS
Tags: nas, recovery, backup, homeserver
Published: 2021-12-01 11:46:53

# QNAP Firmware Recovery

##Check Hardware

1. Turn Off NAS.
2. Unplug Harddrives.
3. Use HDMI / USB plugs to control the nas manualy. 
(Keyboard / Mouse / Monitor)
4. Turn On NAS.

If the Bios won't boot without Harddrives the internal storage most likely has a Problem. 

A.) This might be the case if you just updated the Firmware Version

B.) or the Hardware might be broken.

In Case B you can just send in the NAS and get a new one since the internal Storage is soldered. (Sh*t happens)

If the BIOS boots up, check the Harddrives.
Unusual that both Harddrives break at the same time, but _just in case.._

If the BIOS shows `"Uncompressing Linux..."` tries to bring up the DOM. 

In general thats a good sign, if it keeps beeing stuck there thats a bid sign. Means we need to fix the DOM.

##Recover DOM

###Make a bootable USB Stick
Download unetbootin utility & the matching iso for your NAS

Unetbootin: http://unetbootin.sourceforge.net/

DSL: http://distro.ibiblio.org/damnsmall/current/dsl-4.4.10-initrd.iso

**DSL = "DAMN SMALL LINUX"**

Plug in USB Stick and format (Min. 1 GB / Fat32)

Install Software (unetbootin) and pick "Damn Small Linux" in Distro.

Flash the USB Stick the System/Distro

_little excourse_
Download the **right** System Image

in my case:
System Image (TS-251+)
TS-x51+ Series
(where the 'X' stands for the amount of installable hard drives)

`http://eu1.qnap.com/Storage/tsd/fullimage/F_TS-X51_20150605-1.3.0.img`

Copy the image to the `root` folder of the usb stick and rename the file to `dom.img`.

### Use USB Stick to repair the DOM
1.Turn Off NAS.
2.Unplug Harddrives.
3.Use HDMI / USB plugs to control the nas manualy. 
(Keyboard / Mouse / Monitor)
4.Turn On NAS & Press `F2` or `DEL` on StartUp
5.Choose the USB flash drive as boot device 
(If there are 2 USB Boot devices, *dont choose* “USB DISK MODULE PMAP”)

Open Command Line `Ctrl + Alt + Del`
and enter the following:
```
sudo su
fdisk –l
/dev/sda (should be your flash drive)
/dev/sdb or /dev/hda (should be your DOM drive)
```

The Size should be 128 MB or 512 MB

after understanding that, we follow with:

```
mkdir usbdrive
mount /dev/sda1 /home/dsl/usbdrive
cd /home/dsl/usbdrive
cp dom.img /dev/sdb
"dom.img" (as mentioned earlier, is your firmware image)
reboot
```

After that the NAS should boot normaly.
If the Firmware Version is at `1.x.x` the firmware need to run updates, otherwise the Hard drives cant be recognized.

> If None of this helped, your harddrive might be broken.

## Change Harddrive
If only one Harddrive is broken you can simply unplug the broken one and get a new one (in the same storage size)

At the moment you plug in the new one the NAS automaticly starts to synchrosize the Data from the First Harddrive to the new one.

_Raid Magic_
What to start with as a begginer in Web Dev??
Tags: discuss, webdev, beginners
Published: 2021-12-01 12:27:04

Well all the YouTube videos, some are true some are false.. But the statement I always say ....

Don't spend money. As it can happen that after spending money, sometimes the money goes waste and you don't learn anything..
So the first thing to do is. Start with HTML5. And see YouTube to start learning...



## CONCLUSION : Start with HTML5 using YouTube videos.