teleren/devto huggingface dataset:
Open Source - Windows 11 made in Nuxt 3 and Tailwind CSS
Tags: vue, typescript, opensource, nuxt
Published: 2023-03-06 16:11:11

Hello everyone,

I'm excited to share with you my latest **open-source** project, os-windows11. This is an open-source project made in the hope of replicating the Windows 11 desktop experience on the web using standard web technologies like **Nuxt.js**, **SCSS**, **Tailwind CSS**.

I created this project to share with the community in order for them to have a complex source of code where they can see how certain stuff can be built in such an environment. I believe that this tool could be really useful for a lot of developers out there.

The project is entirely open source and available on GitHub [Link provided below]. I welcome anyone who is interested to contribute, providing feedback, or reporting issues.

Share your own ideas: [https://github.com/ndragun92/os-windows11/discussions/categories/ideas](https://github.com/ndragun92/os-windows11/discussions/categories/ideas)

Thank you for taking the time to learn about my project. I look forward to collaborating with you all.


**GitHub Repository**: [https://github.com/ndragun92/os-windows11](https://github.com/ndragun92/os-windows11)

**Live preview link**: [https://os-windows11.vercel.app/
](https://os-windows11.vercel.app/
)


Best, Nemanja Dragun
CI/CD o que aprendi sobre!!
Tags: beginners, productivity, devops, devrel
Published: 2023-03-06 16:06:09

Aqui depois dessa apresentação do Danilo Assis aqui na Vindi sobre praticas e benefícios do CI/CD eu pude observar os seguintes pontos que compartilho com vocês.

Caso queira assistir a talk, segue aqui o [link!](https://youtu.be/eORUoanIhf4)

O que é CI/CD?

CI/CD significa Integração Contínua/Entrega Contínua. É uma prática de desenvolvimento de software que visa automatizar e acelerar o processo de entrega de software. Ele enfatiza a criação de um pipeline de entrega automatizado, que permite que o código seja testado, construído e implantado rapidamente e com confiança.

Quais são os benefícios da adoção?

Maior qualidade do software: o código é testado com frequência e os erros são detectados mais cedo no processo de desenvolvimento, o que leva a uma maior qualidade do software.

Velocidade de entrega mais rápida: Os desenvolvedores podem implantar o código com mais frequência e em um ritmo mais rápido, o que ajuda a reduzir o tempo de entrega do software.

Redução de riscos: Ao automatizar testes e implantações, o que reduz a possibilidade de erros humanos.

Melhor colaboração: Ajuda a melhorar a colaboração entre equipes, pois todas as alterações no código são integradas em um repositório central, o que ajuda a garantir que todos estejam trabalhando com a mesma versão do código.

Ciclo de feedback mais curto: Os desenvolvedores recebem feedback mais rápido sobre suas alterações de código, o que ajuda a melhorar a qualidade do software.

Quais são as práticas recomendadas?

Integração Contínua: Todos os desenvolvedores devem integrar suas alterações de código com frequência, para que os erros possam ser detectados mais cedo no processo de desenvolvimento.

Automação de testes: Testes automatizados devem ser executados sempre que o código é alterado, para garantir que o código funcione como esperado.

Entrega Contínua: O processo de implantação deve ser automatizado para garantir que as alterações no código possam ser implantadas rapidamente e sem erros.

Monitoramento contínuo: O desempenho do software deve ser monitorado continuamente para que os problemas possam ser identificados e corrigidos rapidamente.

Melhoria contínua: O processo deve ser continuamente avaliado e melhorado para garantir que a entrega de software seja rápida e confiável.

Espero ter ajudado de alguma forma com esse tema, que cada vez mais ganha relevância no desenvolvimento de software, se você tiver mais perguntas ou precisar de mais informações, fique à vontade para incluir nos comentários.
What are your goals for the week?
Tags: discuss, motivation
Published: 2023-03-06 15:48:39

What are your goals for this week?
 
- What are you building? 
- What will be a good result by week's end?
- Are you attending any events this week?
- Did you meet your goals last week?

I'll start.

**Last Week's Goals**

- [:x:] Update Portfolio.
- [:white_check_mark:] Continue Job Search. Sent many DMs, and applied to a couple positions.
- [:white_check_mark:] Continue new project. Made some progress. Being using pomodoro technique to stay focused.
- [:x:] Blog.
- [:white_check_mark:] Follow up on a course's progress. Waiting for it to drop. * Sent a DM, waiting for reply.
- An Added goal. Storm took down some tree branches, got it cleaned up still need to clean some brush overgrowth.  

**Monthly Goal**

- Gain more followers here. I would like to have more followers on DEV than I had on the bird site. **** Getting closer on this less than 50 to go.

**This Week's Goals**

- Update Portfolio.
- Continue Job Search.
- Continue new project.
- Blog.
- Yard work.

**This Month's Goals**
- Gain more followers here. I would like to have more followers on DEV than I had on the bird site. 


You've read my goals so I'll throw that question back to you.

What are your goals for the week?

```
-$JarvisScript git push
```
Recursion
Tags: javascript, programming, algorithms, webdev
Published: 2023-03-06 15:43:20

**Recursion**

Recursion is the technique of making a function call itself.

This technique provides a way to break complicated problems down into simple problems which are easier to solve.

It is a feature used in creating a function that keeps calling itself but with a smaller input every consecutive time until the code's desired result from the start is achieved.

Adding two numbers together is easy to do,
but adding a range of numbers is more complicated.

In the following example, recursion is used to add a range of numbers together by breaking it down into the simple task of adding two numbers:

```
let count = 1;

function m1(number){
    if(count > number){
        return;
    }
    console.log("Hello World :- "+count);
    count++;
     m1(number);
}

m1(10);
```
What Is Python Like?
Tags: discuss, jokes, python
Published: 2023-03-06 15:41:43

Hello there people! Hope y'all can relate to this and more importantly, hope y'all enjoy!

#### When a new Python developer sees code with semicolons run flawlessly:


![Shocked cat gif](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5nuvvfisalpsanvyctso.gif)

#### When you get a huge task, but you can just import it:

![Girl chilling](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vnr0izxk72smwr4dr9vo.gif)

#### When you accidentally mix tabs and spaces:

![Saitama watching destruction](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujoctep3radq27pvl70h.gif)


#### When your 3AM session gives you bugs.

![Head banging](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s2h5fep1b16ennswonee.gif)

#### Waiting for PyCharm to start:

![Kid waiting](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9dk3r9d0brjtvvjl4aml.gif)

#### Python developers when they code in C:

![Excited dancing](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/49vxg8t26ss10khr78nw.gif)

#### Someone after creating first Django project:

![Pablo feeling proud](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ixgehwn3uqha412bejx9.gif)

#### Removing the max recursion limits in Python:


![Fire](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n1vsziuvgkxp8d08y21m.gif)


#### When you realise that Python is older than Java


![Trippy loop](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e58mfespkbmml3o763vv.gif)

#### When someone says you cannot run arbitrary pseudo code, but you use Python:

![Wrong](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5vza0wu46uznr11zvdkd.gif)

#### PyPy is written in Python:

![Loop](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ioytepbt39y52pv2lzrv.gif)


#### Asking old projects to migrate to Python 3:


![Decline. Cat nodding violently](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d8nu807bvgpayamacff3.gif)


#### I wrote this code:

```python
true=False
false=False
if(true==false):
  print("Need a break?")
```
My friends' reaction:

![Wierd stare with sheer disgust](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bkzrq986x52j05ba6oty.gif)


#### Python programmers fighting the Rust compiler:

![Throws monitor away in frustration](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vppwb62l1ppxkktijb8s.gif)

This was my collection of memes. I think that you found it funny. Feel free to share your favourite memes in the comments. If it seems like something doesn't make sense, maybe I can explain in the comments.

Oh, and enjoy your life. Hope y'all stay well.
How to create a beautiful tab using bootstrap?
Tags: webdev, beginners, bootstrap, css
Published: 2023-03-06 15:28:01

Bootstrap provides a range of classes and styles that you can use to create beautiful and functional tabs on your web page. Contrast is also an essential aspect of creating a visually appealing design.

Here are the steps to create a beautiful tab using Bootstrap.

1- Add the necessary files: Add Bootstrap CSS and JS files, and jQuery to your web page.

```
`<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
```
`
2- Create the HTML markup for the tab structure using the Bootstrap tab component. You can include as many tabs as you want, and you can also customize the appearance of each tab.

```
<div class="container">
  <ul class="nav nav-tabs" role="tablist">
    <li class="nav-item">
      <a class="nav-link active" data-toggle="tab" href="#tab1" role="tab">Tab 1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" data-toggle="tab" href="#tab2" role="tab">Tab 2</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" data-toggle="tab" href="#tab3" role="tab">Tab 3</a>
    </li>
  </ul>

  <div class="tab-content">
    <div class="tab-pane active" id="tab1" role="tabpanel">
      <p>Tab 1 content goes here.</p>
    </div>
    <div class="tab-pane" id="tab2" role="tabpanel">
      <p>Tab 2 content goes here.</p>
    </div>
    <div class="tab-pane" id="tab3" role="tabpanel">
      <p>Tab 3 content goes here.</p>
    </div>
  </div>
</div>

```
3- Add your custom styles to the tab component to enhance the appearance of the tab. Use contrast to create a visually appealing design. For example, you can use a light background color for the active tab and a darker color for the inactive tabs.

```
.nav-tabs .nav-link.active {
  background-color: #f8f9fa;
  border-color: #dee2e6 #dee2e6 #fff;
  color: #495057;
}

.nav-tabs .nav-link {
  border: 1px solid #dee2e6;
  color: #495057;
}

.nav-tabs .nav-link:hover {
  border-color: #e9ecef #e9ecef #dee2e6;
}

.tab-content {
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-top: none;
  padding: 20px;
}

```
4- Save and test your web page to see the beautiful tab design.
By following these steps, you can create a beautiful tab using Bootstrap and contrast. You can further customize the design by using different colors, fonts, and other CSS styles.
3 links importantes para comparar diferentes alternativas gratuitas, pagas, abertas ou livres de softwares
Tags: frontend, brazil, braziliandevs, javascript
Published: 2023-03-06 15:25:16

Oi pessoal.

Vou deixar nessa postagem 3 links que considero importantes para comparar diferentes alternativas de software gratuitas, pagas, abertas ou livres.

### [AlternativeTo](https://alternativeto.net/)
Não sei se conhecem mais existe um site chamado AlternativeTo que pode ser encontrado nesse endereço aqui: `https://alternativeto.net/` 

É um site interessante que possui diversos tipos de filtro para você comparar diferentes alternativas de software gratuitas, pagas, abertas ou livres. Mas não é de código-aberto e não possui filtro de privacidade, apesar de haver vários tipos de filtro, menos o de privacidade :(

### [Freestuff](https://freestuff.dev/)
Outro site interessante é o freestuffdev, que é uma alternativa aberta ao alternativeto. A desvantagem é que não existe sistema de comentários ainda planejado ou em roadmap :( 

É isso é uma desvantagem porque sites como AlternativeTo possuem esse recurso e você pode ler comentários sobre isso e no FreeStuffdev não existe essa opção. De qualquer forma, você pode acessar FreeStuffdev neste url: `https://freestuff.dev/`

### [Awesome-Privacy](https://github.com/pluja/awesome-privacy)
Outro site importante é o `https://github.com/pluja/awesome-privacy` que diz quais softwares são mais privados do que outros, isso incluem softwares abertos, fechados, pagos, gratuitos etc.

Acho ruim no caso do Awesome-Privacy não ter uma página de filtro também. Haja vista que é uma página web renderizada pelo Markdown.

## Consideração final

Se você pensar bem todos esses sites que listei são formas de fazer curadoria de software. E todos esses sites possuem prós e contras, ou recursos únicos que diferenciam um do outro ou de boa parte no sentido de público-alvo, propósito, licenciamento, caso de uso. 

Acharia interessante por exemplo que o Alternativeto ou mesmo o FreeStuffDev tivesse esse filtro de privacidade, porém ambos não possuem. Já acho ruim no caso do Awesome-Privacy não ter uma página de filtro também. Haja vista que, é uma página web rederizada pelo Markdown.

De qualquer forma, todos esses links são importantes pois fazem você pensar em quais alternativas considera mais ou menos importantes. Eu por exemplo, não consigo me imaginar não utilizando coisas como Gmail, Google Docs, Google Sheets etc. 

Existem vários links, plataformas, sites e projetos abertos ou não, mas esses são os três links que considero mais importantes para utilizar no dia-a-dia.

O que achou desse post? você conhece esses 3 links?

#### Nota de rodapé
No próximo post, vou falar de uma alternativa interessante e 100% funcional que estou criando para o Google Sheets que deverá ser em tese algo como nullboard, ou seja, funciona online e offline, e sincroniza num agent-client qualquer modificação, ao mesmo tempo que pode sincronizar remotamente as sincronizações dos dados do navegador para um servidor remoto.
Step-by-Step Guide for Beginners: How to Set Up the Soroban Python SDK on Windows
Published: 2023-03-06 15:18:14

Setting up the Stellar Python SDK on Windows involves several steps, including installing Python, setting up a virtual environment, and installing the SDK. Here are the detailed steps:

Install Python:
Go to the Python website (https://www.python.org/downloads/windows/) and download the latest version of Python for Windows.
Run the installer and follow the instructions to install Python on your computer.
Install Git:
Go to the Git website (https://git-scm.com/download/win) and download the latest version of Git for Windows.
Run the installer and follow the instructions to install Git on your computer.
Open Command Prompt:
Press the Windows key + R, then type cmd and press Enter.
Alternatively, open the Start menu, type Command Prompt, and click on the Command Prompt app.

```
Install virtualenv
```
In the Command Prompt, type the following command and press Enter:
Python.org
Python Releases for Windows
The official home of the Python Programming Language
Image

```
pip install virtualenv
```
Create a virtual environment:
Navigate to the directory where you want to create the virtual environment. For example, if you want to create it in the Documents folder, type the following command and press Enter:
cd Documents
Create the virtual environment by typing the following command and pressing Enter:

```
virtualenv stellar_env
```
This will create a new directory called "stellar_env" that contains the virtual environment.
Activate the virtual environment:
Type the following command and press Enter:

```
stellar_env\Scripts\activate
```
You should see the name of the virtual environment appear in parentheses in the Command Prompt.
Install the Stellar Python SDK:
Type the following command and press Enter:

```
pip install stellar-sdk
```
This will install the SDK and any necessary dependencies.
Test the installation:
Type the following command and press Enter:
python
This will open the Python interpreter.
Type the following commands and press Enter after each one:

```
from stellar_sdk import Server
server = Server("https://horizon-testnet.stellar.org/%22)
print(server.fetch_base_fee())
```
You should see the current base fee on the Stellar network printed to the screen.
Congratulations! You have successfully set up the Stellar Python SDK on Windows.
Enable Wake On LAN on Debian
Tags: wol, debian, debian11, debian10
Published: 2023-03-06 15:18:08

##Wake On Lan on Debian


![WOL Debian](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2fmjrh8kth3tlb9lrhqi.png)

---

1.Install ethtool :

```
sudo apt install ethtool
```

2.Checking the Interface :

```
ip a
```

3.Select the interface you want to use. For Example :

```
enp3s0
```

4.Turn wake on lan On Temporarily :

```
sudo ethtool --change enp3s0 wol g
```

5.Check the WOL status of the interface with the following command :

```
sudo ethtool enp3s0
```

6.find the bellow section :

```
Wake-on: g
```

###Making wake on lan Permanent
7.find ethtool directory :

```
which ethtool
```

in my os : /usr/sbin/ethtool

8.Create wol.service in /etc/systemd/system/ with the following content.

```
[Unit]
Description=Enable Wake On Lan

[Service]
Type=oneshot
ExecStart = /usr/sbin/ethtool --change enp3s0 wol g

[Install]
WantedBy=basic.target
```

9.Enable The Service :

```
sudo systemctl daemon-reload
sudo systemctl enable wol.service
```
Sorting Data in Go: An Overview of Different Types of Sorting in Go
Tags: beginners, webdev, programming, go
Published: 2023-03-06 15:10:08

Are you looking to sort data in your Go applications? In this blog post, we will explore the various types of sorting available in Go and how to implement them in your code. So, let's get started!

There are two main sorting options available in Go: **sort.Sort** and **sort.Slice**.

- sort.Sort:

sort.Sort is a generic sorting function that can be used to sort any type of data. It takes a slice of any type, and a comparison function as parameters. The comparison function takes two elements of the slice and returns whether the first element should come before or after the second element.

Example:

```go
package main

import (
    "fmt"
    "sort"
)

func main() {
    // Create a slice of integers.
    data := []int{2, 4, 1, 3, 5}

    // Sort the slice in ascending order.
    sort.Sort(sort.IntSlice(data))
    fmt.Println(data)
}

// Output:
// [1, 2, 3, 4, 5]
```

- sort.Slice:

sort.Slice is a convenience function that calls sort.Sort with a predefined comparison function for the type of data it is sorting. It takes a slice of any type, and an optional comparison function as parameters. If you don't provide a comparison function, it will use the default comparison function for the type.

Example:

```go
package main

import (
    "fmt"
    "sort"
)

func main() {
    // Create a slice of strings.
    data := []string{"Bob", "Alice", "Eve"}

    // Sort the slice in alphabetical order.
    sort.Slice(data, func(i, j int) bool {
        return data[i] < data[j]
    })
    fmt.Println(data)
}

// Output:
// [Alice, Bob, Eve]
```

Example Program for sorting a Json Array:-

```go
package main

import (
    "encoding/json"
    "fmt"
    "sort"
)

// Person is a struct representing a person.
type Person struct {
    Name string
    Age  int
}

func main() {
    // Create a slice of Person structs.
    data := []Person{
        {Name: "Alice", Age: 25},
        {Name: "Bob", Age: 24},
        {Name: "Charlie", Age: 50},
    }

    // Sort the slice in descending order by age.
    sort.Slice(data, func(I, j int) bool {
        return data[I].Age > data[j].Age
    })

    // Marshal the slice into a JSON array.
    bytes, _ := json.Marshal(data)
    fmt.Println(string(bytes))
}

// Output:
// [{"Name":"Charlie","Age":50},{"Name":"Alice","Age":25},{"Name":"Bob","Age":24}]

```

Sorting data is an essential part of many applications. In this blog post, we discussed the various types of sorting available in Go and how to implement them.
What do you call yourself?
Published: 2023-03-06 15:07:43

{% embed https://twitter.com/_swanson/status/1631691930345037824?s=12&t=PI_Z2UA_EoiNtpo17k85jQ %}

I stumbled upon the above tweet the other day, which made me think about my own "title". What do I want to call myself as I progress on this learning path? I'm now 5+ weeks into my Ruby software development program, and starting to think about the next phase, which will be placement with a company. A few will be visiting these coming weeks.

The tweet author mentions the term "Product Engineer" as his title of choice. For me, I gravitate to *Entrepreneur*. It's something I've done for many many years. The thrill of launching a new company is much more exciting than simply playing a small role in a huge multi-national conglomerate. At the same time, there is enormous stress to doing so, primarily from the high-potential of failure, but also the day-to-day stressors of all the daily housekeeping of keeping the lights on. A startup CEO often finds himself being Chief Kitchen Cleanup officer, or Chief run-to-the-store to buy more batteries. 

I do like the author's notion that something like Product Engineer speaks to the customer-facing side of things. Whereas *Full-Stack Developer* seems to suggest a disconnect from the market realities of launching a new product. I don't just want to code. I want to make the next great product, and ensure it sticks around due to market acceptance. 
**Product Market Fit** and all that.

**What do you want to call yourself?**
When Lambdas get confused
Tags: programming, tutorial, java
Published: 2023-03-06 15:05:31

Lambdas are smart — they can infer a lot of details from the context.

But, sometimes, they can’t. In such cases, a lambda needs more information from the programmer.

## Here’s one such case
Interested in details? Please watch this video — https://youtu.be/JQX9JIKF5CQ

Consider we have two functional interfaces —

`SumFunctionInterface` → To perform the sum

`MultiplyFunctionalInterface` → To perform the multiplication

> public interface SumFunctionalInterface {
>     int sum(int a, int b);
> }
> public interface MultiplyFunctionalInterface {
>     int multiply(int a, int b);
> }

Then, we have the Runner class which has two overloaded methods with name m1 — one accepts `SumFunctionalInterface` and another `MultiplyFunctionalInterface`

```
public class Runner {

    public static void main(String[] args) {
        int sumResult = m1((x, y) -> x + y, 5, 6);
    }

    //Method 1
    private static int m1(SumFunctionalInterface iface, int x, int y) {
        return iface.sum(x, y);
    }

    //Method 2
    private static int m1(MultiplyFunctionalInterface iface, int x, int y) {
        return iface.multiply(x, y);
    }
}
```

Now, if we try to call m1 and pass it a lambda to do the summation(see above) then we’ll a compile time error because this time compiler is not able to figure out which version of m1 needs to be called here.

There’s a conflict — both functional interfaces have the same method signature and passed lambda is a match for both of them so it’s getting confused.

To fix that, we will have to provide additional information for the compiler. We can add an explicit cast which will resolve this ambiguity.

```
public static void main(String[] args) {
    int sumResult = m1((SumFunctionalInterface) (x, y) -> x + y, 5, 6);
}
```

Want to learn more about Lambdas and Streams? Please visit my playlist https://www.youtube.com/playlist?list=PLpxcSt9FGVVGl_IwSP1o4AmSrQc6z4SFt