teleren/devto huggingface dataset:
Career Tips
Tags: career, tips
Published: 2024-06-18 13:50:52

Originally published on [ℳontegasppα And Giulia C.’S Thoughts](https://montegasppa.cacilhas.info/2024/06/career-tips.html).

-----

Excuse my lack of modesty, but I’m pretty good at what I do. I’m not even close to the best though, but I’m way above average. It’s due to what I’ve learned over more than 20 years of work experience, and I’d like to share some of the simpler and more efficient tips I got.

Affection
---------

Don’t fall in love with technology and, even more important, don’t get attached to your code.

The code you wrote is **NOT** your son – neither your boyfriend, nor your girlfriend, nor your mother, nor whatelse. Your code is a by-product of turning coffee into shit, a “stuff.” And just like many stuff, it’s meant to be used, not loved.

Look at your code as a necessary evil to be discarded as soon as it’s no longer needed.

Do the same facing technologies: programming languages, frameworks, engines, and even methodologies are tools, not rules. Use them wisely, discard each one when you can.

Design
------

Avoid writing code. Design it first.

Of course you can prospect by coding, however discard it when you head the final code, keep only the cleanest one.

My current job is to find value by just deleting code, and I have virtually implemented features by deleting code!

How is it possible?

Imagine a TV that isn’t working. It’s plugged to an adapter… which is plugged to another adapter… which is plugged to a third one! The last one is plugged to an extension. Than you look at that, remove the adapters, and plug the TV electrical connector directly to the extension, and *voilà*! The TV magically turns on!

That’s pretty much what I’ve been doing, but why?

Because people don’t design. They simply write random code like typing monkeys, hoping something will eventually work.

It leads us to the next topic.

Rely but don’t trust
--------------------

Use methodologies, but don’t let methodologies use you.

Rely on [TDD](https://www.wikiwand.com/en/Test-driven_development), [TDD](https://www.manning.com/books/type-driven-development-with-idris), [SOLID](https://www.wikiwand.com/en/SOLID), [DDD](https://www.wikiwand.com/en/Domain-driven_design), [CDD](https://youtu.be/Kdpfhj3VM04), [AOP](https://www.wikiwand.com/en/Aspect-oriented_programming), [ADT](https://www.wikiwand.com/en/Algebraic_data_type), but always revisit the concepts and adapt them to your real-world needs.


## Conformism

Never ever be fully satisfied by yourself. I never know enough, I’m always looking for the next subject or getting deeper in something I’ve learned, so you should too.


---

Those are the tips I have for you today.
Earn Up to $4K/Month Recurring Per Subscription with FastestEngineer’s Affiliate Program!
Tags: javascript, webdev, affiliate, programming
Published: 2024-06-18 13:43:56

Join FastestEngineer’s lucrative affiliate program and start earning up to $4,000 monthly on a recurring basis for each subscription you refer! As our affiliate partner, you'll be promoting a cutting-edge SaaS platform that helps entrepreneurs rapidly launch their businesses. Not only will you benefit from a high commission rate, but your subscribers will also get a 10% discount when they sign up through your link. Dive into the thriving SaaS market and start boosting your earnings today. Sign up now and transform your affiliate efforts into a significant recurring income with FastestEngineer: https://fastest.engineer/affiliate
One Byte Explainer Challenge solution(Recursion)
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-18 13:35:40

*This is a submission for [DEV Computer Science Challenge v24.06.12: One Byte Explainer](https://dev.to/challenges/cs).*

## Explainer

<!-- Explain a computer science concept in 256 characters or less. -->

## Additional Context

<!-- Please share any additional context you think the judges should take into consideration as it relates to your One Byte Explainer. -->

<!-- Team Submissions: Please pick one member to publish the submission and credit teammates by listing their DEV usernames directly in the body of the post. -->

<!-- Don't forget to add a cover image to your post (if you want). -->

<!-- Thanks for participating! -->
Recursion is a computer programming technique where a function solves a problem by calling smaller versions of itself. It is crucial in computer science for tasks like sorting and traversing data structures, allowing smooth and efficient operations.
VueJS: o que é, como funciona e como começar a usar o framework
Published: 2024-06-18 13:29:43

Você trabalha com **desenvolvimento Front End** (ou estuda essa área) e procura uma ferramenta flexível e eficaz para criar projetos incríveis? Então, este guia é para você!

Neste artigo escrito em parceria e com exclusividade para a [**Alura**](https://www.alura.com.br/), você conhecerá uma ferramenta para o desenvolvimento web: o **Vue.js**.

Vamos explorar juntos o que é, para que serve e como se aprofundar nesse framework cada vez mais popular. É só clicar no link abaixo e acessar o artigo gratuitamente!

[Vue.js: o que é, como funciona e como começar a usar esse framework JS](https://www.alura.com.br/artigos/vue-js)

<img src="https://www.alura.com.br/artigos/assets/vue-js/vue-js.jpg" alt="Escola de front-end">

Boa leitura!
Develop a consciousness of internal quality to maintain our productivity
Tags: opensource, codequality
Published: 2024-06-18 13:27:00

[](url)I love coding because it allows me to create what I want from my imagination. But it's not fun when software design is more complex and buggy.
Developers need to maintain maintainability by constantly checking the scope of impact when making changes to the code and continuing to test and refactor.
This movement has senior developers who catch the [code smells](https://tidyfirst.substack.com/p/code-smells), but it is always difficult to be conscious of impacting code changes.
We should easily know the impacting code changes to support developers.

## The slowing pace of development

As a developer, you've probably experienced the frustration of a service becoming more complex over time, leading to a slower pace of development.
Even if it works fine when you add a feature, if the scope of the change is difficult to understand and the design is hard for future colleagues to understand, it will gradually become more likely to break.
Creating unintended relationships in a program is easy, so maintaining maintainability within a team can be a tough challenge.

## Developing while looking at the impact map

The [Inga plugin's Impact Map](https://plugins.jetbrains.com/plugin/24358-inga) visualizes the modules and components affected by the developer's code changes in real-time.
{% embed https://www.youtube.com/watch?v=D1PpRi0yvKY %}

The impact can be checked in the following development phases.

**Individual development phase:**
By integrating with the IDE, the Inga plugin empowers developers to develop while always being aware of the impact on the internal design. This control helps to prevent unintended negative effects, giving developers more confidence in their coding.

**Team code review phase:**
Since the team, not the individual, protects the design, reports can be posted to a pull request by [CI](https://github.com/seachicken/inga-action) so that the whole team can check the impact during code review.

Inga will contribute to productivity. If you sympathize with this concept, you can try it out without hesitation, as it is free. Also, since code analysis is performed entirely on the local machine, you can use it with peace of mind. We welcome feedback on both good and bad points. Thank you.

## References

- https://www.martinfowler.com/articles/is-quality-worth-cost.html
How To Use Copilot to Easily Create PowerPoint Presentations In Minutes
Tags: tutorial, ai, office, powerpoint
Published: 2024-06-18 13:23:11

## Introduction

Creating effective and visually appealing PowerPoint presentations can be a time-consuming and challenging task, often requiring significant effort and attention to detail. However, with advanced artificial intelligence (AI) technologies, the process of creating presentations has become more streamlined and efficient. One such useful tool is Copilot, an AI-powered assistant that can help users generate content, add slides, incorporate visuals, and organize information with ease. This comprehensive guide will explore how to leverage Copilot's capabilities to create impressive PowerPoint presentations rapidly.

## Setting Up Copilot in PowerPoint

Before utilizing Copilot, it is necessary to ensure you have the required subscriptions and proper setup. To use Copilot in PowerPoint, you will need a Microsoft 365 subscription ($6.99 monthly) and a Copilot Pro subscription ($20 monthly). After acquiring these subscriptions, the "Copilot" button should be visible on the Home tab ribbon in PowerPoint. If not visible initially, you may need to update your Microsoft 365 license by navigating to File > Account > Update License. Follow the instructions to sign in with your account holding both subscriptions, then close and relaunch PowerPoint. The Copilot button should now be accessible.


[Generating an Entire Presentation](https://www.byteswifts.com/2024/06/Create-PowerPoint-Presentations-Using-Copiltot.html)
How To Use Copilot to Easily Create PowerPoint Presentations In Minutes
Published: 2024-06-18 13:19:55

## Introduction

Creating effective and visually appealing PowerPoint presentations can be a time-consuming and challenging task, often requiring significant effort and attention to detail. However, with advanced artificial intelligence (AI) technologies, the process of creating presentations has become more streamlined and efficient. One such useful tool is Copilot, an AI-powered assistant that can help users generate content, add slides, incorporate visuals, and organize information with ease. This comprehensive guide will explore how to leverage Copilot's capabilities to create impressive PowerPoint presentations rapidly.

## Setting Up Copilot in PowerPoint

Before utilizing Copilot, it is necessary to ensure you have the required subscriptions and proper setup. To use Copilot in PowerPoint, you will need a Microsoft 365 subscription ($6.99 monthly) and a Copilot Pro subscription ($20 monthly). After acquiring these subscriptions, the "Copilot" button should be visible on the Home tab ribbon in PowerPoint. If not visible initially, you may need to update your Microsoft 365 license by navigating to File > Account > Update License. Follow the instructions to sign in with your account holding both subscriptions, then close and relaunch PowerPoint. The Copilot button should now be accessible.


[Generating an Entire Presentation](https://www.byteswifts.com/2024/06/Create-PowerPoint-Presentations-Using-Copiltot.html)
Hire Laravel Developers in Just 48 Hours [40-Hour Free Trial]
Tags: laraveldevelopers, laravelconsultants
Published: 2024-06-18 13:14:59

Want to [hire Laravel developers](https://www.websoptimization.com/hire-laravel-developers.html)? Hire our expert developers quickly and test their skills with a 40-hour free trial! Get the right fit for your project in just 48 hours.

 #HireLaravelDevelopers #HireDedicatedLaravelDevelopers #HireLaravelDeveloper #LaravelConsultants #hireLaravelProgrammers #hireLaravelProgrammer #Laraveldevelopersforhire #hireremoteLaraveldevelopers #hireremoteLaraveldeveloper #hirelaraveldevelopersindia
1.6 - Ponto e vírgula, posicionamento e práticas de recuo
Tags: java
Published: 2024-06-18 13:14:53

**Ponto e vírgula e posicionamento**

Em Java, o ponto e vírgula é um separador usado para terminar uma instrução.
Cada instrução individual deve ser finalizada com um ponto e vírgula.
O ponto e vírgula indica o fim de uma entidade lógica.

Exemplo:

```
x = y;
y = y + 1;
System.out.println(x + " " + y);
```

é o mesmo que o seguinte, em Java:

```
x = y; y = y + 1; System.out.println(x + " " + y);
```

Java não reconhece o fim da linha como um terminador.
Instruções podem ser inseridas em qualquer parte da linha.

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

Dividir linhas longas dessa forma ajuda na criação de programas mais legíveis.
A divisão de linhas longas também impede que elas passem para a próxima linha.

Lembrete:
Um bloco é um conjunto de instruções conectadas logicamente delimitadas por chaves.
Um bloco não é finalizado com um ponto e vírgula.
O fim do bloco é indicado pela chave de fechamento {}.


**Práticas de recuo**

Java é uma linguagem de forma livre, permitindo inserção de instruções em qualquer lugar da linha.
O recuo comum e aceito para melhorar a legibilidade.

Recomendações: 
Recuar um nível após cada chave de abertura.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yzh844xeyqrq9oyrtxo7.png)

Certas instruções encorajam recuo adicional para facilitar leitura.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/syumbsyg94pszdmrt3uo.png)
1.5 - blocos de código
Tags: java
Published: 2024-06-18 13:14:38

**Bloco de código**

Agrupa duas ou mais instruções.
Instruções são envolvidas por chaves {}.
Podem ser usados onde uma única instrução seria usada.

- Exemplo:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dmn79k8o2yr9ubzelhmc.png)
Se w for menor que h, ambas as instruções são executadas.

- Benefícios dos blocos de código:

Permitem vincular logicamente duas ou mais instruções.
Facilitam a implementação de algoritmos com clareza e eficiência.

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

Saída do programa
i does not equal zero
j / i is 2.0

- Se i for configurado como zero, o bloco inteiro é ignorado.

- Pergunta: O uso de um bloco de código introduz alguma ineficiência de tempo de execução? Em outras palavras, Java executa realmente { e }?
O uso de um bloco de código não introduz ineficiência de tempo de execução.
Java não executa realmente { e }.
Blocos de código não adicionam sobrecarga e geralmente aumenta a velocidade e a eficiência.
Blocos de código simplificam a codificação de certos algoritmos.
1.4 - Instruções de controle (if e for)
Tags: java
Published: 2024-06-18 13:14:23

**IF**

Instrução condicional em Java: if
Funciona como a instrução IF em outras linguagens
Forma mais simples

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

condição é uma expressão booleana. Se verdadeira, a instrução é executada. Se falsa, a instrução é ignorada.


- Exemplo quando verdadeira

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


- Exemplo quando falsa. A instrução não será executada.

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


**Operadores relacionais para expressões condicionais**

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

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

Pode-se declarar mais de uma variável do mesmo tipo separando-as por vírgulas (int a, b, c).

**Laço FOR**

Forma mais simples do laço for:

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

Partes do laço for:

- Inicialização: Define uma variável de controle do laço com um valor inicial

- Condição: Expressão booleana que testa a variável de controle do laço
    Se verdadeira, o laço continua a iterar
    Se falsa, o laço é encerrado

- Iteração: Determina como a variável de controle do laço é alterada a cada iteração

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


- count é a variável de controle do laço
Inicialização: count é configurado com zero

- Condição: count < 5
  Verdadeira: executa println() e a iteração do laço (incrementa count)
  Falsa: execução retoma após o laço


- Iteração do laço:
  Incrementa count em uma unidade
  Continua até a condição ser falsa

Operador de incremento (++):
Aumenta o operando em uma unidade
Substitui count = count + 1 por count++

Operador de decremento (--):
Diminui o operando em uma unidade
Substitui count = count - 1 por count--
1.3 - Outro tipo de dados
Tags: java
Published: 2024-06-18 13:13:41

A variável int só pode conter números inteiros.
Não pode ser usada para números com componentes fracionários.
Exemplo: uma variável int pode conter 18, mas não 18.3.
Java define outros tipos de dados além de int.
Para números com componentes fracionários, Java define os tipos float e double.

- Float (Precisão Simples)
Tamanho: Ocupa 4 bytes (32 bits) de memória.
Precisão: Aproximadamente 7 dígitos decimais.
Uso: Adequado para situações onde a memória é um fator crítico e a precisão não precisa ser muito alta.
Exemplo: Pode armazenar valores como 3.1415927 ou 1.234567.


- Double (Precisão Dupla)
Tamanho: Ocupa 8 bytes (64 bits) de memória.
Precisão: Aproximadamente 15 dígitos decimais.
Uso: Mais comumente usado em Java, ideal para aplicações científicas, financeiras, e situações onde a precisão é crucial.
Exemplo: Pode armazenar valores como 3.141592653589793 ou 1.23456789012345.


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

A saída desse programa será:
var after division: 2
x after division: 2.5

Quando var é dividida por 4, o resultado é um inteiro (2) e o componente fracionário é perdido.
Quando x (tipo ponto flutuante) é dividida por 4, o componente fracionário é preservado.

- Tipos de dados diferentes em Java:

Java tem tipos diferentes para inteiros e valores de ponto flutuante para criar programas eficientes.
Aritmética de inteiros é mais rápida que cálculos de ponto flutuante.
Diferentes tipos de dados requerem diferentes quantidades de memória, fazendo melhor uso dos recursos do sistema.
Lock / Mutex to a CS undergraduate (Difficulty 2)
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-18 13:04:25

*This is a submission for [DEV Computer Science Challenge v24.06.12: One Byte Explainer](https://dev.to/challenges/cs).*

## Explainer
Locks prevent issues when multiple entities access a resource simultaneously (like multiple apps writing to a file), which can cause unexpected behavior (like overwritten writes). Google Docs uses it to avoid overwritten edits during collaboration.

## Additional Context

I am planning to post 5 submissions explaining "Lock/Mutex" at 5 levels of difficulty. This is Difficulty 2.

A Computer Science first year student, probably have not heard of mutex, but might have heard about some problems involving race condition. An explanation that explains what mutex is along with its usage and example is useful.

For more about explaining the term in 5 Levels of difficulty, refer to the below post. It's interesting!

{% embed https://dev.to/sauravshah31/computer-science-challenge-lets-make-it-interesting-lai %}


[Previous explanation for Difficulty 1](https://dev.to/sauravshah31/lock-mutex-to-an-8th-grader-378a)
[Next explanation for Difficulty 3](https://dev.to/sauravshah31/lock-mutex-to-a-software-engineer-5hm8)

**Cheers🎉** ~ [sauravshah31](https://x.com/sauravshah31)
Why You Should Use Local AI Instead ChatGPT?
Published: 2024-06-18 12:52:34

## Privacy

Privacy is very important. If you use ChatGPT, admins can see your conversations. But in local AI, they can't see because they aren't admin of your AI.

## Freedom

For example, you can't write RAT with ChatGPT, but in local AI, you can do it (AI model must uncencored). I said RAT, but we have a lot of examples for it.

## Security

In ChatGPT your data can be leaked. But in local AI, it cannot.
Activating Windows 10/11
Published: 2024-06-18 12:51:41

Hello guys. This is qui. Today I will make a tutorial about activating Windows 10/11 for free. This tutorial isn't working with LTSC versions.

First you should run script with this command in PowerShell (Administrator): `irm https://get.activated.win | iex`

And select HWID. If it's not working, you can use KMS.

Thank you for reading this post. Good bye!
How to Learn Python FREE: 8-Week Learning Plan (80/20 Rule)
Tags: python, programming, tutorial, softwaredevelopment
Published: 2024-06-18 12:45:27

Unlock the power of Python programming in just 8 weeks with our streamlined 80/20 learning plan! This video offers a concise yet comprehensive guide to mastering the essential aspects of Python, ensuring you spend your time on the concepts that deliver the most significant impact. Whether you're a beginner eager to dive into the world of programming or looking to refresh your skills, this plan is designed to optimize your learning journey, focusing on core syntax, practical applications, and impactful libraries. 

The link to the full learning guide and a learning tracking sheet:
[https://proflead.dev/posts/how-to-learn-python-effectively/](https://proflead.dev/posts/how-to-learn-python-effectively/)
Mastering OOPS: Encapsulation and Abstraction Explained Simply
Tags: abstraction, encapsulation, oop, java
Published: 2024-06-18 12:43:56

## Lets Recall Previous Articles

**OOP Basics**
**Classes and Objects:**
    1. Class: A blueprint for creating objects.
    2. Object: An instance of a class.
    3. Attributes: Data stored in objects (e.g., make, model).
    4. Methods: Functions that operate on objects (e.g., drive)

**Inheritance**
   1.Definition: A mechanism where one class inherits attributes 
   and methods from another class.
   2.Example: A 'Dog' class inherits from an 'Animal' class, 
   gaining it's properties and behaviors.

**Polymorphism**
  1.Definition: The ability of different objects to respond in 
  unique ways to the same method call.
  2.Example: Both 'Dog' and 'Cat' classes inherit from 'Animal', 
  but each implements the makeSound method differently ('Dog' 
  barks, 'Cat' meows).

**Encapsulation**
  Encapsulation is like putting your data in a box and only 
  allowing access through controlled methods. It protects the data 
  inside from unauthorized access and modifications.

**Example Explanation**
  Imagine a class 'Person' that has private attributes 'name' and 'age'. You can't access these directly from outside the class. Instead,you use public methods to get and set these values.

**code**

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

// Continue the example

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

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

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

**Abstraction**
  Abstraction is like using a remote control to operate your TV. 
  You don't need to know how the TV works internally; you just 
  need to know which buttons to press.

**Example Explanation**
Imagine an abstract class 'Animal' that has an abstract method 'makeSound()'. Different animals will have their own implementation of 'makeSound()', but you don't need to know the details when you call this method.


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

// continue the example

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


## Summary

- **Encapsulation**: Protects data by keeping it private and 
   providing public methods to access and update it.

   1.**Example**: The 'Person' class with private attributes and 
     public getter and setter methods.


- **Abstraction**: Hides complex details and shows only the 
  essential features of an object.

  2.**Example**: The 'Animal' abstract class with an abstract 
    method 'makeSound()' that is implemented differently in 'Dog' 
    and 'Cat' subclasses.




We dive into more in next article