teleren/devto huggingface dataset:
Top 11 Important Training KPIs HR Managers Should Have
Tags: beginners, productivity, opensource, github
Published: 2023-05-11 06:42:51


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

Experience the power of seamless HR management with our free trial - sign up now at [https://app.doerhrm.com/app/freeregister](https://app.doerhrm.com/app/freeregister) !

Download our comprehensive guide to KPI and OKR implementation at [https://www.doerhrm.com.my/download-online-kpi-okr-guide/](https://www.doerhrm.com.my/download-online-kpi-okr-guide/) today.

KPIs, or key performance indicators, are measurable metrics used to evaluate the effectiveness and success of an organization or department in achieving its goals and objectives. When it comes to training, HR managers should measure a variety of KPIs to ensure that their training programs are effective in helping employees acquire new skills and knowledge and that these skills are being applied to their job responsibilities.

Here are the 11 most important KPIs for training that every HR manager should measure:

1.Training ROI (Return on Investment) 
2.Training completion rate 
3.Time to competency 
4.Employee engagement
5.Skill development
6.Manager satisfaction
7.Employee retention
8.Knowledge retention
9.Employee performance
10.Learning effectiveness
11.Training effectiveness 
 

Training ROI (Return on Investment)
Training ROI (Return on Investment) is a key performance indicator (KPI) that measures the financial return on investment from training programs. This metric allows HR managers to evaluate the effectiveness of training programs by comparing the cost of the training to the benefits gained by the organization.

To calculate training ROI, the total cost of the training program is divided by the total benefits gained. The benefits can be measured in a variety of ways, such as increased revenue, improved productivity, reduced turnover, and enhanced customer satisfaction.

For example, if a company spends $50,000 on a training program that results in a $100,000 increase in revenue, the training ROI would be 100 percent ($100,000 – $50,000 = $50,000 / $50,000 x 100% = 100%). A positive ROI indicates that the benefits of the training program outweigh the cost, while a negative ROI indicates that the cost of the training program exceeded the benefits gained.

Training ROI can help HR managers to make data-driven decisions about training investments, prioritize training programs, and identify areas for improvement in the training process. By tracking training ROI over time, HR managers can also measure the impact of training on the organization’s bottom line and demonstrate the value of training to senior leadership.

Read More at : [https://www.doerhrm.com.my/main-training-kpis-hr-managers-should-have/](https://www.doerhrm.com.my/main-training-kpis-hr-managers-should-have/)
Understanding the difference between Javascript Arrays and python lists.
Tags: webdev, python, javascript, beginners
Published: 2023-05-11 06:36:21

Understanding the difference between Javascript Arrays and python list 

JavaScript arrays and python lists stores any type of element, data types, and other arrays. the difference here is using python to store elements/data types that are of the same type.

JavaScript arrays are resized when you add or remove items while you will have a hard time dealing with large lists with python. 

JavaScript arrays can have gaps between the indexes where there are no elements. Python lists have memory allocations that are in order for elements.

Knowing this little differences can help you choose the right data structure for your needs and keep your codes simple.
Oops, that Sveltekit route conflict...
Tags: webdev, svelte, sveltekit, frontend
Published: 2023-05-11 06:35:32

All I wanted to do was take a game I made in love2d and embed it in my Sveltekit webpage. Simple, right?

Well, to get love2d working on web, I needed to use a page generator called love.js. But, the HTML pages generated by love.js contain a lot of code that I wouldn't touch with a ten-foot pole — the type of magic Javascript that makes you run away to the nearest framework. So, I did the sensible thing. I forked love.js to strip down the generated webpage to the bare minimum, moved that site into `/static/games/dig/index.html`, and referenced it from `/src/routes/games/dig/+page.svelte`, inside of an iframe where hopefully it would never touch my webpage. Svelte gave me a warning, saying I shouldn't include raw HTML, but if it works, it works.

It did work but, something inexplicable started to happen, something that nothing seemed to fix. Going from my homepage to the Dig game, the game loaded perfectly. However, going [straight to the URL](https://44100.xyz/games/dig), the game would fail to load, and even more strangely, the webpage would have no elements on it except for the game.

Turns out, [this is the issue that I ran into.](https://github.com/sveltejs/kit/issues/6236) By the time I realized that _this_ was my issue, I had already solved it. Yes, since two different files were competing for the same route, Sveltekit would serve either the raw HTML from the `/static` folder, or it would serve the correctly rendered Svelte webpage, all depending on how the user navigates to the page. To fix it, I renamed `index.html` to `_index.html`, and now it loads perfectly. Admittedly, I didn't even know that client-side navigation was a part of Sveltekit until I encountered this issue. Well, now I definitely know!

Keep this in mind when using a web framework with this sort of magic routing — it's very easy to cause a route conflict by putting static content in the same place as your framework code. IMO `/static` feels like a hack, it's sort of a fallback for when the framework simply hasn't yet covered the ground you're trying to cover. When Svelte didn't allow me to put vanilla JS into my project, I fell back on putting things in `/static`. Maybe there's a better solution. Think so? Comment below.
Wednesday Links - Edition 2023-05-10
Tags: java, jvm, data, programming
Published: 2023-05-10 12:34:31

The Cost You Pay for Interruptions and Context Switching (6 min)🌨️
https://contextkeeper.io/blog/the-real-cost-of-an-interruption-and-context-switching/

Unlock the Power of Java Virtual Threads with This Ultimate Guide (10 min)🧵
https://blog.rockthejvm.com/ultimate-guide-to-java-virtual-threads/

Find Your Unused Classes: How to Instrument Java Code (8 min)🎸
https://mostlynerdless.de/blog/2023/04/06/instrumenting-java-code-to-find-and-handle-unused-classes/

Data Residency: The Key to Keeping Your Data in Safe Hands (7 min)🌍
https://blog.frankel.ch/data-residency/1/

Building Scalable OpenAI GPT Applications in Java: From Science Fiction to Reality (4 min)🤖
https://dzone.com/articles/creating-scalable-openai-gpt-applications-in-java

Craft Responsive Web Apps with Spring Boot and React: A Step-by-Step Tutorial (15 min)💻
https://reflectoring.io/build-responsive-web-apps-with-springboot-and-react-tutorial/

Cyclomatic Complexity vs. Branch Coverage: Myths and Facts Unveiled (7 min)🔍
https://blog.ploeh.dk/2023/05/08/is-cyclomatic-complexity-really-related-to-branch-coverage/
Happy Work Culture – What It Is, Why It Matters?
Published: 2023-05-11 05:55:58

Creating a happy work culture is essential for employee satisfaction and productivity. We’ve gathered 17 valuable insights from CEOs, founders, and HR professionals on how they’ve successfully built a positive work environment.

From embracing a work-from-anywhere culture to understanding and addressing employee needs, discover the best practices to follow in fostering a happy work culture.

1. Hire for culture fit
2. Adopt unlimited PTO policy
3. Offer competitive pay and perks
4. Link daily work to company goals
5. Establish ongoing feedback loops
6. Focus on goals, not hours worked
7. Evolve culture and brand together.
8. Implement daily gratitude stand-ups
9. Host engaging team-building events
10. Celebrate everyday wins consistently
11. Embrace work-from-anywhere culture
12. Understand and address employee needs
13. Care for employee well-being and have fun
14. Encourage collaboration and open dialogue
15. Center culture around employees and clients
16. Promote individuality and freedom to operate
17. Leadership's role in building a positive company culture

## Wanna know how to apply these practices?
Read here: [https://bit.ly/3MfKxuc](https://bit.ly/3MfKxuc)

Creating a happy work culture requires a holistic approach that prioritizes the well-being of employees while still achieving the company’s objectives. It’s about finding that sweet spot where everyone is thriving, and both personal and business goals are being met. It starts with keeping your employee informed, involved, inspired, and interested.

A happy workplace cultivates employee well-being and fosters loyalty, creativity, and a sense of belonging. 

Let’s work together to create a workplace culture that fosters happiness and success. We believe that when employees are happy, they’re more motivated, engaged, and committed to achieving success. To see how we’ve created a culture of Joy + Achievement at our company, check out “Life at Ace”
Top 5 Blockchain Development Company In India - 2023
Tags: blockchain, development
Published: 2023-05-11 05:36:17


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

Blockchain technology is now booming across the world and people are showing interest to develop Application and Games for their business which is based on blockchain technology. Now the question is which company is the best in blockchain development because many companines are working on this technology and now a days it's really difficult to choose one company especially in India. Well, after research a lot, I am going to mention top 5 leading [blockchain development company](https://www.yudiz.com/blockchain-development/) and hope it will fulfill your requirments very well.

1. Yudiz Solutions Ltd
2. Mobiweb Technologies
3. Cigniti Technologies Limited
4. Indus Net Technology
5. HData systems

With the above list you can choose any of them accordingly. These all are good companies and provide best services to their clients. Suggestions are most welcomed and if anyone have want to add any company then can suggest in comment.
persuasive writing skills with our comprehensive list of argumentative essay topics.
Published: 2023-05-11 05:35:47

Discover a wide range of thought-provoking [argumentative essay topics](https://allessaywriter.com/blog/argumentative-essay-topics/) that will challenge your critical thinking skills and spark meaningful discussions. From social issues to political debates, our carefully curated selection covers a variety of subjects and perspectives, perfect for students and learners looking to hone their persuasive writing skills. Whether you are writing an essay for a class assignment or just for fun, our list of topics will help you explore different viewpoints and develop compelling arguments.You can always find custom [essay writers](https://allessaywriter.com/) at allEssaywriter writing service.


Also Read : [Chicago citation generator](https://allessaywriter.com/referencing/chicago/)
[persuasive essay topics](https://allessaywriter.com/blog/persuasive-essay/)
Liman MYS Sertifikasının Güncellenmesi
Tags: certification, liman
Published: 2023-05-11 05:34:40

- Liman MYS sertifikasının süresi dolduğunda güvenli bağlantı olmayabilir. Bunu anlayabilmek için görseldeki yerde ünlem işaretinin olup olmadığına bakılır:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5h67ocsblpps1pmjy4kd.png)

- Eğer ünlem işareti var ve güvenli bağlantı sağlanamıyorsa sertifikanın güncellenmesi gerekmektedir.

- Aşağıdaki adımlar izlenerek Liman sertifikası güncellenir:

**1.** Liman sertifikaları **/liman/certs** altında **liman.key** ve **liman.crt** olarak bulunur.


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

**2.** Şu komutlar ile bu dizindeki sertifikalar silinir:

```bash
rm -fr liman.crt
```
```bash
rm -fr liman.key
```
**3.** Daha sonra güncel sertifika ve özel anahtar ilgili birimden istenir.

**4.** Alınan sertifika dosyası key ve crt şeklindeyse isimleri aynı şekilde düzenlenerek ilgili dizine yapıtırılır.

**5.** Dizin permissionları ve sahiplik durumu aşağıdaki gibi olamalıdır.

```bash
-rwx------  1 liman liman 1976 Mar 10 08:25 liman.crt
-rwx------  1 liman liman 3272 Mar 10 08:25 liman.key
```
**6.** Eğer izinler bu şekilde değilse şu komutlar ile izinler verilir:

```bash
chmod 700 liman.crt
```
```bash
chmod 700 liman.key
```
**7.** İzinleri kontrol etmek için aşağıdaki komutlar kullanılır:

```bash
ls -l liman.crt
```
```bash
ls -l liman.key
```
**8.** İzinler "-rwx------" şeklinde görüntülenecektir. Burada, ilk üç karakter dosyanın sahibine verilen izinleri yani liman sunucusundaki liman kullanıcısını anlatır. Yukarıdaki örnekte, izinler "-rwx------" şeklinde görüntülenmektedir. Bu, Limana tüm izinleri verdiğini, ancak diğer kullanıcılara hiçbir izin vermediğini gösterir.
String Methods of Python
Published: 2023-05-11 04:53:46

### 1.capitalize() :-
It converts the first character to upper case
example:-
```
>>> astring='ankit'
>>> astring.capitalize()
'Ankit'
```
### 2.count() :-
It gives the number of times a specified value occurs in a string
example:-
```
>>> astring='ankit dagar'
>>> astring.count(a)
>>> astring.count('a')
3
```
### 3.endswith():-
It gives true if the string ends with the specified value
example:-
```
>>> filename = "example.txt"
>>> filename.endswith(".txt")
True
```
### 4.find() :-
It searches the string for a specified value and returns the position of where it was found
```
>>> astring='ankit dagar'
>>> astring.find('k')
2
```
### 5.format() :-

It formats the specified values in a string
```
>>> name = 'Ankit'
>>> age=22
>>> result="my name is {},i am {} year old".format(name,age)
>>> result
'my name is Ankit,i am 22 year old'
```
### 6.index() :-
It searches the string for a specified value and returns the position of where it was found
example:-
```
>>> astring='ANKIT DAGAR'
>>>> astring.index('K')
2
```

### 7.isdecimal() :-
It gives True if all characters in the string are decimals
```
>>> astring='ANKIT DAGAR'
>>>> astring.isdecimal()
False
```
### 8.isdigit() :-
It gives True if all characters in the string are digits
```
>>> astring='ANKIT DAGAR'
>>> astring.isdigit()
False
```
### 9.islower() :-
It gives True if all characters in the string are lower case
```
>>> astring='ANKIT DAGAR'
>>> astring.islower()
False
```
### 10.isnumeric() :-
It gives True if all characters in the string are numeric
```
>>> astring='ANKIT DAGAR'
>>> astring.isnumeric()
False
```
### 11.isspace() :-
It gives True if all characters in the string are whitespaces
```
>>> astring='ANKIT DAGAR'
>>> astring.isspace()
False
```
### 12.istitle() :-
It gives True if the string follows the rules of a title
```
>>> astring='ANKIT DAGAR'
>>> astring.istitle()
False

```
### 13.isupper() :-
It gives True if all characters in the string are upper case
```
>>> astring='ANKIT DAGAR'
>>> astring.isupper()
True
```
### 14.lower() :-
It converts a string into lower case
```
>>> astring='ANKIT DAGAR'
>>> astring.lower()
'ankit dagar'
```
## References
GeeksforGeeks
W3Schools
freecodecamp
Things about Power Apps
Tags: webdev, beginners, productivity, codenewbie
Published: 2023-05-11 04:42:21

Apps built using Power Apps provide rich business logic and workflow capabilities to transform your manual business operations into digital, automated processes. What's more, apps built using Power Apps have a responsive design and can run seamlessly in browser and on mobile devices (phone or tablet). This Nice power make alot easy to build a web 2.0
Source:
[https://learn.microsoft.com/en-us/power-apps/powerapps-overview](https://learn.microsoft.com/en-us/power-apps/powerapps-overview
)
Lists in Python
Published: 2023-05-11 04:23:55


* The Purpose of this paper is to get required idea of methods of list in python in simplified way

* List is a ordered collection of variables

* lists can be non homogeneous

### __Methods:__
### __`ls.append('object')`__
	This appends the object at end of list

   ```

	   ls.append('object') #Object will be added to list at the end

   ```

* ### __`ls.clear()`__
	clears the entire list and makes it empty
	
	```
	
		ls.clear() # clears the entire list

	```

* ### __`ls.index()`__

	It will through error if object is not in list

	```

		ls.index('object') #return the index value of 'object'

	```

* ### __`ls.count(arg)`__

	It will return Zero if element is not found in list

	```

		freq = ls.count('objrct') # It will return the frequency of That Object in the list

	```

* ### __`ls.pop()`__

	This function removes last item of list and returns the item

	```

		ls.pop() #Removes the last item of the list

	```

* ### __`ls.insert(index , 'object')`__

	```

		ls.insert(index, 'object') #inserts object at given index

	```

* ### __`ls.sort()`__

	This function returns None and sorts the data inside list

	This will not work for non-homogeneous lists

	```

		ls.sort() #sorts the items in Ascending order

	```

* ### __`ls.reverse()`__

	This function returns None and reverses the items inside list

	```

		ls.reverse()

	```

* ### __`ls.extend()`__

	This function takes the iterable as argument and adds each item to the last

	```

		ls = []

		ls.extend('iterable') # returns [i,t,e,r,a,b,l,e]

	```

* ### __`ls.copy()`__

	This function creates a copy of list

	```

		ls = old_list.copy()

	```

	  

* ### __`ls.remove()`__

	This Function takes the object inside the list as argument and removes it from the list

	If the Object is not present in list it will through error saying 'Object not list'

	```
	   ls.remove(5) #it will remove 5 from list
	```
* ### __`List as Stack`__
list in python can be used as a stack, since it has both the methods `.append()` and  `.pop()`.
```
ls = []
#append
ls.append('a')
ls.append('b)
#pop
ls.pop() 
ls.pop() 
```


## References:
* [Python Docs](https://docs.python.org/3/tutorial/datastructures.html)
* [w3 Schools](https://www.w3schools.com/python/python_dictionaries.asp)
python code to verify emails
Published: 2023-05-11 02:40:08

```
import re

def is_valid_email(email):
    # regular expression pattern for email validation
    pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
    
    # match the email pattern with regular expression
    match = re.match(pattern, email)
    
    # if match found, return True else False
    if match:
        return True
    else:
        return False
```

To use this code, simply call the is_valid_email function with the email address as a string argument. For example:


```
email = "example@email.com"
result = is_valid_email(email)

if result:
    print("Email is valid.")
else:
    print("Email is not valid.")
```


This code uses regular expressions to match the pattern of a valid email address. The regular expression pattern includes the following rules:

The email address must start with one or more alphanumeric characters, followed by a dot, underscore, percent sign, plus sign, or hyphen. This can be repeated one or more times.
The email address must contain the at symbol (@).
The email address must contain one or more alphanumeric characters or hyphens, followed by a dot and two or more alphabetic characters. This can be repeated one or more times.
By using regular expressions, this code provides a simple and efficient way to validate email addresses in Python.
Arrow functions - JavaScript
Published: 2023-05-11 01:43:13

## 4 differences between regular functions and arrow functions: 


###<u>1. Syntax </u>
 
_Regular function:_

```
function multiply(num1, num2) {
	return num1 * num2;
}
```

_Arrow function:_

```
const multiply = (a,b) => a * b;
```
Note some differences in the syntax – Arrow functions are: 
- Defined with ‘=>’
- No **function** keyword 
- do not always need {}
- Implicit ‘**return**’ keyword 

*If only one parameter, the parenthesis is not needed 

###<u>2. Hoisting</u>

_Regular function:_

```
sayHello(); 
//=> Hello!
function sayHello() {
	console.log(“Hello!”);
}
```


_Arrow function:_ 

```
sayHello();
//=> sayHello is not defined 
const sayHello = () => console.log("Hello!");
```
In this case, calling the respective function prior to defining them only worked for the first example due to hoisting. As noted here, functions expressions (arrow functions) are not hoisted, meaning that you can only call the function after it has been declared. 


###<u>3. Callback functions / anonymous syntax </u>

_Regular function:_

```
function squareNum(num) {
  return num * num;
}

const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map(squareNum);
console.log(squaredNumbers);
//=> [1, 4, 9, 16, 25]
```

_Arrow function:_ 

```
const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map(num => num * num);
console.log(squaredNumbers);
//=> [1, 4, 9, 16, 25]
```


###<u>4. Lexical scope ‘this’ </u>
_Regular function:_

```
const person = {
  name: Alice,
  sayHello: function() {
    console.log(`Hello, my name is ${this.name}`);
  },
 };
person.sayHello();
//=> Hello, my name is Alice
```

_Arrow function:_ 

```
const person = {
  name: Alice,
sayHelloArrow: () => {
    console.log(`Hello, my name is ${this.name}`);
  }
}
person.sayHelloArrow(); 
//=> Hello, my name is undefined
```
As observed, only in the first example the keyword ‘**this**’ was able to access the person object through the ‘name’ property (//=>‘Alice’). The same does not happen with arrow functions, since the arrow function does not have its own ‘**this**’ value, inheriting ‘this’ from the enclosing lexical scope, in this case is the global object which does not contain a ‘name’ property; therefore, returning ‘undefined’. 

### Conclusion:

Those are some differences and in most cases the benefits of arrow functions involve – 1- Allow us to write a shorter function syntax. 2- Avoid issues with hoisting. 3- Make it easier to write concise and reusable callback functions, especially for array operations. In the other hand, 4- arrow functions can be tricky to use when having the keyword ‘**this**’, therefore, is important to ensure that the ‘**this**’ value is correctly bounding to the object that the method is called on.
Why is my personal website in pure HTML?
Tags: webdev, beginners, github, design
Published: 2023-05-11 01:04:32

Hi there!

I've just updated my [personal website](https://linasdias.github.io) (which I don't use as a blog anymore, since I'll post mostly here). Hosted it on Github Pages and everything. Here are 5 reasons I decided to opt for pure HTML in its design, and not any framework:

1. Honestly, I find it kinda cute (and will experiment on it later)
2. I was [convinced](http://motherfuckingwebsite.com).
3. I really liked the idea of ["Web Design in 4 Minutes"](https://jgthms.com/web-design-in-4-minutes/) by Jeremy Thomas. And also how my site sounded on Edge's screen reader (which I use to increase attention span).
4. Looks classic. Takes me back to [old-timey](http://info.cern.ch/hypertext/WWW/TheProject.html) Internet! (said the 2001 girl)
5. It also makes me feel like an actual CS professor, even if there are still a year and a half left before I graduate with my BSc.

That's it, bye!