teleren/devto huggingface dataset:
The art of letting go
Published: 2021-11-07 19:11:41




Are you a developer? And have you ever used your skills to make a SaaS or an App, hoping to become rich with it, or at least to make a nice passive income? 
Have you spent so much time in programming despite your "normal" work, that you felt like, I am that close to making it, I just need this or that feature for my SaaS / App.

Have you ever wondered, why nobody uses your SaaS / App, after all this hard work (looking out the window, not understanding the world)?  You read so many articles about other people on indie hackers making XXXX money in MRR. Why the hell you can not make it either? 

Well Hello then, this was me.

I failed two times, with two different SaaS, and here is what I learned.

 - Don't make something ***just*** for the money, choose a project where you can identify yourself. If you are interested in what do you do, you will be good at it.

 - Don't spend **all** your spare time on building your side project. If you have passion for it and you want to make it, that's great no doubt, but please, don't forget to live. Spent also time with people you love, that empower you and use this energy for your side hustle.  

 - You coded your side hustle, and figured out something that is really cool? Share your knowledge with the community **without expectations** and you will be surprised what people will give you in return.
 - You have a cool idea and your validation process is to ask your mom and maybe some friends. Do all say that your idea is soo good? You are so excited and started programming, exactly knowing what to do next. **STOP**. Just because it solves a problem for you, it doesn't mean it is suitable for other people too. Go out and speak with real people and verify if you are going in the right direction. I can really recommend these two books, The [Embedded Entrepreneur](https://www.amazon.de/dp/B094YNJMRV/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1) by   Arvid Kahl and the [MOM Test](https://www.amazon.de/Mom-Test-customers-business-everyone-ebook/dp/B01H4G2J1U/ref=sr_1_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=Mom%20Test&qid=1636307838&s=digital-text&sr=1-1) by   Rob Fitzpatrick. Do yourself a favor and spend the same amount of time for idea validation as implementation, also after launching.
 - You can't do everything on your own, really. You cant maintain a SaaS and also do a good SEO, that's impossible. Go and get you some freelancers that are not that expensive, maybe on Fiverr. Focus on that what you like doing :)
 - Treat yourself well. You are not a machine, you will not more productive if you work 12 hours a day. Sleep is very important for your productivity, so use it and sleep well and enough! One problem that haunts me to this day is, that my thoughts are always on the side hustle. I found out that meditation helps very well for me, so I set up a reminder every 2 hours to train my mindfulness and tell myself, that problems can wait till tomorrow :)
 - You have time. Don't chase one side project after another. 

Failures are important, so fail often and fail early. I hope you can get something out of my failures.

Thank you for reading
5 ways to reverse a string in Python
Tags: python, programming
Published: 2021-11-07 19:10:30

Hello everyone, in this post I will provide you 5 different ways to reverse a string using python programming.
###1
####Using Slicing
```
def StrRev(string):
    string = string[::-1]
    return string
  
s = input("Enter a string: ")
  
print (StrRev(s))
```

###2
####Using Reversed Function
```
def StrRev(string):
    string = "".join(reversed(string))
    return string
  
s = input("Enter a string: ")
print (StrRev(s))
```
###3
####Using Loop
```
def StrRev(s):
  strg = ""
  for i in s:
    strg = i + strg
  return strg
  
s = input("Enter a string: ")
print (StrRev(s))
```
###4
####Using Recursive function
```
def StrRev(s):
    if len(s) == 0:
        return s
    else:
        return StrRev(s[1:]) + s[0]
        
s = input("Enter a string: ")
print(StrRev(s))
```

###5
####Using Stack Operations
```
def StackCreate():
	stack=[]
	return stack


def isEmpty(stack):
	if len(stack) == 0:
		return true

	
def push(stack,item):
	stack.append(item)

def pop(stack):
	if isEmpty(stack): return
	return stack.pop()


def StrRev(string):
	n = len(string)
	
	
	stack = StackCreate()

	for i in range(0,n,1):
		push(stack,string[i])

	string=""

	for i in range(0,n,1):
		string+=pop(stack)
		
	return string

s = input("Enter a string: ")
print (StrRev(s))

```
Pages for CSS Elements
Tags: css
Published: 2021-11-07 19:04:54

Here is a list of some pages that will provide us with useful CSS elements for the development of our sites and CSS projects.

## [SVG wavey](https://smooth.ie/blogs/news/svg-wavey-transitions-between-sections)

![SVG wavey](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4bxyxyvyj2vqjx2pvw6g.png)

## [Box Shadow](https://www.cssmatic.com/box-shadow)

![Box Shadow](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5z8h8pzhzfpw24tfngy2.png)
 
## [Animated.css](https://daneden.github.io/animate.css/)

![Animated.css](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y5h43ttziv7apslkyw04.png)

## [Image Hover CSS](https://imagehover.io/)

![Image Hover CSS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b5v110ek2i1e4qpwxezj.png)

## [Loaders CSS](https://loading.io/css/)

![Loaders CSS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7in0ircst5umd76wld19.png)

## [Gradientes](https://uigradients.com/)

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

## [Clip-Path](https://bennettfeely.com/clippy/)

![Clip-Path](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lzw1mtljm7102nb4x9f.png)

## [Web Gradients](https://webgradients.com/)

![Web Gradients](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9gqlrd7yf1a5tj7af0zg.png)

## [Tridiv](http://tridiv.com/)

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

## [Neumorphism](https://neumorphism.io/)

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

## [Glassmorphism](https://glassmorphism.com/)

![Glassmorphism](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2lnsp0sclrfv4ukgidbe.png)

## [Haikei SVG-PNG](https://app.haikei.app/)

![Haikei SVG-PNG](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ago16wri6fhc1xyt7y8v.png)

## [CSS Gradient](https://cssgradient.io/gradient-backgrounds/)

![CSS Gradient](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r05v5mp2fn2sweuhqre7.png)
Can anybody please tell me what is wrong with this code.
Tags: php, sql
Published: 2021-11-07 19:00:31

`$stmt = $connection->getDb()->prepare("INSERT INTO ".$table." ({$table_keys})"." VALUES({$marks})") or die($connection->getDb()->error);
    
   
$stmt->bind_param('$bind_char',$table_values) or die($connection->getDb()->error); 

$result = $stmt->execute() or die($connection->getDb()->error);
    
if(!$result){echo"problem";}else{echo"saved";} 

---The error that I am getting---
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@test.com,test) VALUES(test_user,test@test.com,test)' at line 1

Thanks
Another superb week  with taskForce 4.0
Tags: awesomity, codeofafrica
Published: 2021-11-07 18:52:44

>How big would you dream,if you knew you couldn't fail?

As we Dream big we must know the dream doesn't work it's up to Us to put in the work. Week 2 started with a little bit of coding with 2 codewars challenges which was fun and somehow challenging.

##### Presentation skills

We continued by having a session about how to prepare and deliver an awesome presentation where we saw key points to Keep in mind while preparing or delivering your presentation.

##### Git workflow

We proceed with Learning more about git workflow with the help of Yannick Awesomity CTO, where we saw the git workflow used in Awesomity and learned the pros and cons of some of the more used git workflows.

##### Software documentation

Then we turned some boring stuff into fun moment where we learned more about software documentation, normally is the boring part of many developer but we got to learn more about it, the reason for writing docs and also the best way of writing docs,Yannick also introduced us to pipelines concept which i wasn't too familiar with and learned new things.

##### The end
we finished up the week with learning containerization and it's benefits. and with a soft skill session with Axel where we identified our core values as a Team and got introduced to code of Africa core values.

The fun part was Friday afternoon where we had a presentation of what we've been working on the whole week. and right after we had a traditional dance class and had a lot of fun.

```
sudo apt install new-week
```
Week 2💪🏽💪🏽… “ once you stop learning , you start dying” -Albert Einstein 
Published: 2021-11-07 18:49:55

wait wait is it week 2 already🥺🥺?? feels like yesterday. am here again to share with you how week 2 went down😊. these week we had very interesting sessions (soft & tech) skills. we had sessions with Kabayiza yannick(CTO) about Git workflow , software documentation , containerization and we had soft skills about CoA value and also critical thinking.

please don't leave ☺️☺️i want to tell that you we even had traditional dance on Friday after demo. i will tell you this later in 1min 😎😎

i really enjoyed this week to be honest, because i learnt alot of new concept and ready to implement it. good right ??

About dance, was fun and made me thinking of joining national traditional dance team after this 6week bootcamp🕺🏽🕺🏽🕺🏽.
Best Practices for Establishing Secure Remote Workplace for Your Employees
Tags: remote, workplace, security
Published: 2022-11-01 06:41:18

---
title: Best Practices for Establishing Secure Remote Workplace for Your Employees
published: true
date: 2021-11-07 18:31:23 UTC
tags: remote, workplace, security
canonical_url: https://mojoauth.com/blog/secure-remote-workplace/
---

Working remotely has been commonplace for most business owners and employees, especially during the pandemic. With quarantine restrictions in place, many companies had to switch to a remote work setting. It was an unsettling change for many, and the huge concern was how to maintain security when employees work remotely. Adapting to a remote work setting when you’re used to working at a physical office is a constant learning process. But the sometimes unpredictable nature of the internet leads to serious concerns about security controls and cyberattacks.

[Read On](https://mojoauth.com/blog/secure-remote-workplace/)
How to Overcome from TLE Error in competitive programming?
Tags: programming, python, cpp, beginners
Published: 2021-11-07 18:30:01

## What is **TLE**?

TLE == "Time Limit Exceed"

Many programmers always argue that the problems in Competitive Programming always end up with TLE(Time Limit Exceed). The main problem with this error is that it will not allow you to know that your solution would reach to correct solution or not! 


The main problem in TLE is, you will not be able to know whether your code is generating the right output or not. and when output is right and that time code gives TLE ,the online judge has to stop your submission from running after a particular time period.

Because they first check your compiler error (if any) then runtime error (if any), then TLE (if any) and at last right or wrong answer your code is generating.

## Why **TLE** comes?

To understand Time Limit Exceeded(TLE), understanding how the online judge works will help. The online judge allocates resources like memory and CPU for evaluating every submission. 

There might be various reasons behind it that your **TLE** is coming. Few points are :

### Online Judge :
An online judge ( Problem setter the problem) gives TLE on a problem because there are some restrictions in each input with a specific time limit. If your program exceeds that time limit you will get TLE.

### Your program is too slow :
The most common reason that you would get a TLE is because your program is too slow.
Read the bounds in the input carefully before writing your program, and try to figure out which inputs will cause your program to run the slowest.

In **Python**, you could try speeding up your solutions by adding the following two lines to the start of your file:

```
import psyco
    psyco.full()
```

To add fast IO in your code you have to write the following lines in main() in your code in **C/C++**:

```
ios_base::sync_with_stdio(false); 
    cin.tie(NULL) ;
```

**Java** Do not use Scanner class, use BufferedReader instead.

### Server Configuration:
Sometimes, the server takes time to run your code. So, it might depend on their CPU, OS, etc. For this reason, the different platform (different servers like practice, CodeChef , HackerEarth etc..)gives you TLE in different cases.
By estimating the maximum value of N (N is the total number of instructions of your whole code), you can roughly estimate the TLE would occur or not in 1 sec. 

```
MAX value of N                       Time complexity
   10^8                              O(N) Border case
   10^7                     O(N) Might be accepted
   10^6                              O(N) Perfect
   10^5                              O(N * logN)
   10^4                              O(N ^ 2)
   10^2                              O(N ^ 3)
   10^9                              O(logN) or Sqrt(N)
```

**Note** a loop value (N) cannot be greater than 10^9 if N is an integer. Because an integer can take up to 10^9.

So after analyzing this Table you can estimate your Time complexity roughly and try to make your code within the upper bound limit.

#### All the best !! 
#### Keep Coding......❤
Top 10 Remote Jobs Website for Web Developers
Tags: webdev, programming, tutorial, opensource
Published: 2021-11-07 18:21:42

I have been looking for the remote jobs as a Web Developer, then I thought maybe others will also be looking for it. So, I am posting this list which I got from one friend of mine. I think it will benefit everyone who is looking for some remote job.

## Here comes the List 🔥

1. [_remotive.io_](https://remotive.io/) :- A new, user-friendly interface. Looking for work is never fun, but the new interface makes me happy. The new icons are perfect!
2. [_remoteleads.io_](https://remoteleads.io/) :- They send you contract jobs via email. They have a free plan that I believe consists of weekly emails.
3. [_remoteok.io_](https://remoteok.com/) :- This sleek job board is a fantastic tool for anyone with a background in programming or design, and it also has a bunch of new non-tech positions.
4. [_angel.co/jobs_](https://angel.co/jobs/) :- Take a glance for startup companies and remote job prospects (with COVID verified hiring)
5. [_justremote.co_](https://justremote.co/) :- JustRemote, in addition to serving as a job board, will assist you in creating and fine-tuning your remote resume. It offers resume templates to help you get started on your job hunt.
6. [_weworkremotely.com_](https://weworkremotely.com/) :- Every week, 100+ remote jobs in programming are posted, along with 50+ in other areas (marketing, sales, design, customer support, etc.) However, it is not very user-friendly: the highlighted jobs design is unclear, and it is often difficult to discover the most current job posts.
7. [_javascriptjob.xyz_](https://javascriptjob.xyz/) :- If you want jobs specific to javascript, then this is the one You are looking for.
8. [_flexjobs.com_](https://www.flexjobs.com/) :- one of most extensive work-from-home websites due to its listing of jobs in a variety of sectors and skill levels There are thousands of reputable work-at-home businesses in more than 50 divisions.
9. [_solidgigs.com_](https://solidgigs.com/) :- SolidGigs is a website that searches the freelancing community for the greatest freelance opportunities. Time is money in our world.
10. [_dynamitejobs.com_](https://www.dynamitejobs.com/) :- Every week, 100+ new online jobs are added, with incredible filters and a large number of positions from smaller businesses and startups.

Feel free to ask any doubt you have and let me know in the discussions / comments.😇
Just JavaScript
Published: 2021-11-07 18:13:45




**Antecedentes:** Todo el mundo sabe que programar no es una tarea sencilla. Nunca sabes por donde empezar, a veces no entiendes nada y empiezas a dar vueltas; estudias (a tu manera) el código de otros compañeros, miras como loco stackoverflow… pero llega un momento que sientes que algo no va bien. Te falta algo. En mi caso lo llamaría conocimiento básico, entendimiento del propio lenguaje sobre todo antes de dar el salto a otros frameworks de JS (react, vue, angular…). Porque una cosa es estudiar la base de todo lenguaje de programación. Pero otra cosa es estudiar el por qué.

***[Just Javascript](https://justjavascript.com/)*** es el modelo mental de cómo funciona JavaScript.
En definitiva: **mejorar nuestra comprensión** acerca de este lenguaje.

![JustJavascript Example](https://cdn-images-1.medium.com/max/2000/1*9QDAB_2T9YDkAIes6uElPA.gif)

[Dan Abramov](undefined) y [Maggie Appleton](undefined) están detrás de estas mágicas explicaciones.

### De que se trata

Se divide en pequeñas lecciones (en total 9) que se envían por correo y en ella, aparte de los **modelos mentales fundamentales **que rodean a Javascript, se completa con una serie de ejercicios que te harán comprender mucho mejor lo que se explica.

### A tu ritmo

Para que te hagas una idea, a mi me ha llevado 8 días en hacerlo.
1 hora por cada lección + ejercicios.
>  **Lo recomiendo** encarecidamente si como yo, estás empezando, tienes todavía dudas sobre el principio de Javascript y quieres saber cosas tan curiosas como
por qué **0.1 + 0.2 === 0.3 es false**. **Merece muchísimo la pena.**

Puedes suscribirte aquí: **[Just Javascript](https://justjavascript.com/)**

¿Y a ti, se te ocurre algún curso que merezca la pena para aprender el interior de Javascript?
Selection sort
Tags: beginners, algorithms, javascript
Published: 2021-11-07 18:02:22

Cover photo from: [Unsplash](https://unsplash.com/photos/cPDH2ChdBps)

### Intro

This post is a part of a sorting series, where we go over each sorting methods from bubble sort to radix sort, and I will give you some simple explanation. The importance of sorting can be measured by the success of Google search engine vs other search engines. At the end of the day, it gives you the most useful results - based on its well designed sorting algo.

### Selection sort

Selection sort basically a very easy method, and can be imagined and implemented in the same way. The main logic is the following:

1. Take an unsorted array of elements
2. Create a new array - for ex. starting from the left, initially [] - this will be your sorted sublist
3. Your input will be your second, unsorted sublist
4. Find the smallest - or largest - element of your unsorted sublist - depending on your preferences
5. Insert that into your sorted sublist - at the end
6. Move the boundaries

#### Visual demo
![Gif](https://stackabuse.s3.amazonaws.com/media/selection-sort-in-javascript-1.gif)
### Performance and complexity

Sadly, this is an easy solution but it costs you some memory and computation power, and I will show you this through an example. 

#### Example

Let say, your starting element is in `const array = [ 4, 1, 3, 9];`, in where the length of your array is `n = 4`;

You have to find the smallest element of this list, which requires **n - 1** comparisons. Finding the next one requires **n - 2** and so on. On large lists, this soon become *quadratic* - known as *O(n<sup>2</sup>)*.

#### When to use?

If you have small lists - and you are aware and you manage the length of your input, you can use this. In this situation, it can be helpful because of its simplicity.


#### Implementation 

```
function selectionSort(array) {

// break the reference
  const elements = [...array];
  for (let i = 0; i < elements.length; i++) {

// assume that the 'first` is the smallest
    let smallestIndex = i;

// find the smallest index
    for(let j = i + 1; j < elements.length; j++) if(elements[j] < elements[smallestIndex]) smallestIndex = j;

// if the index is not the same, swap the two numbers
    if(smallestIndex !== i) [elements[i], elements[smallestIndex]] = [elements[smallestIndex], elements[i]]
  }

  return elements;
}
```

#### Demo

You can check out this demo page, which is fancy enough to give you a nice understanding.

[Visualgo](https://visualgo.net/en/sorting)


Thanks four your time :)
Cool CSS Animation Libraries
Tags: css, animation, javascript, beginners
Published: 2021-11-07 17:56:29

## 1. [Animista](https://animista.net/)
![Animista](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q60me44f4dyv8upfxu1c.PNG)
Animista is a CSS animation library and a place where you can play with a collection of ready-made CSS animations and download only those you will use.
With Animista, you can experiment with a variety of pre-made CSS animations, tweak them, and get only those you need.

## 2. [Infinite](https://tilomitra.github.io/infinite/)
![Infinite](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ttfvlr8esoddsqp1b21p.PNG)
## 3. [Izmir](https://github.com/ciar4n/Izmir)
![Izmir](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cxn3iqd1su7ayq2alxt0.PNG)
The Izmir CSS library allows you to quickly create beautiful image hover elements.

You can then add the element markup combined with the style classes of your choice to create your perfect hover effect by simply loading the CSS library into your project.

## 4. [CSS WAND](https://www.csswand.dev/)
![CSS WAND](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hmss9qchw94lp66xuvgz.PNG)
Easy copy-paste beautiful CSS that can be easily customized further at your discretion

## 5. [Animate.css](https://animate.style/)
![Animate.css](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vclnfitl2eqn2jxzmmn1.PNG)
Animate.css provides ready-to-use, cross-browser animations for your web projects.
It is perfect for emphasis, home pages, sliders, and attention-guiding hints.

## 6. [Vivify - css](http://vivify.mkcreative.cz/)
![Vivify - css](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gj6a1ledx59pq7n5fdg.PNG)

## 7. [Minimamente CSS](https://www.minimamente.com/project/magic/)
.![Minimamente CSS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1dzw8jebx0qc2zgc46vn.PNG)
A Magic CSS animation is a set of simple animations you can use in your web or app project.


## 8. [CSShake](https://elrumordelaluz.github.io/csshake/)
![CSShake](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7f7wrfwolqlwj4q1lwoa.PNG)

## 9. [Animatopy](https://sarthology.github.io/Animatopy/)
![Animatopy](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1wx0kufciylp4mjx28f0.PNG)

## 10. [cssanimation{io}](https://cssanimation.io/)
![cssanimation{io}](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u1tbzup5f9clugsowv1r.PNG)