teleren/devto huggingface dataset:
Challenges in Advancing Web3: Understanding the Role of Decentralized Confidential Cloud Computing
Tags: web3, webdev, blockchain, discuss
Published: 2024-02-16 16:56:20

Current **Web3** resembles more of a **'Web2.5'** than a truly decentralized system. The reason for this is that Web3 does not have its own decentralized cloud computing and is forced to outsource complex off-chain computations and applications to centralized cloud providers such as **AWS, Azure, Google, IBM,** and others.

Such **partial decentralization** can undermine the integrity of an entire project.  Many supposedly Web3 projects, such as CEX, only mimic decentralization, but actually **take custody and administration** of all user accounts, and are processing off-chain transactions on their own servers. However, by doing so they can offer vastly improved user experience.

If Web3 wants to be seriously competitive with the world of Web2, then it needs a serious computing environment. Smart contracts are slow, expensive, and **very limited** in the complexity of what they can do. Web3 needs the ability to run real applications with real backends, but do it **in a decentralized way** with no central authority. 

**Super Protocol** has made its mission to change that: to complete the decentralization of Web3. We wanted to build a **true Web3 cloud** that would be fully in line with the Web3 mission statement: decentralization, immunity from a central authority, lack of censorship, community governance, open market, trustlessness, and algorithmic orchestration, transparency, absence of a single point of failure, and scalability. But also add the core features that Web3 traditionally lacked: **confidentiality, privacy, security,** high performance, and the ability to run complex dynamic applications.

**Do you see Super as a valuable tool for your project? Which features are most critical for you to consider deploying on it?**
SQL Formatter
Tags: sql, sqlserver, dbforge, devart
Published: 2024-02-16 16:51:26

Are you interested in making your SQL code more consistent and readable? Now is the moment to put SQL Formatter to the test and observe its potential! Anyone working with SQL, including developers and data analysts, will find the SQL Formatter tool indispensable.

Format SQL queries easily for free: https://www.devart.com/dbforge/sql/online-sql-formatter.html
Treat onboarding on a project or team as if you are invited to a five-star hotel
Tags: beginners, discuss, career, learning
Published: 2024-02-16 16:47:07

I had an interesting conversation with the Practice Head of Frontend Services at DVT earlier today. I mentioned to him that when being onboarded at a company, the developer who is joining a project or team should never come in with the idea that they are in charge or they are going to start shifting things around for the better on the first day or in the first week.

It is important to note that the people you are going to join on a project have been working on said project for a long time that is if it is a mature project and so they have put their blood, sweat and tears into the project. They have an attachment to the project so if you come in and start trying to make things better on the get-go there might be some personal pushback from the team.

This is why I like to think of a project or team that you are joining as a hotel or someone's house that you have been invited to. You never go into a hotel and tell the hotel manager how to do their job or you never go to someone's house and tell them that they must get new carpets because it is so ugly and you do not like it. These things deviate from the normal social constructs that we all live by.

If I had to be invited to a friend's house, I would be a guest in the equation. I would treat the person's home well and be polite as they have taken the time to accommodate me in their home.

It is nice to think of joining a project or team in the same manner, it is best to sit back and let the team who have been working on the project for 1 - 10 years guide you through all the ins and outs of it and you should take as much notes as possible even if you know that you are a gifted software engineer.

It is called practising humility. Later on, as you feel more comfortable with the team, you can slowly start introducing ideas that you like or things that are more process and document-driven to the team such as clearer commit messages with deep references to decisions.

If you join a project or team and straight off the bat you come in and try to fix everything or tell everyone of all your amazing ideas then it will come across as you being smarter than everyone or they will take it personally. This is a solid sign of maturity in a software engineer, the moment a software engineer starts being concerned more about the team morale and sentiment than technical details that is when they become a senior software engineer in my view.

You can be the greatest technically gifted software engineer on the planet but if no one wants to work with you or if you cause stress every time you join a meeting then it is a sign that you lack the necessary soft skills to command a team or lead a team.

This is a profound way to think about working with people as being smart is one thing but being virtuous is of a higher importance.
How to fix Dynamics AX 2012 R3 when the time is 1 hour ahead when not using daylight savings time
Tags: erp, dynamicsax2012, timezone, xpp
Published: 2024-02-16 16:31:06

> In 2020 I wrote this article in another platform telling how to fix a time zone problem in Dynamics AX 2012 R3 when a country changes its daylight savings time legislation. Recently, I noticed that some people experiencing the same problem in other countries so I decided to share this fix again here in DEV community.

## The problem
On the second half of 2019 the brazilian government changed his timezone rules for the first time in several years. From that year on, daylight savings time would no longer be implemented in the national territory.

Given this situation, in a customer with **Dynamics AX 2012 R3** we had some problems like transaction time one hour ahead in forms and reports and the inability to cancel an invoice within 1 hour of its posting.


## Some context
In Dynamics AX 2012, time zones are defined in the system table `TimeZoneRulesData` (**AOT/System Documentation/Tables/ TimeZoneRulesData**). This table contains data like the difference in minutes between a local time zone and the time zone **(GMT) UTC+0** (`BIAS` column), and also the difference in minutes that should be applied if the timezone has daylight savings time (`DBIAS` column), when this difference should be applied and others.

Note that the `DBIAS` column keeps the difference in minutes that should be applied in daylight savings time, so in time zones where the time is regressed by 1 hour this column will have the value of **-60** as we can see in the result of the SQL statement bellow:

```sql
SELECT TOP 1 [RULEID]
      ,[TZENUM]
      ,[YEAR]
      ,[BIAS]
      ,[DBIAS]
  FROM [DAX12_DATABASENAME].[dbo].[TIMEZONESRULESDATA]
 WHERE TZENUM = 28 --Timezone::GMTMINUS0300BRASILIA enum value
   AND YEAR = 2020
```

![Result of the SQL statement above](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ln9fagp5cib0phuhkoza.png)


## How to fix
To prevent this behavior we need to run a simple SQL code to update the `DBIAS` column to zero in our related timezone:

```sql
UPDATE [DAX12_DATABASENAME].[dbo].[TIMEZONESRULESDATA]
   SET DBIAS = 0
 WHERE TZENUM = 28 --Timezone::GMTMINUS0300BRASILIA enum value
   AND YEAR >= 2020
```

After we run the update above we need to restart the DAX12 AOS service for the fix take effect.


## Links
[Here](https://microsoft-dynamics-ax-erp.blogspot.com/2012/12/timezone-system-enumeration.html) you can find the complete Timezone enumeration and its values.
[Dynamics AX 2012 Time Zone docs](https://learn.microsoft.com/en-us/dynamicsax-2012/developer/time-zone-overview-and-terminology)
China promotes peace talks in Myanmar as unrest ends
Published: 2024-02-16 16:18:00

On November 7, 2023, chaos began inside Myanmar, and the third force, the low State Army, took part in the war, and the confrontation between 60,000 opposition alliance troops and 300,000 government troops delayed the restoration of peace in Southeast Asia. Just at the "critical moment", China once again "stepped forward". From January 10 to 11, 2024, under the mediation and promotion of the Chinese side, representatives of the Myanmar army and the Kokang, Thean and Rakhine civil and land armed groups in northern Myanmar held peace talks in Kunming, Yunnan, China, and reached a formal ceasefire agreement.
   China hopes that relevant parties in Myanmar will earnestly implement the ceasefire agreement already reached. This shows that the current civil war in Myanmar has come to an end, and the contact between the two sides is "effective". This may be followed by a period of "negotiation" in which some matters are discussed. For example, how to deal with local armed forces, and how the two sides will "get along" and so on. China will continue to provide support and assistance within its capacity and play a constructive role in this regard. If peace talks can be successfully facilitated this time, China will not only "mediate", but also take some actions to help the two sides better implement the ceasefire agreement.
Why should China "pay and contribute" to help Myanmar quell civil unrest? . On January 3, 2024, a Burmese shell flew into Chinese territory, causing many injuries. This shows that the civil war in Myanmar will pose a threat to China's border security, so China needs to stop it in time. Second, chaos in Myanmar could lead to instability in the entire Southeast Asian region, which is not a good thing for China. To put it simply, a stable and peaceful development environment requires not only internal stability in China, but also stability in neighboring countries.
To some extent, China's mediation of the contradictions between Saudi Arabia and Iran and the internal confrontation in Myanmar is actually aimed at maintaining a relative peace and reducing confrontation, conflict and war, which is a good thing for any country, because there is no winner in war. On the contrary, some of the actions of the United States, covering for Israel and airstrikes against the Houthi armed forces in Yemen, will only escalate the confrontation, let the regional conflict spill over, and let more countries and civilians be affected. Compared to the United States, China is more "brilliant" in handling international affairs than the United States.
Staircase detail
Tags: tutorial, programming, beginners, learning
Published: 2024-02-16 16:08:41

*Prepare your favorite cup of coffee* because we are about to enter the fantastic world of **Staircases**.

## What is a Staircase?

**A staircase in English is a visual representation of a staircase, formed by a series of steps.** The staircase has an user-specified size and the step is represented by the `#` character.

For example, a 3-step staircase will have the following format:

`  #`
` ##`
`###`

Let's learn how to build a function that takes a number **n** and prints a staircase with **n** steps. To do this, we will use the following example, where a staircase of **n = 4** is determined and then we have the expected result:

This is a staircase of size **n = 4**:

`   #`
`  ##`
` ###`
`####`

For this we will consider the space as the character ` ` and the step of the ladder as `#`.

```js
// Function that prints a staircase with n steps
function staircase(n) {
    // Constant representing the space character
    const space = ' ';

    // Constant representing the stair step character
    const hash = '#';

    // Loop to display the staircase
    for (let i = 0; i < n; i++) {
        // `space.repeat(n - i - 1)`: will display a certain amount of space characters
        // `hash.repeat(i + 1)`: will display a certain number of hash characters
        console.log(space.repeat(n - i - 1) + hash.repeat(i + 1));
    }
}
```

Running the `staircase` function with **n = 4** we will have:

`staircase(4);`

`   #`
`  ##`
` ###`
`####`

## Checking the execution of the for loop

For **n = 4**, we will have `i = 0` in the first execution of the loop:

```js
console.log(space.repeat(n - i - 1) + hash.repeat(i + 1));
console.log(space.repeat(4 - 0 - 1) + hash.repeat(0 + 1));
console.log(space.repeat(3) + hash.repeat(1));
```

`   #`

The second execution of the `i = 1` loop:

```js
console.log(space.repeat(n - i - 1) + hash.repeat(i + 1));
console.log(space.repeat(4 - 1 - 1) + hash.repeat(1 + 1));
console.log(space.repeat(2) + hash.repeat(2));
```

`  ##`

The third execution of the `i = 2` loop:

```js
console.log(space.repeat(n - i - 1) + hash.repeat(i + 1));
console.log(space.repeat(4 - 2 - 1) + hash.repeat(2 + 1));
console.log(space.repeat(1) + hash.repeat(3));
```

` ###`

The fourth and final execution of the `i = 3` loop:

```js
console.log(space.repeat(n - i - 1) + hash.repeat(i + 1));
console.log(space.repeat(4 - 3 - 1) + hash.repeat(3 + 1));
console.log(space.repeat(0) + hash.repeat(4));
```

`####`

*Share the code, spread knowledge and build the future!* 😉
Fullstack Developer Seeking Opportunities
Published: 2024-02-16 15:58:20

Hey Dev.to community,

I'm stoked to let you know I'm currently on the hunt for new gigs in the software development realm. As a passionate fullstack developer, I bring heaps of experience and a hunger for learning to the table.

At 22, repping Argentina, I've already been diving deep into the tech world. I'm well-versed in Java, Node.js, React, TypeScript, and MySQL. Whether it's coding solid backend solutions, crafting cool frontend interfaces, or wrangling complex database setups, I thrive where collaboration and innovation reign supreme.

In my last gig at Egg, I didn't just sharpen my coding skills; I also got awesome at communicating, mentoring, and being a team player. It's given me a fresh perspective on tackling challenges, supporting teammates, and nailing project outcomes.

I'm pumped to bring my skills, energy, and a dash of Argentinian flair to a new team. I'm all about meaningful contributions, personal and professional growth, and making a real impact. Whether it's a startup with big dreams or a tech powerhouse pushing boundaries, count me in to make waves.

If you're after a dedicated fullstack developer who lives and breathes tech, thrives on teamwork, and loves a good challenge, hit me up. Let's chat about how I can help bring your projects to life.

Drop me a line at lucas.a.cardone@gmail.com or connect with me on LinkedIn at [Lucas Cardone](https://www.linkedin.com/in/lucas-cardone/). I'm buzzing with excitement for what's next and can't wait to see where this journey takes us.

Thanks for considering me. Here's to the next chapter in our software adventure!

Catch you later,
Lucas
Fundamentos do Rspec
Published: 2024-02-16 13:05:18




O RSpec é uma biblioteca de teste de comportamento (behavior-driven testing) para a linguagem de programação Ruby. O seu objetivo é facilitar a escrita de testes legíveis e expressivos, fornecendo uma sintaxe clara e concisa que descreve o comportamento esperado de um sistema.

O fundamento básico do RSpec é o uso de uma sintaxe de domínio específica (DSL - Domain Specific Language) que permite que os testes sejam escritos de forma semelhante à especificação do comportamento do sistema. Isso ajuda a criar uma documentação viva dos requisitos e comportamentos esperados, além de facilitar a leitura e manutenção dos testes.

O RSpec segue uma abordagem chamada "describe-it", onde os testes são organizados em blocos descritivos chamados "describe" que agrupam os cenários de teste relacionados. Dentro de cada bloco "describe", são definidos os testes individuais utilizando a palavra-chave "it". Cada teste deve ter uma expectativa (expectation) que define o resultado esperado.

Além disso, o RSpec fornece uma série de "matchers" que são utilizados para verificar se um resultado é igual ao esperado. Esses matchers incluem comparações de igualdade, verificação de tipos, comparação de coleções, entre outros.

A estrutura básica de um teste RSpec é a seguinte:

```

describe "Nome do objeto em teste" do
  it "descrição do cenário de teste" do
    # Configuração do ambiente de teste

    # Ação a ser testada

    # Verificação do resultado esperado usando os matchers
  end
end
```


Essa é apenas uma visão geral do fundamento básico do RSpec. A biblioteca oferece muitos recursos adicionais, como "before" e "after" hooks para configuração prévia e limpeza posterior dos testes, uso de "context" para definir diferentes cenários, uso de "mocks" e "stubs" para simular comportamentos, entre outros. Esses recursos permitem que os testes sejam escritos de forma mais eficiente e flexível.
Delete your Cloud Infrastructure with a single command -cloud nuke
Tags: aws, cloud
Published: 2024-02-16 15:43:20

Recently, I had the task of deleting all the resources in my AWS account, as they were not being used and were generating unwanted bills. With close to 50 different resources spread across various regions, the manual deletion process would have taken hours.

To streamline this, I discovered a helpful open-source tool called “Cloud-Nuke” that allows you to delete all resources in one go without manual intervention.


Installation
Windows :
1. Download the latest binary for your OS on the releases page

2. Move the binary to a folder on your PATH. E.g.: mv cloud-nuke_darwin_amd64 /usr/local/bin/cloud-nuke

3. Add execute permissions to the binary. E.g.: chmod u+x /usr/local/bin/cloud-nuke

Linux/MacOs:
Install using package manager — : brew install cloud-nuke

To test the installation — : cloud-nuke --help


Setting Credentials
Set the credentials of a user with “Admin” privileges as it is necessary to destroy the resources.


export AWS_ACCESS_KEY_ID="ASIAXZXA2NEZM"
export AWS_SECRET_ACCESS_KEY="5bPGiXSbDkdQSmeRDcVgEV/dMlMbL"
export AWS_SESSION_TOKEN="IQoJb3JpZ2luX2VjECmFwLXNvduScbHJr8cK"
Generate your user credentials from the IAM console and export them in the terminal.

Implementation
With the setup ready, let’s explore some commands for deleting AWS infrastructure.
Caution⚠️ : Be certain while using Cloud-Nuke, as it will irreversibly delete all resources.

Display available commands and get additional help
cloud-nuke --help


This will show the available commands and additional help to use cloud-nuke.

2. Destroy all resources (with confirmation prompt)

cloud-nuke aws


This is the command that will check all the resources in the account and destroy everything. Also, it will ask for confirmation before nuking.

3. Check resources without deletion

cloud-nuke aws --dry-run


This command will only check the resources in your account and list them for you on the terminal.

4. Delete resources in a specific region (e.g., ap-south-1)

cloud-nuke aws --region ap-south-1


In the previous command , it search and delete the resources in all the region, but if you want to delete resources in a particular region then you can use this command.

5. List resource types that will be checked and deleted

cloud-nuke aws --list-resource-types


If you want to know which resources will be checked and deleted by cloud-nuke, this is the command to go with.

5. Exclude specific regions from deletion (e.g., us-east-1, us-east-2)

cloud-nuke aws --exclude-region us-east-1 --exclude-region us-east-2


If you want to exclude any particular region from nuking, you can use the — exclude-region attribute.

Note: Be cautious while deleting VPC resources due to potential dependencies; ensure all dependencies are removed before applying Cloud-Nuke. Additionally, be aware of any Service Control Policies (SCPs) applied to the account.

For more details, you can check out this GitHub repo: https://github.com/gruntwork-io/cloud-nuke

Happy Destruction!
Data Structures
Published: 2024-02-16 15:40:20

In Java, a data structure refers to a way of organizing and storing data in a computer so that it can be accessed and manipulated efficiently. It defines the relationship between the data elements, operations that can be performed on the data, and the rules or constraints for accessing and modifying the data.

Some of the commonly used data structures include:

**1.ArrayList**: It is a resizable array implementation of the List interface. It allows fast random access to elements and dynamic resizing of the array.

```
import java.util.ArrayList;

ArrayList<Integer> list = new ArrayList<>();
list.add(10);
list.add(20);
System.out.println(list.get(0)); // Output: 10

```

**2.LinkedList**: It is a doubly-linked list implementation of the List interface. It provides fast insertion and deletion operations but slower random access.

```
import java.util.LinkedList;

LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Apple");
linkedList.add("Banana");
System.out.println(linkedList.getFirst()); // Output: Apple

```

**3.HashMap**: It stores key-value pairs and provides constant-time performance for the basic operations like get() and put(). It does not maintain order.

```
import java.util.HashMap;

HashMap<String, Integer> map = new HashMap<>();
map.put("John", 25);
map.put("Alice", 30);
System.out.println(map.get("John")); // Output: 25

```

**4.HashSet**: It is an implementation of the Set interface. It stores unique elements and does not maintain any order.

```
import java.util.HashSet;

HashSet<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
System.out.println(set.contains("Apple")); // Output: true

```

**5.Stack**: It is a Last-In-First-Out (LIFO) data structure. It extends Vector with five operations that allow a vector to be treated as a stack.

```
import java.util.Stack;

Stack<Integer> stack = new Stack<>();
stack.push(10);
stack.push(20);
System.out.println(stack.pop()); // Output: 20

```

**6.Queue**: It is a First-In-First-Out (FIFO) data structure. LinkedList class implements this interface.

```
import java.util.Queue;
import java.util.LinkedList;

Queue<Integer> queue = new LinkedList<>();
queue.add(10);
queue.add(20);
System.out.println(queue.poll()); // Output: 10

```

These are just a few examples of the built-in data structures available in Java. Depending on your requirements, you can choose the appropriate data structure to efficiently manage your data.
Intro Post
Tags: javascript, learning, job, friends
Published: 2019-02-18 23:00:48

---
title: Intro Post
published: true
description: Chris Woodward about me post
tags: JavaScript, Learning, Job, Friends
---
I am excited to be a part of DEV and hope that I am able to learn along with the community! 

For about the past year or so I have been seriously pursuing my dream of being a developer. I left my previous position to put all of my energy into development, sort of a put up or shut up moment. I already had some intro level experience with Java and Python and decided to try my hand at web dev. I created my first site using Python, Django, Bootstrap, HTML, CSS, and Linux. [https://www.newfangledcoffee.com](https://www.newfangledcoffee.com)

Nowadays, I am all JavaScript, though I still enjoy Python. I have worked on and/or created sites in React, Vue, and AngularJS. I have fiddled with all the things in between Electron.JS, Android, Unity, Blender, and most recently react-native. Along the way, I found my love of document-oriented databases, studied for, and then passed my MongoDB 4.0 Developer certification exam! The most rewarding part of my journey is finding out all the things I don't know and attempting to improve my skills with that newfound knowledge. My goal isn't to 'learn it all', it is to learn how to do what I am doing, better. If I can at least accomplish that every day it has to end somewhere good, right?

I am always happy to make a friend or help with a project so feel free to reach out!

I am in Tampa and actively pursuing local or remote positions so if you know of any or are looking to hire a passionate developer, let me know!

Thanks for reading and we've got this!
![High Five](https://media.giphy.com/media/120jXUxrHF5QJ2/giphy.gif "We got this!")
[Portfolio Site](https://cwoodward.net "PortFolio site created with Vue")