teleren/devto huggingface dataset:
Pin Save: Revolutionizing Content Creation with Decentralized Technology
Tags: video, javascript, react, opensource
Published: 2023-01-06 16:35:30

Hello! We are a team of developers and entrepreneurs passionate about decentralized technologies and their potential to revolutionize the world. 

{% embed https://www.youtube.com/watch?v=9CqisDHRgbI %}

Today we are here to present Pin Save: a decentralized image sharing and content aggregation platform where users can control not only the content but also the platform itself. Through the use of decentralized storage, smart contracts, and creator ownership of intellectual property, Pin Save supports content creators and forms meaningful communities.

Pin Save provides a secure and open platform for users to discover, share, and monetize their content, giving them more control over their data and information. We invite you to join us in creating a more open and secure platform for users to share their content and engage with their communities.

You can try PinSave at https://evm.pinsave.app
GitHub Link: https://github.com/dspytdao/PinSave-EVM

Check our projects at https://dspyt.com

More information about PinSave at https://dspyt.com/PinSave
Two Sum in C#
Tags: csharp, algorithms
Published: 2023-01-06 16:30:41


Today, we will be solving the famous two sum leetcode problem in C#.

I've decided to do this since I don't see many DSA solutions in C# online, so let's dive in.

The problem statement: Given an array of integers `nums` and an integer `target`, return _indices of the two numbers such that they add up to `target`_.

You may assume that each input would have **_exactly_ one solution**, and you may not use the _same_ element twice.

You can return the answer in any order.

Example: **Input:** nums = [2,7,11,15], target = 9
**Output:** [0,1]
**Explanation:** Because nums[0] + nums[1] == 9, we return [0, 1].

To solve this problem, we'll be making use of the Dictionary (also known as map)

First we initialize our dictionary with a Key of Int and a Value of int
```cs
Dictionary<int,int> map = new Dictionary<int,int>();
```
Next, we want to loop over the nums array 

```cs
for(int i = 0; i < nums.Length; i++)
```

and then initialize an integer that will be set to the target number minus the particular array index we are on, this will look something like this

```cs
int num = k - nums[i];
```

What we do next is to check if the number we got from the substraction above is present in our dictionary. The way we do that in C# is the TryGetValue method, which takes two parameters:
	1. The key we are searching for. In our case that will be `num` if it exists
	2. The out value which will be the value of key `num`  . we'll call this variable `index` 
The method will return true if `num` exists in our map and assign the out value to the variable we specified. If it does exist, we simply return the the index i and the variable `index`  since both these positions in our array sum up to our target.

```cs
if (map.TryGetValue(num, out int index))
    {
      return new int[] { i, index };
    }
```

If the key `num` does not exist in our dictionary, we simply replace our map key with int  from our array at the index that we are currently on and then assign the value to be the index i itself,


```cs
else map[nums[i]] = i;
```

*ps: we dont want to do a  map.Add, as that will mean we have to iterate over the map again*


Next we exit the for loop and return an array of size two with default values of zero if none of the numbers sum up to our target.
```cs
 return new int[2];
```

Coming together, everything should look like this

```cs
 public static int[] TwoSumUnsorted(int[] nums, int target)
    {
        Dictionary<int,int> map = new Dictionary<int,int>();

        for(int i = 0; i < nums.Length; i++)
        {
            int num = target - nums[i];
            if (map.TryGetValue(num, out int index))
            {
                return new int[] { i, index };
            }
            else map[nums[i]] = i;
        }
        return new int[2];
    }
```

Thanks for reading, I look forward to solving more leetcode( and general Algorithmic) problems using C# in the future. Happing coding.
Installing the thermo Library
Published: 2023-01-06 16:30:37


The thermo library is implemented in Python and can be easily installed using pip, the Python package manager.

To install the thermo library, you will need to have Python installed on your computer.
If you don't already have Python installed, you can download it from the official Python website (https://www.python.org/downloads/) and follow the instructions provided.

Once you have Python installed, open a terminal or command prompt and enter the following command:


```
pip install thermo
```
This will install the thermo library and all its dependencies on your computer.

## Importing the thermo Library

To use the thermo library in your Python programs, you will need to import it using the import statement. For example, to import the entire thermo library, you can use the following code:


```
import thermo
```
Alternatively, you can import specific modules or functions from the thermo library. For example, to import the PR class from the eos module, you can use the following code:


```
from thermo.eos import PR
```
Once you have imported the thermo library, you can use its functions and methods to solve problems in chemical engineering

## Conclusion
In this tutorial, we learned how to install and import the thermo library, a powerful tool for solving a variety of problems in chemical engineering. We saw how to use the pip package manager to install the thermo library, and how to import it into our Python programs using the import statement.

Now that you have the thermo library installed and imported, you are ready to start using it to solve problems in chemical engineering. In the next tutorial in this series, we will explore the thermo library in more detail, and learn how to use its functions and methods to solve real-world problems.
Best Practices for PHP Developers: A Collection of Tips and Techniques
Tags: php, webdev, programming, guide
Published: 2023-01-06 16:26:39

Here are some key best practices that PHP developers can follow to write clean, efficient, and maintainable code:
1. Use descriptive, clear, and meaningful variable, function, and class names to make your code self-documenting.
2. Avoid using global variables, as they can lead to unexpected side effects and make your code harder to maintain.
3. Use indentation and whitespace consistently to improve the readability and organization of your code.
4. Follow a consistent coding style and use coding standards and guidelines, such as PSR-2, to ensure that your code is easy to understand and maintain.
5. Use object-oriented programming (OOP) concepts and design patterns, such as SOLID principles, to write modular, reusable, and maintainable code.
6. Use built-in PHP functions and libraries, as well as third-party libraries and frameworks, to avoid reinventing the wheel and to improve the performance and reliability of your code.
7. Use error handling and exception handling techniques to gracefully handle and recover from errors and exceptions in your code.
8. Use version control systems, such as Git, to manage and track changes to your code and to collaborate with other developers.
9. Test your code thoroughly to ensure it is working correctly and to catch any bugs or issues before deploying it to production.
10. Keep your code up to date by regularly reviewing and refactoring it, and by staying current with the latest PHP versions and best practices.

By following these best practices, PHP developers can write high-quality, scalable, and maintainable code that is easy to understand and work with.

Find me on Twitter [@alaminfirdows](https://twitter.com/alaminfirdows)
Git rebase interactive: the story of a clean repo history
Tags: git, tutorial, webdev, productivity
Published: 2023-01-06 16:24:09

If you have ever worked on a team project, you probably have some experience with Git, creating branches and making commits.

Working on a branch is a safe way to make changes on the code without affecting the main branch. But what about commits that you regret about?

There would be 2 options to solve that:

1. Undo the changes you made and pushing them back to your branch.
2. Using git rebase interactive commit.

In a previous post, I talked about a scary command: [git rebase](https://www.cristina-padilla.com/gitrebase.html). Scary just because it was new but also very useful. I can say that git rebase interactive is also very useful as it helps keeping a clean repo history.

Let's say that I committed some changes, kept working on a project and now I realized that the changes I did some commits ago were not really necessary. Instead of just undoing the code changes (they would still be visible on my repo's history), I could simply remove that commit as it had never happened. How to do that?

Let's first check my list of commits with the following command:

_git log --oneline_

![Commit ids view](https://community.codenewbie.org/remoteimages/uploads/articles/0if50cjxxttwsd7xyd13.png)

 All these commits have an ID, a description and are displayed in a bottom-top order. Let's say I am not very proud of the commit with the 07a1629 ID (render list). How can I remove it? I need to select 1 commit before my “failed commit”:

_git rebase -i 9e6a8ea_

This way I will get a shorter list of commits including the one I want to remove. Now I only need to select the desired commit by placing my cursor on it: 

![select commit view](https://community.codenewbie.org/remoteimages/uploads/articles/czhkmrclb845c3avbyxg.png)

By pressing “d” twice the commit will disappear (this is specific for Vim as text editor): 

![Commit removed view](https://community.codenewbie.org/remoteimages/uploads/articles/kvhppp1ebcvufkt89px0.png)

If by any chance you need to stop git rebase, you can type:

_git rebase --abort_

Now we only need to save changes with :wqa and push them to our branch with:

_git push origin mybranchname --force-with-lease_

This command won't overwrite my work on the remote branch.
Why I don't like front-end developer roadmaps
Tags: webdev, javascript
Published: 2023-01-06 16:11:59

Development roadmaps are very common among those who want to become front-end developers. However, they are *freaking* intimidating! [Look at this one, for example](https://archive.is/wt5oZ).

While the authors of those roadmaps have the best intentions, they may actually scare people and deter them from actually starting their learning journey.

Another problem is that it makes people think that it's a completely linear process (i.e. that you have to master one topic before moving on to the next one). In many cases, that's not true.

It's OK to learn a topic only partially and then move on to learn another language or technology. Every piece of knowledge is a tool: the more tools/knowledge you have, the more things you'll be able to do. But this also means that you can already build things with the knowledge/tools you already have.

For those who are in their very early stages and want to become a front-end developer: I'd suggest to learn the basics of the following languages, tools, and libraries:
* HTTP
* HTML and CSS
* JavaScript
* Git
* A front-end library or framework, preferably React because it's more widely used (and that means, there are more job offers)

---

Free JavaScript Newsletter! Every other Monday, easy and actionable steps to level up your JavaScript skills. [Click here to subscribe](https://nicozerpa.com/newsletter)
Paracetamol.js💊| #195: Explica este código JavaScript
Tags: javascript, webdev, spanish, programming
Published: 2023-01-06 16:08:12

## **<center>Explica este código JavaScript</center>**
#### <center>**Dificultad:** <mark>Intermedio</mark></center>

```js
const getCouter = (arr = []) => {
  return arr.reduce((acum, item) => {
    const counter = acum[item] ?? 0;
    return {
      ...acum,
      [item]: counter + 1
    }
  }, {})
} 

console.log(getCouter(["Juan", "Cris", "Juan", "Pedro"]))
```

A. `{ "Cris":1, "Juan":1, "Pedro":1 }`
B. `{ "Cris":1, "Juan":2, "Pedro":1 }`
C. `{}`
D. `Ninguno de los anteriores`

Respuesta en el primer comentario.

---

Respuesta:
B. `{ "Cris":1, "Juan":2, "Pedro":1 }`

La función `getCounter` recibe un arreglo y regresa un objeto contabilizando cuantas veces se repite cada item de dicho arreglo.

El método `reduce` es excelente para este caso de uso:

| iteración | acum                              | item      | counter |
|-----------|-----------------------------------|-----------|---------|
| 1ra       | `{}`                              | `"Juan"`  | `0`     |
| 2da       | `{"Juan":1}`                      | `"Cris"`  | `0`     |
| 3ra       | `{"Juan":1, "Cris":1}`            | `"Juan"`  | `1`     |
| 4ta       | `{"Juan":2, "Cris":1}`            | `"Pedro"` | `0`     |
| 5ta       | `{"Juan":2, "Cris":1, "Pedro":1}` | -         | -       |

Algunos aspectos interesantes que mencionar:

* Nota como se aprovecha el operador `??` ya que cuando haya un nuevo nombre que evaluar en el arreglo, entonces siempre `counter` valdrá `0` ya que evalua como `undefined`.

* Para no perder los datos de pasadas iteraciones usamos spread operator.
My history
Published: 2023-01-06 16:01:17

Hi, my name is Gabriel, I´m from Brazil and 22 years old. I just started studying to become a web developer at CICCC in Vancouver. I already studied Computer Engineering and Gastronomy on college back in Brazil for one year each. I dropped my engineering course because it was not teaching me how to program anything and after that I thought that being a developer was not for me, thats when I decided to change courses to Gastronomy since I enjoyed cooking since I was a kid, helping my grandmother to cook almost every day. I dropped my gastronomy college becaus the school I was in took a path that I didn´t want to part of.

Then I realized that I wanted to become a developer but didn´t want to go back to engineering so I started resarching about studying abroad and found out about CICCC and wanted to come here to study as soon as I could.

Its been a week since my classes started and I´ve been enjoying so far. My classmates are nice and so is my teacher. I can´t wait to start programming and to learn more about it.
Github VS Gitlab Vs Bitbucket
Tags: bitbucke, github, gitlab, git
Published: 2023-01-06 15:48:59

GitHub, GitLab, and Bitbucket are like the three musketeers of version control. They all offer a wide range of tools for developers to track changes in their code and collaborate with their team, but they each have their own unique set of features and quirks.

GitHub is like the cool, laid-back friend who is always down to hang out. It's cloud-based, so you don't have to worry about setting up your own servers. It's also free for open-source projects and has a pretty reasonable pricing model for private repositories. The only downside is that it's not as focused on CI/CD as GitLab and Bitbucket. But hey, at least you can use it to host your personal website and share your cat memes with the world.

GitLab is like the organized, ambitious friend who always has a plan. It offers both cloud-based and self-hosted options, so you can choose the hosting solution that works best for you. It also has a ton of features for CI/CD and project management, which makes it a great choice for teams that want to streamline their development process. Just don't forget to bring snacks to their team meetings, because they'll probably be talking about pipelines and artifacts for a while.

Bitbucket is like the nerdy, reliable friend who is always there when you need them. They also offer both cloud-based and self-hosted options, as well as a wide range of integrations with other tools and services. They might not be as flashy as the other two, but they get the job done and they do it well. Just don't be surprised if they start talking to you in Git commands during lunch.

In the end, the choice between GitHub, GitLab, and Bitbucket will depend on your project's needs and your team's preferences. So whether you're a fan of the cool and casual approach, the ambitious and organized approach, or the nerdy and reliable approach, there's a version control platform out there for you. Just don't forget to invite all three musketeers to the code review party.

What are your thoughts?
Devart's dbForge Tools for SQL Server Get Even More Powerful
Published: 2023-01-06 15:47:15

---
title: Devart's dbForge Tools for SQL Server Get Even More Powerful
published: true
description: 
tags: 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-01-06 15:41 +0000
---
*The entire dbForge for SQL Server product line from Devart was updated. Now all the dbForge add-ins support SSMS 19 Preview 4, and the dbForge Studio can also be run on Linux and macOS.*

Devart released an update for [dbForge SQL Complete](https://www.devart.com/dbforge/sql/sqlcomplete/?utm_source=pr&utm_medium=referral&utm_content=devart's+dbforge+tools+for+sql+server+get+even+more+powerful) and [dbForge Studio for SQL Server](https://www.devart.com/dbforge/sql/studio/?utm_source=pr&utm_medium=referral&utm_content=devart's+dbforge+tools+for+sql+server+get+even+more+powerful). 

The major changes in dbForge SQL Complete v.6.14 are:
* Support for SSMS 19 Preview 4
* Columns suggestion in the ORDER clause for the CREATE CLUSTERED INDEX statement

The major changes in dbForge Studio for SQL Server v.6.4 are:
* Support for macOS & Linux via CrossOver
* Improved Code Completion on the MFA connections
* Optimized system resources consumption when preparing the Quick * Info and Code Completion hints
* Improved behavior of the Ctrl+C/Ctrl+X shortcut to copy/cut the entire line of text if nothing is selected
* Columns suggestion in the ORDER clause for the CREATE CLUSTERED INDEX statement

To learn more, please visit   
https://blog.devart.com/dbforge-tools-for-sql-server-get-even-more-powerful-with-a-new-update.html 

About Devart

Devart is a multi-product company, one of the leading developers of database management software, ALM solutions, and data providers for database servers, as well as data integration and backup solutions.

Want to know more about Devart? Refer to  https://www.devart.com/.
I'm in trouble... can anyone assist me?
Tags: javascript, beginners, programming, java
Published: 2023-01-06 15:47:01

This is My First Post...
In the code below the highlighted line is getting skipped every time...I don't know why. need help...🙏😞




package com.Assingment3;

import java.util.Scanner;

public class Product {

    public static void main(String[] agrs) {
        byte Id;
        short price;
        String Title;
        String Description;
        String Catagory;
        Scanner Input = new Scanner(System.in);
        System.out.print("Enter your id number :");
        Id = Input.nextByte();
        System.out.print("Enter The Price :");
        price = Input.nextShort();

        **System.out.print("Enter Title :");
        Title = Input.nextLine();** 
        
        /*
        Don't know why this part is getting skip 
        Line number 19
        */
        
        System.out.print("Enter Description of your Product:");
        Description = Input.nextLine();
        System.out.print("Which catagory :");
        Catagory=Input.nextLine();
        
        System.out.println("Your Id Is :"+Id);
        System.out.println("Price Is :"+price);
        System.out.println("Title of the Product :"+Title);
        System.out.println("product's Description :"+Description);
        System.out.println("Product Catagory :"+Catagory);
    }
}
"Exploring the World of Machine Learning: From Simple Regression to Complex Neural Networks"
Published: 2023-01-06 15:33:29

"Unlock the power of prediction with machine learning - a revolutionary technology that allows you to make accurate, data-driven decisions faster than ever before. From automating tedious tasks to uncovering hidden patterns in your data, machine learning helps you work smarter and more efficiently. So why wait? Start using machine learning today and discover the limitless possibilities it has to offer!"



Machine learning is a rapidly growing field within the world of technology, with applications ranging from simple linear regression to complex neural networks. It is a subset of artificial intelligence that allows computers to learn and make decisions without explicit programming. In this blog, we will explore the basics of machine learning and delve into some of its real-world applications.

Before diving into the specifics of machine learning, it's important to understand some basic concepts. At its core, machine learning involves training a model on a dataset and using that trained model to make predictions on new data. These predictions can be as simple as determining the price of a house based on its size and location, or as complex as identifying objects in an image.


[Clicked To Visit Full Article Originally Published On:-05/01/2023](https://www.javaoneworld.com/2023/01/exploring-world-of-machine-learning.html)
Quick copy-paste device UUID to various Linux configurations in console
Tags: archlinux, linux
Published: 2023-01-06 15:29:51

Device UUIDs are commonly used when configuring `/etc/fstab` mount points, when setting up bootloaders like `systemd-boot` and for many administrative tasks. Those identifiers are painful to deal with if you are logged to console without copy-paste capabilities. So here is quick way to inject them into configs:

Open file in nano editor:

```
nano /etc/fstab
```

Navigate to point where you want to insert UUID, press Control+T and write command:

```
blkid --match-tag UUID --output value /dev/enter_your_device_name_here
```

Press Enter and it will insert UUID at your cursor. F2 to save file and done.
Humans 2.0: The Impact of A.I Humanoids on Our Lives
Tags: programming, datascience, devops
Published: 2023-01-06 15:29:22

Experience the future today with A.I. humanoids! These cutting-edge robots are changing the way we live and work, offering unprecedented levels of convenience and efficiency. With their advanced intelligence and human-like abilities, A.I. humanoids are poised to revolutionize every aspect of our lives.



The future is now, and with it comes the possibility of life with A.I Humnoids. A.I Humnoids are humanoid robots that are powered by artificial intelligence and are designed to interact with humans in a natural, human-like way. These robots have a variety of applications, from medical care and education to service industries and even entertainment.


A.I Humnoids have the potential to revolutionize the way we live our lives. In the medical field, they can help diagnose patients and provide personalized care. In education, they can help students learn and understand difficult concepts by providing interactive and engaging lessons. 

In service industries, they can help customers with their orders and provide efficient customer service. And in entertainment, they can be used to provide interactive shows or events, as well as provide companionship to those who may be feeling lonely.


[Click To Visit Full Article Originally Published On:-05/01/2023](https://www.javaoneworld.com/2023/01/humans-20-impact-of-ai-humanoids-on-our.html)