teleren/devto huggingface dataset:
Azure Private Link Service + Load Balancer + AKS Limitation
Tags: azure, kubernetes
Published: 2022-03-21 18:26:43

As a Cloud Solution Architect for Microsoft, I'm privileged to work with some great companies which have unique challenges.

One of our large partners was migrating their solution from AWS to Azure.  Their configuration exposes 10+ services inside Azure Kubernetes Service (AKS) to their customer inside a different Azure Tenant and Subscription through [Private Link Service and Private Endpoints](https://dev.to/lastcoolnameleft/aks-private-link-service-private-endpoint-2kak).

![Multiple Private Link Endpoint](https://raw.githubusercontent.com/lastcoolnameleft/kubernetes-examples/master/architectures/private-link-endpoint/private-link-endpoint-multiple.png)

The issue is that at this time is:

* A single AKS cluster can only have 1 [Internal Standard Load Balancer](https://docs.microsoft.com/en-us/azure/aks/internal-lb)

* A single [Load Balancer can only have 8 Private Links](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#private-link-limits)

This means that they could expose 8 services, but not the rest of them.

Unfortunately, [the feature to enable Multiple LB's](https://github.com/Azure/AKS/issues/2174) is not currently available in AKS. 

After talking to other AKS experts, we proposed the following:
* Use 1 PLS
* Use 1 LB
* [Specify the SAME IP ADDRESS](https://docs.microsoft.com/en-us/azure/aks/internal-lb#specify-an-ip-address) as part of `spec.loadBalancerIP` in the Service YAML and use different ports for each service

This allowed them to reduce the number of Private Endpoints, reduce their operational complexity as well as use [Kubernetes native Port Mapping](https://kubernetes.io/docs/concepts/services-networking/service/) with minimal architectural change.

We reviewed this with the partner and after some Helm chart + Terraform work, this met their needs swimmingly.

Mission Accomplished.
LAZY LOADING IN ANGULAR
Tags: webdev, angular, javascript, react
Published: 2022-03-21 18:18:38

**What is Lazy Loading??**
Consider our application has 3 routes, Every routes has a module associated with it that contains their respective component,services and directives. 


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

**Here you can see we have 3 routes:**

- Root

- Products 

- Admins

Now when user visit root route then we must be loading the respective modules, and then we load other modules when it is required.

**But does it happen???**
_The answer is NO. What Angular does is it load all the modules whenever we visit any page_.

**Wouldn't it make sense if we load only respective modules.**

**Here our LAZY LOADING comes into play**

_In lazy loading the modules are loaded only if the user hit the route of that particular module._

 **THE ADVANTAGES OF LAZY LOADING MODULE ARE:**

- _Initially we load a smaller bundle and the modules only for our root route._

- _We load more modules /bundles as we hit the route for the following(modules will load only when we need)._

- _In this way our root route will load faster because it has a lot smaller bundle to load now .And our Routing Optimisation is achieved with Lazy Loading._

**Here  you can see first root route will load and all component ,services related to it in modules will load**


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

**After this when we direct to the other route ,only then the modules for respective route will loaded . And you will notice root have not took much time in loading. Because the other modules are loading now according to requirement.**


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

IMPLEMENTING LAZY LOADING I WILL COVER IN NEXT POST
**Thanks to @Maximilian. From his Udemy Course I took the reference**

_If you found it helpful do follow ,like and share :)_
How Video Enhance AI works
Published: 2022-03-21 17:53:49

---
title: How Video Enhance AI works
published: true
description: We look into Video Enhance AI giving some examples and talking about how it works.
tags:
cover_image: https://i.ytimg.com/vi/Dz_B1wZRqBw/maxresdefault.jpg
---

{% youtube Dz_B1wZRqBw %}

We look into Video Enhance AI giving some examples and talking about how it works.
Story of deploying kubermetes pod to every node and preventing them from termination
Tags: kubernetes, devops, sre, tutorial
Published: 2022-03-21 17:53:11

During the development of one of our new features, I faced an interesting challenge. The feature requests are simple and clear: there is an existing DaemonSet (workload running on "every" node) on the target Kubernetes cluster, we have to deploy another workload next to each instance and prevent workload termination under certain conditions. Let's split the problem into two parts; deployment and prevention.

https://mhmxs.blogspot.com/2022/03/story-of-deploying-pod-to-every-node.html
Cats - Meow! 🐱
Tags: cats, linux
Published: 2022-03-21 17:52:42

The cat (Felis catus) is a domestic species of a small carnivorous mammal.

And is also a standard Unix utility, yay!

Cat is used to read files sequentially, writing them to standard output.

Open your terminal; use **touch** to create a file:
``$ touch file``

``$ echo "Hello World" >> file ``

Prints "Hello world"
``$ cat file``

Copy the file contents:

``$ touch file2``

``$ cat file >> file2``

Prints "Hello world"
``$ cat file2``

Concatenate multiple files:
``$ touch file3``

``$ cat file file2 >> file3``
Help Me With This Code
Tags: html, help
Published: 2022-03-21 17:52:17

Hello Guys, I have a problem with my script, I have classified site,and when someone want create listing he has option to add his website, but the problem here when he adds the site, the link its not clickable, i saw the code but didn't understand anything, can u pls help me

`			{{-- url --}}
			<div class="row mb-3 {{ $requiredClass }}">
				<label class="col-md-3 col-form-label" for="{{ $fieldId }}">
					{{ $field->name }}
					@if ($field->required == 1)
						<sup>*</sup>
					@endif
				</label>
				<div class="col-md-8">
					<input id="{{ $fieldId }}"
						   name="{{ $fieldName }}"
						   type="text"
						   placeholder="{{ $field->name }}"
						   class="form-control input-md{{ $errorClass }}"
						   value="{{ $defaultValue }}">
					<div class="form-text text-muted">{!! $field->help !!}</div>
				</div>
			</div>`
Blockchain or Python courses
Published: 2022-03-21 17:51:00

Hi, 

We have recently created a foundation in Nigeria based on learning. 

The goal is to provide a 6 month online courses around Blockchain or Python to about 30 students who are between 15 and 17 years old (after leaving secondary school). 

We are therefore looking for a course in this area, in English, ideally with a certification at the end. 

Do you have any good recommendations ? 

Many thanks. 

Sarah
A Brand NEW Kind of DEBUGGER for JavaScript (Dbux: Why? What?)
Tags: javascript, news, programming, productivity
Published: 2022-03-21 17:48:59

---
title: A Brand NEW Kind of DEBUGGER for JavaScript (Dbux: Why? What?)
published: true
description: Having problems finding those pesky bugs? Dbux is a new kind of debugger (fully open-source) that shows you everything you need. Feel free to try it out and give us feedback!
tags: javascript,news,programming,productivity
cover_image: https://img.youtube.com/vi/N9W6rhHMKbA/0.jpg
---

## Intro Video

Dbux is an integrated debugging environment (IDbE) and omniscient debugger for JavaScript runtime analysis.

The following video:

* explains why we need better Debuggers,
* demonstrates all of Dbux's tools with plenty of examples,
* is fully timestamped (if you are impatient, we recommend taking a quick glimpse by skipping around a bunch).

{% youtube N9W6rhHMKbA %}



## On a Personal Note

I have been programming for some 20+ years, in all kinds of languages. And until recently, I could not quite figure out why sometimes even some of the easiest bugs take some 10+ minutes to find.

It was that frustration that moved me to start this project on 2019/11/16 (2+ years ago). The project has been driven by the wish to better and more intuitively understand what is going on under the hood, not only in the applications that I build myself, but also in all that third-party code that I am making such heavy use of. 

At this point, I feel, this project has started providing some very good answers to those mind-boggling questions I had before. I start to feel a greater sense of clarity when confronting that "dark matter" of debugging, even when Dbux is not available.

## Call to Action

If you are so inclined, please check it out, and just bombard me with any questions, complaints, any kind of feedback. I would greatly appreciate it!



## References

GitHub: https://github.com/Domiii/dbux/
Documentation: https://domiii.github.io/dbux/
Discord: https://discord.gg/QKgq9ZE
Install: https://marketplace.visualstudio.com/items?itemName=Domi.dbux-code

The video briefly mentions Henry Lieberman's informal [The Debugging Scandal and What to Do About It](https://web.media.mit.edu/~lieber/Lieberary/Softviz/CACM-Debugging/CACM-Debugging-Intro.html#Intro). I strongly recommend the avid reader to check that out as well.

Also: shout-out to https://www.replay.io/!


## Credit

Lastly, thanks go out to [Michael](https://github.com/MiccWan) who has been with me from the beginning, and everyone else, who, for a brief period of time, contributed whatever they could!
Important Online Learning for Dev
Published: 2022-03-21 17:46:56

The internet now pervades almost every aspect of our life. For small companies, blogs, and brands, a decent user experience is the "make-or-break" component. However, web developers aren't simply needed by small businesses. Large firms, multinational corporations, and government agencies, on the other hand, require the experience of web designers and developers. While some people may teach themselves programming abilities or have a natural affinity for user interfaces, obtaining a Bachelor's in Web Development is a good way to get started in the area. [Pay someone to take my online class](americanclasshub.com) is the way which students are implying to be on top of every skill. This degree is all the more flexible and economical because it is earned through online classes!

Better still, unlike 15-20 years ago, current online degrees are not looked down upon. A school may have indicated on a student's diploma that it was achieved online back then. However, this isn't always the case nowadays.
#Day 2 of Solving 450 questions[10/450]
Tags: programming, python, algorithms
Published: 2022-03-21 17:39:38

📅 Day 2: March 21,2022
Problem Solved today:
[Minimize the Height of Tower](https://practice.geeksforgeeks.org/problems/minimize-the-heights3351/1#)
[duplicate number(O(n) with constant space](https://leetcode.com/problems/find-the-duplicate-number/submissions/)

Things i Learned:

1. This problem took lot of effort(3hrs) as dealing with negative test cases was getting complex.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rvzrk4axtg5jb98y9fyq.png)
2. The second problem could be solved in multiple ways:

             - 1.  XOR operation[xor of same two number is 0]
             - 2.  Standard Floyd's tortoise and hare algorithm

-I used the first approach but the second option is a lot faster

Result:

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

 

 
[GITHUB](https://github.com/hesoyamm/450questions)
Ng-News: Issue 22/11
Tags: angular, javascript, programming, webdev
Published: 2022-03-21 17:14:47

This is a weekly posting, covering the latest updates from the Angular community.

{% youtube QQ2wu-TLJhg %}

## Igor Minar and the future of web frameworks

Igor Minar has been one of the central figures behind Angular for many years. He left Angular last December and published now an article where he laid out his view of the current state of JavaScript frameworks.

Igor has identified three generations of JavaScript frameworks so far. Currently, we reached a point where we have to build huge applications, but the frameworks themselves are too hard, they produce a lot of JavaScript, and the parts of the application are too tightly coupled.

According to Igor, the next generation of frameworks will make use of the improvements in terms of latency. And that allows us to move more of the processing back to the server-side. That doesn't mean plain SSR but is more of a hybrid approach.

So summarised, an excellent write-from somebody who knows a lot about web development and it is definitely worth the time to read and study.

Interestingly, the Angular team said they would look into potential improvements in the SSR area in the second half of this year. Let's see what they'll come up with.

{% twitter https://twitter.com/IgorMinar/status/1504233853249994753/ %}

## Doug Parker: Between Server-Side- and Client-Side Rendering

By coincidence, Doug Parker, tech lead of the Angular tooling team, wrote an article including a prototype about this "hybrid client-/server-side" approach. But instead of implementing it in Angular, the prototype uses only native JavaScript.

So if you are interested in this topic, definitely take a look at it.

{% twitter https://twitter.com/develwoutacause/status/1505325330470297601 %}

## Miscellaneous

### Angular 13.3

Angular had a minor version upgrade to 13.3. It now includes TypeScript 4.6, which I covered in detail in 

{% embed https://dev.to/rainerhahnekamp/ng-news-issue-2209-b48 %}

### EnterpriseNG - Free All-Access Pass

Enterprise took place last year and it is now possible to watch all session recordings.

https://pages.ng-conf.org/enterpriseng-2021-2/

### Nx 13.9

Nx is an extension to the Angular CLI. The latest updates includes many bug fixes but also new features.

https://github.com/nrwl/nx/releases/tag/13.9.0

### PrimeNg 13.3

PrimeNg is a very popular UI library. 

https://github.com/primefaces/primeng/blob/master/CHANGELOG.md#1330-2022-03-16

### Transloco 3.2

Transloco is an internationalization library for Angular from the same team which made Akita, Elf, and Spectator. 3.2 adds a new event which triggers when the language is changed.

https://github.com/ngneat/transloco/blob/transloco-3.2.0/libs/transloco/CHANGELOG.md

### Prettier 2.6

Prettier is an automatic code formatter. The latest version supports an option to have one line per HTML attribute. This feature is required by Airbnb's & Vue's JavaScript style guides.

It also fully supports TypeScript 4.6.

https://prettier.io/blog/2022/03/16/2.6.0.html
Intro To Elixir 🧪
Tags: elixir, programming, tutorial, codenewbie
Published: 2022-03-21 17:03:58

Elixir is a functional programming language that is gaining popularity. Here at [CodeCast](codecast.io), we have built our server using Elixir and Phoenix, and our founder, Tam, is very passionate about the programming language.

Being as new as it is, it's hard to find Elixir courses online that are up to date and include everything we hope to see. So with that in mind, he created the Intro to Elixir course on CodeCast with over 7 hours of content and has listed it for free. You just need a [CodeCast account](codecast.io/signup)!

![Elixir Series](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nbb3ne30bzeb73edspho.png)

He describes the Series as follows:

In this series, I introduce the basic building blocks of Elixir.

The series is designed for programmers who know some other programming language. For instance, in this series, I won’t be explaining what are variables, functions or conditionals. I will assume that you know them and then show you how these (and many other) things are done in the Elixir language.

We will learn the basics of Elixir and we will learn how to create projects and how to integrate with APIs using HTTP. We will integrate with https://swapi.dev/ which is a fun open API that returns Star Wars character and movie data.

My hope is that by the end of the series you will be excited about Elixir as I am to pursue it further.

I follow classroom-style teaching, where I dig deep into the concepts and I intentionally repeat certain things for memory.

You can see the code for the series on Github here: https://github.com/CodeCastTeam/intro_to_elixir

The link to the course can be found here: https://www.codecast.io/series/58-intro-to-elixir

Good luck and happy coding!
HTML5
Tags: webdev, html
Published: 2022-03-21 16:59:37

Hey there! Just out of curiosity, I'm asking you what's an H-T-M-L? 

Good! It's called _Hypertext Markup Language_ and it's not a programming language. 

Why it's called as a markup language? Because there are tags included and it's not dynamic. Didn't get through? See this example.

"<"html> "<"/html>

• That's a html tag, my friend. Try to see it without quotes. It's the begining tag and the ending tag with a backslash "/". 

• Form basic web development projects to deployment of your work, you're gonna need HTML. 

• index.html is the root file when it comes to deploying your project in a remote server.

As we speak of programming languages, what's the syntax of HTML5? 


![Semsntics of HTML](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bf5219t6nvx0477ut4jn.jpg)

Whenever you wanted to make a website for yourself, you're gonna make use of these tags for sure.
Day-47 Training At Ryaz
Tags: javascript, webdev, beginners, mongodb
Published: 2022-03-21 16:45:31

Date:21/03/2022
Day:Monday

Today's started at about 10:40 am as I was done with creating the course.js file so, the naming conventions, various inputs like: auto,price,category,date etc were declared inside the create course so, as we done want messy and inappropriate data would be added by the user sower were supposed to use validators as we have various validators like built-in validation ,custom validation, Async-validation ,so, we use this validators according to our ease like in name attribute I used the required ti true and set bot minimum length and maximum length as if the user enter more or less than certain limit he would receive error. and after this in category attribute I declared the enum list so, that user would only select from given list if user would add beyond it so, he would receive the error and in tags attribute I used asynchronous validate as user have to specify at least one tag otherwise the error would be reflected and In price attribute I declared custom validator as I declared the min and max cost of course and if user would add the price of course as 70.6 it would be rounded off to 80 so, this would help to normalise the cost of course.so, this way my day ended up.
#ESP32CAM – WebServer taking photos 📸 every N seconds #Arduino
Tags: englishpost, arduino, camera
Published: 2022-03-21 23:35:32

---
title: #ESP32CAM – WebServer taking photos 📸 every N seconds #Arduino
published: true
date: 2022-03-21 16:33:37 UTC
tags: EnglishPost,Arduino,Camera,EnglishPost
canonical_url: 
---

Hi !

Still learning with the ESP32 CAM board.

In today’s post the scenario is simple:

- Init the camera
- Init the local File System
- Take a photo every 5 seconds and store it in memory
- Creates an endpoint named [/photo] to return the last saved photo

As the previous sample, I’ll write this using Visual Studio Code and PlatformIO project, using the **AI Thinker ESP-32CAM** board.

Demo here is tricky, but hey, a selfie is always a good excuse.

![selfie with the esp32 cam](https://brunocapuano.files.wordpress.com/2022/03/selfie-with-the-esp32-cam.jpg?w=659)

As usual, the full sample code is in the demo repository.

Let’s review some noted from the code:

- The setup and loop are the key codes for this demo.
- In the setup, init wifi, fs, and camera
- As a visual clue, I turn on the flash 1 second after each one
- In the loop, the camera takes a photo every 5 seconds

```

void setup()
{
  // Serial port for debugging purposes
  Serial.begin(9600);

  // initialize digital pin ledPin as an output
  pinMode(FLASH_GPIO_NUM, OUTPUT);

  // connect to wifi
  initAndConnectWifi();
  flashOnForNSeconds(1);

  // init fs and camera
  initFS();
  initCamera();
  flashOnForNSeconds(1);
 
  // init and start server
  server.on("/photo", HTTP_GET, [](AsyncWebServerRequest *request)
            { request->send(SPIFFS, FILE_PHOTO, "image/jpg", false); });
  server.begin();
}

void loop()
{
  capturePhotoSaveSpiffs();
  delay(5000);
}

```

Next steps will include learning Edge Impulse and Computer Vision in this device !

Full code available in my [ESP32 Cam Demo repository](https://github.com/elbruno/ESP32camDemos).

Happy coding!

Greetings

El Bruno

More posts in my blog [ElBruno.com](https://www.elbruno.com).

* * *
Question for software developers
Tags: beginners, programming, language, experts
Published: 2022-03-21 16:16:49

I would like to know, if you, if you would like to learn for software development, you would prefer learning an usual **programming language** or a **no-code/low-code** technology?

I have to work a lot with both and kinda enjoy the mix of it. But I prefer a lot programming with languages like JavaScript or C#. It is understable, that it takes more time and effort to master it, which can make it frustrating for beginners, but in the end, you can not only solve a lot more problems, but also create better solutions for complex systems.

But I also should add, that there are no-code/low-code applications extended with custom development, which is sometimes needed anyway.

What is your opinion?
Ansible İle Miço Debian Ajanı Dağıtma
Tags: ansible, mico, liman
Published: 2022-03-21 16:12:33

Yerli bir SCCM alternatifi olan Miço, windows işletim sistemi, redhat ve debian tabanlı işletim sistemlerine rahatlıkla kurulabilmektedir. 
Birden fazla linux makineye kurulum yapılmak istendiğinde akla ilk ansible gelmektedir. 

Bu dokümanda Pardus 21 Sunucu üzerine kurulu ansible uygulaması kullanılarak Debian tabanlı makinelere Miço ajanının kurulumu anlatılmıştır. [(github deposu)](https://github.com/aciklab/ansible-mico) 

- Öncelikle Pardus 21 Sunucusu üzerine ansible ve gerekli diğer paketler yüklenir
```
apt install ansible git sshpass
```
- /opt dizinine gidilerek `ansible-mico` indirilir
```
cd /opt
sudo git clone https://github.com/aciklab/ansible-mico.git
```
- Mevcut **Miço** deb paketi ve **osquery** paketleri `/opt/ansible-micofiles/deb/` dizini altına kopyalanır.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8s4ytf9oarftzqo7feap.png)

✅  osquery'nin en güncel paketi için [osquery'nin](https://osquery.io/downloads/official/5.2.2) ziyaret edebilirsiniz. 
- /opt/ansible-mico/inventory/hosts dosyasına `[deb]` başlığı altına Miço ajanı yüklenecek makinenin IP adresi, ssh kullanıcı adı, ssh kullanıcısının parola ve sudo parola bilgilerini yazmak gerekmektedir.
```
[deb]
192.168.5.8 ansible_ssh_user=sysadmin ansible_ssh_pass=1 ansible_sudo_pass=1
```
- /opt/ansible-mico/vars/mico-vars.yml dosyası içerisine Miço sunucusunun ip adresi aşağıdaki şekilde yazılır.
```
mico_server: "192.168.5.10"
```
- /opt/ansible-mico dizinine gidilir ve aşağıdaki şekilde ansible komutu çalıştırılır.
```
cd /opt/ansible-mico
ansible-playbook playbooks/deb.yml 
```
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rjd2whxjzrmftsecktf3.png)