teleren/devto huggingface dataset:
Assembly x86-64 Linux: Discover the bare Bones !
Published: 2023-05-16 20:50:54

In this journey, we will dive into the intriguing world of low-level programming, where we uncover the fundamental building blocks that power modern computer systems. As we peel back the layers, we will explore the bare bones of assembly language and witness the direct manipulation of the processor.

## Introducing Assembly(ASM)

**Assembly language** serves as the bridge between **high-level languages** and **machine code**, allowing programmers to interact intimately with the hardware. With its concise syntax and fine-grained control over system resources, assembly programming enables optimized performance, deep system understanding, and the ability to overcome complex challenges.

In this blog series, we will focus specifically on **x86-64 assembly**, the dominant architecture in modern desktops, laptops, and servers. We will unravel the intricacies of the x86-64 instruction set, learn how to write efficient and concise assembly code, and gain insights into the inner workings of the processor.

The **Central Processing Unit (CPU)** of any computer is a microprocessor chip that conducts system functions such as accepting keyboard input and displaying output on the screen.

Only **machine language instructions** are understood by the CPU. These are binary sequences of ones and zeros, which are too cryptic for software development. The Assembly language solves this problem by giving symbols that express machine language instructions in an understandable fashion. As a result, assembly is also known as symbolic machine code.

## Benefits of learning Assembly

Learning Assembly will teach you... 

• How the CPU obtains and executes instructions.
• The manner in which data is stored in computer memory.
• The manner in which instructions access and process data.
• The manner in which programs interact with the operating system.
• Using disassembly to debug a high-level program.
• Understanding memory locations and pointers.
• How to write quick applications that use less memory.

By the end of this serie, you will have a solid foundation in x64 assembly language programming using ASMX64 and will be able to write efficient and optimized low-level code for the x64 architecture.

Follow me on Twitter and wait for the next lesson !!
https://twitter.com/web3_ruud

I’m on @buymeacoffee. If you like my work, you can buy me a and share your thoughts 🎉☕ 

https://www.buymeacoffee.com/officialsa4
Atlas Lithium recibe
Published: 2023-05-17 01:09:02

Atlas Lithium tiene actualmente 10 taladros activos trabajando para delinear los recursos de litio en el Proyecto Neves, que representa un grupo de cuatro reclamaciones del total de 64 derechos minerales de la Compañía para litio en roca dura. Se espera que un informe inicial de recursos minerales para el Proyecto Neves bajo las directrices del Reglamento SK 1300 (el "Informe de Recursos") sea publicado a mediados de 2023. La Compañía continuará su [campaña ](https://www.alegredespertar.cl/)de perforación después de la publicación del Informe de Recursos y planea publicar actualizaciones periódicas de [dicho ](https://www.despertarmexico.mx/)informe a medida que se obtengan más datos de perforación.

La campaña de perforación de Atlas Lithium se centra en su pegmatita insignia, "Anitta", una formación de 1,1 kilómetros que ha demostrado contener [espodumeno ](https://www.belloamanecer.mx/)de alta calidad, un mineral clave portador de litio. Anitta sigue abierta a lo largo del rumbo y en profundidad; la actual campaña de perforación tiene por objeto determinar las dimensiones de la [pegmatita](https://www.provincialnoticias.cl/).
Golang Variable
Tags: go, backend, programming, variable
Published: 2023-05-17 01:03:28

In Golang, there are 2 ways to declare variables, namely by specifying the data type and also without specifying the data type. Both of these methods are valid and serve the same purpose.

**1. Variable Declaration with Data Type**

Manifest typing is commonly used when declaring variables with the data type explicitly mentioned. Here's an example:

```go
var fullName string = “Maya Luna”
var gender string
gender = “female”

fmt.Printf(“Name: %s”, fullName)
fmt.Printf(“Gender: %s”, gender)
```

**2. Variable Declaration with the 'var' Keyword**

In the example above, variable declaration uses the "var" keyword, which is used to create a new variable.

The structure of using the "var" keyword is as follows:

```go
var <nama_variabel> <tipe_data>
var <nama_variabel> <tipe_data> = <nilai>
```

**3. Variable Declaration without Data Type**

In addition to the concept of Manifest typing, Golang also has the concept of Type interface, which is the declaration of variables whose data type is determined by their value. With this approach, there is no need to write "var."

```go
var fullName string = “Maya Luna”
gender := “female”

fmt.Printf(“Name: %s”, fullName)
fmt.Printf(“Gender: %s”, gender )
```

When applying the concept of Manifest typing, use the ":=" operator when assigning a value to a variable.

**4. Declaration of Multiple Variables**

Golang supports the declaration of multiple variables at once. You can do this by adding a comma "," between the variables.

First method:

```go
var name, email, password string
name, email, password = “Maya Luna”, “luna@mail.com”, “maya123”
```
 
Second method:

```go
var name, email, password string = “Maya Luna”, “luna@mail.com”, “maya123”
```
Hosting images as JSON 🤔
Tags: deno, json
Published: 2023-05-17 00:45:43

I've been tinkering around with Deno Deploy, a serverless edge provider for Typescript. Specifically using the `playground` feature, which gives you a single file editor on the left and a web browser on the right. Within this page you can pull in any Deno module. Deno created its own simple [blog](https://deno.land/x/blog@0.6.0) example which allow for deployment in a single file. I created a similar idea with [ArborAnchor](https://github.com/reggi/anchorarbor), a one-page route for creating a link-list page.

The downside of this is how are you supposed to add an image to your site, assuming you only wanted to use the playground, and not add a whole repo? 

![Screenshot of deno deploy playground](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1rdmg6qn98nf8gb1vxxt.png)

You can run this playground yourself here: [https://dash.deno.com/playground/alpha-example-anchorarbor](https://dash.deno.com/playground/alpha-example-anchorarbor)

This is where the concept of "Image to JSON" comes into play. With Deno you can easily import JSON and the html `img` tag supports base64 images, so putting these two things together it makes it so you can easily save an image or bunch of images to a single JSON file, put that anywhere on the web, and easily import it into your project. 

The project is here [https://github.com/reggi/image_to_json](https://github.com/reggi/image_to_json).

This is a command line utility that you can point at any image file or directory and it will add them all as an object to one JSON file. 

```bash
deno run --allow-read --allow-write ./cmd.ts <imageOrDirectory> [<jsonFile>]
```

The script creates a JSON file, but ultimately you have to host this new file somewhere. I usually put it in a github gist. Why is image hosting so intimidating and cumbersome?

Check it out and let me know your thoughts!
What is ACID?
Published: 2023-05-17 00:28:57



**ACID** is an acronym that stands for Atomicity, Consistency, Isolation, and Durability. It is a set of properties that guarantee reliable and consistent transactions in a database management system. ACID ensures that a database transaction is processed in a reliable and predictable way, even in the presence of system failures or concurrent access by multiple users.

**Atomicity** means the property of a transaction is treated as a single, indivisible unit of work. It means that either all the operations in the transaction are completed successfully, or none of them are. If any operation in the transaction fails, the entire transaction is rolled back, and the database is left in its original state.

**Consistency** means that a transaction brings the database from one valid state to another valid state. This means that the transaction should preserve the integrity of the data and ensure that all constraints, rules, and relationships are maintained throughout the transaction.

**Isolation** means that multiple transactions can execute concurrently without interfering with each other. Each transaction must be executed as if it is the only transaction being executed at that moment. This is achieved through a variety of concurrency control techniques, such as locking and transaction isolation levels.

**Durability** means that once a transaction has been committed, its changes are permanent and will survive any subsequent system failures, such as power outages or hardware failures. This is achieved through techniques such as write-ahead logging and transaction checkpoints.

By providing **atomicity**, **consistency**, **isolation**, and **durability**, ACID transactions guarantee that the database will be left in a valid and reliable state, even when things don't go according to plan.
Inventory Simulation for General App Development
Tags: programming, discuss, productivity, ai
Published: 2023-05-17 00:23:43

**All applications are just "inventories" of arbitrary data.**

A while back, after years of software design and development, I've come to realize that most of the software out there, is in it's essence; an inventory data tracking system.

It all comes down to state machines and the most efficient way to funnel the specific type of data, generally coming from the most obscure corners of a hard-coded file, to the live rendering of the last just-typed key code by the user. All you need to do, is make the data travel throughout the system as seamlessly as possible, to the end of the current data-layer.

While I do think its important to make distinctions between an app specific goals and objectives and its architecture, it is my opinion that following "CRUD" practices makes us follow the path of "all apps are just state machines".

Chatting with LLMs about it, it is clear that they rather validate "all apps are just state machines" over "all apps are just inventory-like systems" because it seems that generalizing is frowned upon among LLMs, but ultimately they do agree on the general statement and the abstraction of the core idea, that most apps are doing, is receiving, computing and giving data to the user, meaning the magic is indeed gone from all conventional apps.

LLMs however give a glimpse of hope into the future of software architecture and the mystical ways "applications" or "higher-intelligence" entities evolve. Unanswered questions for the future, what is software, what is an LLM? what is an entity, and again; what are applications?
El eCommerce Day Chile recibió más de 2.500
Published: 2023-05-16 23:59:38

El eCommerce Day Chile Blended [Professional] Experience concluyó con éxito luego de volver a la presencialidad. El evento es una iniciativa regional del eCommerce Institute coorganizado localmente por la Cámara de Comercio de Santiago (CCS).  Fue una jornada de [capacitación ](https://www.alegredespertar.cl/)y networking donde a través de charlas, conferencias y talleres, los profesionales pudieron capacitarse y aprender sobre las tendencias actuales de los [negocios ](https://www.despertarmexico.mx/)digitales.

Más de 2.500 profesionales [participaron ](https://www.belloamanecer.mx/)y debatieron en el encuentro presencial las temáticas relacionadas al ecosistema digital y al eCommerce. Más de 3.000 personas ingresaron a la plataforma del evento para acceder a las [conferencias ](https://www.provincialnoticias.cl/)y plenarias, workshops on demand, actividades especiales en vivo, visitar el área de servicios y soluciones, entre otras propuestas.
Auditoriaenma y su equipo de trabajo
Published: 2023-05-16 23:50:40

La realización de una [auditoría ](https://www.alegredespertar.cl/)del marketing y la gestión comercial en una empresa puede ser justificada por una serie de señales o alertas, como la disminución en las ventas, la pérdida de participación de mercado, la [disminución ](https://www.despertarmexico.mx/)en la rentabilidad, la falta de coherencia en las estrategias de marketing, la falta de comprensión del comportamiento del [consumidor ](https://www.belloamanecer.mx/)y la falta de innovación en productos y [servicios](https://www.provincialnoticias.cl/).
Why it's important to keep learning
Tags: education, coding, learning
Published: 2023-05-16 23:49:50

First, I would like to say hi! I've been on here over a year and I haven't written anything. I go to DeVry University for a B.A. in Multimedia Development and Design and I have two Certificates in Web Design and Web Development. So intro is over.

I am always looking out to learn new things in the coding world. I am surprised when I find that there are new frameworks or codes that have come out. I am also inspired to look at websites while I am getting off the ground and seeing what else I need to work on. Some websites tell you that you need to learn this language and others tell you that you need to learn another. It can be head-spinning at sometimes. 

I am personally a front-end web developer and there are basics that you need to know, but there are still other codes out there like Bootstrap and Tailwind that can be learned and you need to know a back-end language or two to keep you on the up and up. 

I love learning and it always gives you an advantage. Sometimes if you know more, that can get you your dream job. Most of the time it is in the favor of the web developer to be knowledgeable of many things. 

I realized the other day when I looked up Web 3 that I had no frigging clue what the heck it was and I was so impressed when I read through the website I went to. I was like 'Oh, that's what Crypto is for.' 

I guess my point is to keep learning. Not just coding languages, but anything that you can that you feel will help you. I don't just read coding books, I read Tony Robbin's books. I read about technology like Web 3 on my Kindle. Whatever helps you then devour it.

May you have a wonderful day.
Our new look: Speech Labs
Published: 2023-05-16 23:41:38

## Who are we?
Speech Labs is the new look for Martha AI, a company which helps individuals and companies with everyday tasks.

## Why did you rebrand?
Our previous look was very bleak and didn't offer much substance to what the company really was. We decided to take the company branding in another direction, and we're really settling into our new look!

## Are you pivoting your business idea?
Nope! We're continuing to provide an AI assistant to help individuals and companies with everyday tasks.

## Where can I find you now?
Our new web URL is https://speechlabs.io/ - don't worry if you forget though! We're automatically redirecting everyone from our old domain, usemartha.com, to our new domain.

## What about your emails?
Our emails have also transitioned over to @speechlabs.io, however, if you email an @usemartha.com domain, we'll still get it! It'll be redirected to our new inbox.

## Our new socials

You can find our new socials here:

https://twitter.com/speechlabsio
https://linkedin.com/company/speechlabsio
https://speechlabs.io/
Node.js Crypto Trading For Beginners
Tags: javascript, node, typescript, cryptocurrency
Published: 2023-05-16 23:36:48

Do you want to know the simplest way to create a crypto trading application in Node.js?

In fact, you can buy/sell cryptocurrencies with less than 10 lines of code, of course using a dependency

**1. Login to a Crypto Exchange**

If you don't have an account, you can create one on Binance or Bybit and get API keys for free

```javascript
import { login, } from "@reiryoku/mida";

const myAccount = await login("Binance/Spot", {
    apiKey: "***",
    apiSecret: "***",
});
```

This is a Node.js framework allowing to buy and sell on financial markets through different trading platforms, handling all the headaches under the hood

**2. Buy/Sell Cryptocurrencies**

Now that we have an account instance, we can buy/sell cryptocurrencies, in this example we buy 1 Bitcoin at the current market price

```javascript
const myOrder = await myAccount.placeOrder({
    symbol: "BTCUSDT",
    direction: MidaOrderDirection.BUY,
    volume: 1,
});

console.log(`Bought 1 Bitcoin for ${myOrder.executionPrice} USD!`);
```

**3. Listen real-time prices**

At this point we can also listen to the real-time price changes of cryptocurrencies, in this example we listen to Bitcoin price changes

```javascript
import { marketWatcher, } from "@reiryoku/mida";

const watcher = await marketWatcher({ tradingAccount: myAccount, });

await watcher.watch("BTCUSDT", { watchTicks: true, });

watcher.on("tick", (event) => {
    const { tick, } = event.descriptor;

    log(`Bitcoin price is now ${tick.bid} USD!`);
});
```

This framework is fully open source and you can find it on GitHub: https://github.com/Reiryoku-Technologies/Mida

It handles sockets and http calls under the hood, providing a single API for dealing with different trading platforms, saving us a lot of time

In short, this are basic concepts of algorithmic trading: establishing a connection to our account on a specific trading platform, listening to real-time prices and placing orders

**4. Be careful**
Algorithmically trading in financial markets involves using real money, it's is highly speculative and carries a high level of risk. It's possible to lose all your capital. If you are curious and want to try, I highly suggest to just try with a demo account (trading simulation with fake money), DYOR as always!

To end, it's mandatory to say that I'm the author and maintainer of this framework. I created this post mainly for creating some awareness about programming in financial markets with JavaScript/TypeScript!

If you liked this content please let me know so I can bring further content, for example on how to build a trading bot or trade other assets such as stocks or forex in Node.js!

References
https://github.com/Reiryoku-Technologies/Mida
https://www.mida.org

Thank you

Regards,
Vasile
Dia 16/05/2023- Artigo diário.
Published: 2023-05-16 23:22:57

Hoje passei o dia aprendendo e aplicando layouts na tela de um site no meu projeto pessoal. Tive problemas naturais como centralizar algumas coisas e usar o espaçamento correto.

Como funciona os layouts? A melhor maneira de deixar a tela de um site organizada, principalmente se for tela principal, é usando grades(ou "grids"). 

Aprendi bastante a usar columns, grid, displays, outlines, overflow. 

Tudo isso em ReactJS, componentizando cada parte específica do site, ajudando na organização.

No curso, avancei nas funcionalidades do Feed de rede social, onde damos a data e hora em que o Post foi publicado, usando publishadAt, consts, array's e por aí vai.
Running a development server on WSL2 and connecting devices to the server via port forwarding on the local network. 🚀
Tags: wsl, wsl2, webdev, tutorial
Published: 2023-05-16 23:09:54

## 🌐 Connecting to WSL2 server via local network 

❓ Are you unable to connect to your WSL server from another computer or your mobile device on the same network?

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

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

(Running my local server in WSL2 with Next.js/CRA and being unable to access it from other devices on the local network.)

---

### ⚙ Follow the steps below and you should be able to access the WSL2 server through other devices on the same local network.

### ▶ Step 1
On the _Windows PowerShell_ or _cmd_, use the command `ipconfig`, and search for **IPv4 Address** to find your **Windows** IP address. 


### ▶ Step 2
Open the port on your machine in order to access it over your network. Run the command bellow in **Windows PowerShell as admin**:

```
netsh advfirewall firewall add rule name="Allowing LAN connections" dir=in action=allow protocol=TCP localport=3000
```
In my case, the port that I allowed is **3000**.
(Change according to the port you want to allow -> `localport=PORT_TO_ALLOW`)

### ▶ Step 3
Still in Windows PowerShell, pass the port that the app is listening on to the corresponding port within WSL. Follow the command below to do this:

```
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=YOUR_IPV4_ADDRESS connectport=3000 connectaddress=$($(wsl hostname -I).Trim());
```

- `listenport`: The port that Windows will listen to.
- `listenaddress`: The address that your Windows will listen to (finded on step 1).
- `connectport`: The port that your Linux distribution through WSL2 will listen to.
- `connectaddress`: The public IP of your Linux WSL2 instance.

📝 (Note that the Hyper-V IP changes every time Windows reboots, so the public IP in WSL2 also changes). To avoid hardcoding due to updating the WSL IP every reboot, pass the `$($(wsl hostname -I).Trim())` to dynamically put the IP of the WSL.

🔥 Finally, to see if everything is working properly, write the command:
`netsh inteface portproxy show v4t0v4`


If everything is fine, you should see something like:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ftsxej22yu3ox4oqpe3v.png)

**Now, you can access your server using WINDOWS_IP:PORT_ALLOWED**
🤓 In my case, `192.168.18.217:3000`.



🎉🎉
WSL Error: Failed to Execute Process and Get User ID
Tags: linux, windows, docker, devops
Published: 2023-05-16 22:52:35

This error message usually occurs when there is an issue with the permissions of the user account running WSL.

One cause of such error is that the default WSL distro is set to docker install. In this case you can find which distro is currently a default distro with _**wsl -l**_ command and change it to right one with _**wsl -s**_ **_<distro_name>_** command.

Another solution is to fix the problem is to reset the WSL distribution, which will recreate the distribution files and fix any permission issues. Here are the steps to reset the WSL distribution:

1. Open PowerShell as Administrator.
2. Run the command `wsl --shutdown` to stop all running WSL instances.
3. Run the command `Get-ChildItem -Path `HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ForEach-Object {&amp;{"Unregistering $($_.pschildname)"; &amp;reg.exe delete "$($_.pspath)\Flags" }} to unregister all the installed WSL instances.
4. Run the command `wsl --list` to confirm that no WSL instances are listed.
5. Run the command` wsl --import <DistributionName> <InstallLocation> <FileName>` to import a new WSL distribution.
6. Run the command `wsl --set-default <DistributionName>` to set the new distribution as the default.
7. Replace `<DistributionName> `with a name of your choice, `<InstallLocation>` with the location where you want to install the distribution, and _<FileName>_ with the name of the .tar file that contains the distribution.
 
After following these steps, you should be able to run WSL without any errors.