teleren/devto huggingface dataset:
Importance of reading documentation
Tags: documentation, programming, beginners
Published: 2022-04-19 07:58:18

Basically we, the beginners, are too bored to read the documentations. This is normal. Because, we don't have that much patience to read the large size of documentation. So, what do we do normally? We watch tutorials one to another. But, when we learn something from one tutorial and want to do some projects from another tutorials, we feel completely empty. Sometimes, we find that what is being shown in the current tutorial is not shown in the previous tutorial. We trapped in tutorial hell.

But when we learn something by reading documentation, we have all the topics of that programming language in front of us. We don't need to memorize everything. Just follow the documentation and practice accordingly. Then no matter from which you watch the tutorial, you don't feel everything is new. It is very important to develop this habit. Because it is impossible to teach 100% for anyone. That is why, everything is stated in the documentation. If you watch tutorial by not reading documentation, you will be trapped in tutorial hell. You can't learn anything. That is why, it is very important to read documentation. If you habituated to read documentation, learning process becomes too easy. You don't need to worry then, where I can find the best tutorial, who created the best content etc. You will learn anything by reading just docs. There are two awesome websites for learning programming languages. [w3schools](https://www.w3schools.com/) and [MDN](https://developer.mozilla.org/en-US/).

These two websites are the alphabet books of the programming languages. You can write big big essay, when you learn the alphabets properly. My personal recommendation for the beginners is [w3schools](https://www.w3schools.com/). 

So, my suggestion to all the beginners is please habituated to learn documentation. You don't regret.

Happy Learning.
Perl Navigator - Language Server for Perl
Tags: perl, lsp, vscode
Published: 2022-04-19 08:41:57

Perl Navigator is a language server for Perl used in vscode.

<img src ="https://raw.githubusercontent.com/bscan/PerlNavigator/main/Demo.gif">

<a href="https://github.com/bscan/PerlNavigator">Perl Navigator  - Language Server for Perl</a>
event loop
Published: 2022-04-19 08:41:17

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

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

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

logworld() from web api -> to task queue
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hipo7lhb84d4kboskyok.png)
  
logworld() from task queue -> to call stack 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d7qfi5znjgg628e14ewk.png)
 
empty call stack means the event loop done! 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nv1kr9iojdvxhi6t2dn5.png)
 
but if setTimeout time is 0 ? 
```js
function logWorld() {
    console.log('world');
}

function main() {
    console.log('hello');
    setTimeout(logWorld,0);
    console.log('goodbye');
}

main();
```
same thing happened 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uzx8fu2vg4fizfvuuq9r.png)
Installation of Perl on WSL 2 2022
Tags: perl, wsl2, linux, ubuntu
Published: 2022-04-19 08:20:50


[WSL 2](https://docs.microsoft.com/en-us/windows/wsl/install) is Windows Subsystem for Linux. You can install Linux on Windows using WSL 2. And you can use Perl.

![](https://en.perlzemi.com/images/installation/wsl2.png)

### Installation of WSL 2

Let's intall WSL 2. Run the following command on [Windows Command Prompt](https://en.perlzemi.com/blog/20080603121251.html).

<pre>
# Install WSL 2
wsl --install
</pre>[Ubuntu](https://en.ubuntu.perlzemi.com/) is installed by default.

Reboot Windows to enable WSL2.

Take a few minutes.

You see the following messages.

#### User Name

<pre>
Installing, this may take a few minutes...

Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
</pre>

I enter the following user name as an example.

<pre>
kimoto_ubuntu
</pre>

By right-clicking on Ubuntu terminal, you can paste the user name.

#### Password

Next, set password.

The setup of Ubuntu is completed.

### Boot Ubuntu

Let's boot Ubuntu.

"Start Menu" | "Ubuntu"

### Checking the installation of Perl

Perl is installed by default on Ubuntu. Let's check the installation of Perl.

<pre>
perl -v
</pre>

The version of Perl is displayed.

<pre>
This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-linux-gnu-thread-multi
</pre>

### Show files using Explore

You can see files on Ubuntu by the following path. **\\wsl$** is root directory of WSL 2.

<pre>
\\wsl$\Ubuntu\home\kimoto_ubuntu
</pre>
7 𝐎𝐩𝐞𝐧 𝐒𝐨𝐮𝐫𝐜𝐞 𝐏𝐫𝐨𝐣𝐞𝐜𝐭𝐬 𝐲𝐨𝐮 𝐡𝐚𝐯𝐞𝐧’𝐭 𝐡𝐞𝐚𝐫𝐝 𝐨𝐟 yet!
Published: 2022-04-19 08:15:00


Few days back I have published the list of a open source projects that you should check, well people liked it a lot Now I am posting another list of open source projects. 

- **Medusa** (MedusaJs) is an Open Source Shopify alternative. Create a headless commerce store in minutes. If you are a developer then you should give this a try.
Why medusa over Shopify?

Developer friendly - More customizations, hack around different things according to your needs.
As medusa is Open Source you have full control over customizations, data, codebase etc.
For more brief comparisons, read this article - Shopify vs. Open Source: How does Medusa compare?
Features:

Unlimited customizations and extensibility
Easy to get started

𝟭)𝗧𝗛𝗘 𝗙𝗨𝗖𝗞 (70.2k ⭐)
The Fuck is a magnificent app, that corrects errors in previous console commands.
Link: https://lnkd.in/eNkQp_vR

𝟮)𝗣𝗔𝗥𝗧𝗬𝗧𝗢𝗪𝗡 (7.2K ⭐)
Partytown is a lazy-loaded library to help relocate resource-intensive scripts into a web worker, and off of the main thread. Its goal is to help speed up sites by dedicating the main thread to your code and offloading third-party scripts to a web worker.
Link: https://lnkd.in/ey5U6ZMY

𝟯)𝗧𝗥𝗣𝗖 (5k ⭐)
tRPC allows you to easily build & consume fully typesafe APIs, without schemas or code generation.
Link: https://lnkd.in/ekvFAf54

𝟰)𝗠𝗮𝗻𝘁𝗶𝗻𝗲 (10k ⭐)
Build fully functional accessible web applications faster than ever – Mantine includes more than 120 customizable components and hooks to cover you in any situation.
Link: https://lnkd.in/e_krNrMd

𝟱)𝗗𝗔𝗙𝗡𝗢 𝗝𝗦 (3.3k ⭐)
Danfo.js is a javascript package that provides fast, flexible, and expressive data structures designed to make working with "relational" or "labeled" data both easy and intuitive. It is heavily inspired by Pandas library.
Link: https://lnkd.in/eghGYyUK

𝟲)𝗦𝗨𝗣𝗘𝗥𝗧𝗢𝗞𝗘𝗡𝗦 (5.7K ⭐)
Add secure login and session management to your apps. SDKs are available for popular languages and front-end frameworks.
Link: https://lnkd.in/eew-fPDB

𝟳)𝗠𝗘𝗜𝗟𝗜𝗦𝗘𝗔𝗥𝗖𝗛 (26K⭐ )
It is a powerful, fast, open-source, easy to use, and deploy search engine. Both searching and indexing are highly customizable. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box.
Link: https://lnkd.in/e5Qegs5M

Mentions

Some of the best free open-source alternatives of the paid application in the market.
Eulers license - DCTF 22
Tags: ctfs
Published: 2022-04-18 23:05:15

I took part to the [DCTF 2022](https://ctftime.org/event/1569) with the team [Ulisse](https://ulis.se/) of the University of Bologna.

The Bookstore.java challenge stated that:

> Someone who doesn't care about bandwidth usage decided to package both the server and client binaries in a single file... The server of course is meant to run on linux, and the client on Windows.

We get a PowerShell file `eulers_license.ps1` that contains:
- a `binary_linux` var containing the server code encoded in base64.
- a `binary_win` var containing the client code also encoded in base64.

## The linux binary

The linux binary is very easy to reverse. In fact by decoding it we get a python server which has a huge SQLi vuln:

```python
lice = request.args.get("license_key")
query = "SELECT * FROM license_keys WHERE license_key = '" + lice + "';"
```

we can proceed with a basic SQLi like `' OR 1=1 -- ` and get the first part of the flag (which is the second one really):

> `_python_is_easy_to_reverse}`

## The windows binary

The windows exe is a little bit harder to reverse. By looking at it with ghidra we understand that it must be:
- a 10 digits number
- a prime number
- it has something to do with Euler

By a combination of chance and testing we come across the number [`2147483647`](https://en.wikipedia.org/wiki/2,147,483,647) which is a prime number discovered by Euler.

Providing this input to the client gives us the output:
```
Enter eulers license key: 2147483647
dctf{2147483647
Failed to contact euler.dragonsec.si for license confirmation...
```

> `dctf{2147483647_python_is_easy_to_reverse}`
Why you should contribute to Open Source Projects?
Tags: opensource, webdev, javascript, beginners
Published: 2022-04-19 08:08:03



Open Source Software (OSS) can be defined as any software that has been released for the purposes of giving other people the rights to study, use, change, contribute to, and distribute the software. There are often licenses and documentation accompanying the source code that detail specific rights and information regarding the open-source project.

1. Increase your knowledge and skills with a particular technology -

- When you contribute to open source you have to read a lot of code, go through the documentation and learn new technologies.

- All the knowledge gained through discussions with project members and by contributing actively to the code base represents an often underestimated competitive advantage for you and your company.


2. Contributing to open source project helps your reputation and can leverage your career

- These days companies want their employees to have hands-on experience with new technologies if you are contributing to open source you don't have to prove your skills it will all be visible in your GitHub profile.

- Active open source contributions emphasize your expertise and knowledge, more than certificates alone will ever do. This is beneficial for advancing your career, be it at your current or an interesting, future employer.

3. Contributing to open source projects you are using in your projects lets you better deal with potential risks and plan for the future

- When you are adding a new feature or fixing any bug you have to keep all things in mind what impact it will have in the future how it will change the functionality and a lot more questions.

- Open source projects usually have a much more transparent roadmap, simply for the sake of collaborating with the contributors, who need to know, where the project is heading for.

4. Contributing to open source projects is fun and gives you personal satisfaction

- Once you are comfortable with the codebase it is more of a fun activity to code daily and fixes new bugs. You enjoy the process more than the results.

- While in your own projects you may be in the position to act quickly when it comes to design or architectural decisions, there may be a lot more discussions in open source projects.
A Nice Developer Joke For Today
Tags: jokes, dailydeveloperjokes
Published: 2022-04-19 08:00:28

---
title: "A Nice Developer Joke For Today"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes
---

Hi there! Here's today's Daily Developer Joke. We hope you enjoy it; it's a good one.

![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e12592cb43a5.png)

---

For more jokes, and to submit your own joke to get featured, check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/). We're also open sourced, so feel free to view [our GitHub Profile](https://github.com/dailydeveloperjokes).

### Leave this post a ❤️ if you liked today's joke, and stay tuned for tomorrow's joke too!

_This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit._

<!--
Joke text:
___Q:___ What did the Class say in court when put on trial?

___A:___ I strongly object!
 -->
Jenkins not executing jobs (pending – waiting for next executor)
Tags: jenkins, pipeline, devops, cicd
Published: 2022-04-19 07:45:21

#### Problem

In jenkins while executing multiple jobs in parallel. Upto a specific number of jobs are running in parallel, but beyond that, if we submit any job, it was going to waiting state.

#### Solution

In this case, jenkins is executing jobs in parallel upto some number. That means somewhere we need to increase the parallelism paramater.

- go to Jenkins -> Manage Jenkins -> Manage Nodes
- check whether all nodes are active and healthy
- Check whether disk space is available in nodes

If everything is fine and if the machine have enough hardware configuration, you can increase the number of executors.

#### How to increase no of executors in jenkins

By default Jenkins has 2 executors. But you can increase the no of executors. You can follow the below given steps.

- Go to manage Jenkins.
- After that click `om` configure system.
- Inside configure Jenkins you can find #of executors parameter.

Now you can set your desire executors.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a1tri5b3ft40qhdgntci.png)
Bookstore.java - DCTF 22
Tags: ctfs
Published: 2022-04-18 23:04:14

I took part to the [DCTF 2022](https://ctftime.org/event/1569) with the team [Ulisse](https://ulis.se/) from the University of Bologna.

The Bookstore.java challenge stated that:

> Web developer left the company becouse he was not being paid. He left some hidden features for him, to bypass security. Can you find the vunerability? http://book-store.dragonsec.si

And gave us a `book_store.jar` file.

## The Log4Book

If we open the jarfile with a decompiler (like [JD-GUI](https://java-decompiler.github.io/)) we can see that there is a vulnerability in the log analyzer.

```java
Pattern pattern2 = Pattern.compile("get\\{.*\\}salt=" + System.getenv("SALT"));
Matcher matcher2 = pattern2.matcher(mssg);
String substring2 = null;
if (matcher2.find()) {
   substring2 = matcher2.group();
}
if (substring2 != null) {
    downloadFile(substring2.substring(substring2.indexOf(123) + 1, substring2.indexOf(125)));
}
```

If the log string contains the template `get{...}salt=` plus the environment var `SALT` the program tries to send an HTTP request to the url between `{...}` with the header `Not-Found:` and the env var `NOT_FOUND` as the value (which I suppose is the flag).

```java
URL link = new URL(url);
link.toURI();
HttpURLConnection conn = (HttpURLConnection) link.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("not-found", System.getenv("NOT_FOUND"));
```

## Finding the SALT environment value
We're given a hint:

> Method how the salt is generated is given through variable names in one java class. The salt is 8 chars long.

If we look at the class `Art` we can see that there are two strange variable names:

```java
> String frequency = fontType.getValue();
int analysis_should_be_fun = findImageWidth(textHeight, artText, frequency);
```

which create: *frequency analysis should be fun*

## Analyzing the frequency
Inside the jar we find a book.json file, which has 8 paragraphs of a shakespearian play.

After trying to find some studies about the frequency analisis of Shakespeare plays without any result, we remember that the hint stated that the salt is **8 chars** and there are exactly **8 paragraphs** in the page presented in the website and in the file `book.json`.

If we join the most repeated letter of each paragraph, we get the salt and then we can get the program to ping our url (ngrok) with the flag.

> Salt: `oeeeeooo`

> Flag: `dctf{L0g_4_hid3n_d@7@_n0t_s0_h@rd_righ7}`
I'm WithoutPants, and I develop Stash, an organiser for your porn
Tags: introductions, go, react
Published: 2022-04-19 07:05:46

Stash is a self-hosted webapp for managing and serving a personal porn collection. The server side is written in Go, with a graphql interface, and the front-end uses React.

I have 14 years of industry experience, working on full stack applications using C++, Java and Javascript. 

I began contributing to Stash in mid-2019. I'd had a small amount of experience with Go with work, but Stash was the project that really got me to learn Go. Similarly, it was the first React project I'd been exposed to. Prior to that, I'd used AngularJS and Angular in my work and personal projects.

I was made redundant at the beginning of 2020, just prior to the pandemic really taking off. By this time, I was a regular and significant contributor to Stash and helped launch stash-box, a central repository of porn metadata. I had originally decided to take the year off away from employment to work on some personal projects. Instead, I ended up putting a significant amount of effort into improving Stash, and I decided to continue on this year. I typically average between 12 and 18 hours a week developing it. Over the last two years, I believe it's become quite popular in its particular niche.

I hope to share my knowledge and experience by sharing the mistakes that I've made during my time working on stash. I feel that it has taken a long time for the "thinking in go" way to really click with me, and I think this will be illustrated quite clearly as I document my efforts to refactor the codebase. I don't purport to be an expert, but I do hope that people may learn something from my mistakes.

I also aspire to share my somewhat unique perspective in committing my time to an app in this domain, and my attempts to draw an income from it.

Despite the sphere that Stash occupies, you may be assured that I will of course be keeping everything here technical and safe-for-work.

You can check out Stash on Github [here](https://github.com/stashapp/stash). I'm on Github as [WithoutPants](https://github.com/WithoutPants).
ng2-smart-table Custom Render Component || dynamic column ng2-smart-table with example
Published: 2022-04-19 07:02:38


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ciiczhh4cqhyxhup2jj3.png)
 
These are some questions that we found after keyword search and i decided to make a article on this topic .so as we all know angular is very good and strong framework and we can achieve everything with the help of libraries available in npm (Node package manager). So from huge libraries we also have one which is  known as ng2-smart-table whixh is nothing but a inbuilt table structure we can simply use this table simply installing this library in our application by running this command 


npm i ng2-smart-table

this command will add the ng2-smart-table to the package JSON dependency section

For more please visit this link

https://www.technoknowledge4k.xyz/2022/04/ng2-smart-table-Custom-Render-Component---ng2-smart-table-stackblitz.html
How to resolve "Failed to resolve loader: sass-loader" Error in VueJs 3?
Tags: javascript, webdev, beginners, css
Published: 2022-04-19 06:53:56

How to resolve "Failed to resolve loader: sass-loader" (or) "TypeError: this.getOptions is not a function" Issue in VueJs 3?

### Solution:-

```sh
cd <Root of the Project Directory>
npm install -D sass-loader@10.1.1 sass
rm -rf node_modules
npm install
npm run serve
```
Angular set and patch value in Template driven forms
Tags: angular, typescript, javascript, webdev
Published: 2022-04-19 06:46:08

Hey Guys!!!
I was going through angular forms and found a topic quite confusing have gone through a lot of youtube tutorials which are different from another, every one explains in their own way 
So decided to make a post on this in-depth.
we are going to see in how many ways set and patch value can be used in angular **template-driven forms **

and common errors that I have encountered while setting and patching values in angular forms 

Straight into code 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yo8xi9nopfty0jxrrx5s.png)
This is the template-driven form we are going to use in this blog
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1gca19do04nrz638mgat.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sruhlnb9mqi2angwwygq.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xc6stkwycsvfokkrymev.png)
So one common error I was getting while setting and patching values without using any buttons and onclick events I mean when setting or patching values at the time on initialization in ngOnInit()
is
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/derg9lrqdx5nuetndsld.png)
This error is quite annoying since there is no relevant info on the internet (maybe i did not search that great) 
So to avoid this it is quite simple to use a setTimeOut function while setting or patching values and call that function on ngOnInit() this works perfectly fine
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0h91nwsjkj9p4mf7lnwz.png)

## Ways to set and patch values :
There are many ways to set and patch values you can use them according to your convinience, all the methods can be found in the above screenshot which were commented 


Thanks
vision 20 - Eye Reviews, Price, Warnings And Complaints?
Tags: javascript, webdev, beginners, programming
Published: 2022-04-19 06:39:27

vision 20 IF You will want NICE PICTURE THE First thing TO DO IS To show THE Energy saving FEATURE OFF AND TURN THE BACKLIGHT UP TO AT LEAST 80 OR BETTER. Suggestions settings I find useful, in order to really try: economical - off, backlight - 85, contrast - 90, brightness - 55, sharpness - 65, color - 71, tint - 0, color temp - cool, fresh contrast - medium, fresh color - low, noise correction - medium, gamma - medium, black level - not an option with these settings, eye care treatment - off, real cinema - on. You can see settings you like better, but i can a lot guarantee you'll have like these settings a great deal more those that LG has established.
https://ipsnews.net/business/2021/07/19/vision-20-reviews-is-zenith-labs-eye-protection-formula-a-scam-ingredients-and-side-effects/
https://ipsnews.net/business/2021/07/19/vista-clear-2021-is-it-legit-or-a-scam-price-ingredients-reviews-and-complaints/ 
https://www.youtube.com/watch?v=q0ozsL5oZo8 
https://vision20fact.blogspot.com/ 
https://sites.google.com/view/vision20-price/ 
https://groups.google.com/g/vision-20-pills/c/wOeRk3bNcNQ 
https://lexcliq.com/vision-20-eye-results-benefits-reviews-and-ingredients/ 
https://www.click.in/gurgaon/vision-20-eye-reviews-price-warnings-and-complaints-c75-v45360974 
https://www.emailmeform.com/builder/form/0c3NM9moJ1460381kbqQjd
https://promosimple.com/ps/1e202/vision20
https://wakelet.com/wake/KZbDC3Ued6FMJZw5VMLvP
https://create.arduino.cc/projecthub/vision20buys/vision20-b4a4b2
https://public.flourish.studio/story/1263150/
https://telescope.ac/vision20info
https://vision20buys.wordpress.com/ 
https://caramellaapp.com/vision20inof/dVADlet_m/vision-20 
https://bumppy.com/tm/read-blog/41330_vision-20-eye-reviews-price-warnings-and-complaints.html
https://vision20fact.tumblr.com/ 
https://melaninterest.com/pin/vision-20-eye-reviews-benefits-complaints-and-results/ 
https://community.onespan.com/forum/vision-20-eye-reviews-benefits-complaints-and-results 
https://www.facebook.com/Vision-20-111323898219751
https://kdsatwsa.podbean.com/
https://soundcloud.com/user-269795404/vision20price
https://www.pinterest.com/pin/1061442205899207201/
https://www.scoop.it/topic/vision-20-price
https://twitter.com/vision20facts1