teleren/devto huggingface dataset:
What Did Coding Unveil About You in 2023?
Tags: devresolutions2024, discuss
Published: 2024-01-01 00:00:00

---
published_at : 2024-01-01 00:00 +0000
---
Reflect on a moment in 2023 when coding felt like a journey of self-discovery. What did you learn about yourself through your code?
<br>
Follow the DEVteam for more discussions and online camaraderie!
{% embed https://dev.to/devteam %}
What Unfolded Behind the Scenes of Your Project?
Tags: discuss, codenewbie, beginner
Published: 2024-01-01 00:00:00

---
published_at : 2024-01-01 00:00 +0000
---
Go behind the scenes of a coding project. What struggles, breakthroughs, or moments of inspiration unfolded during the development process?
<br>
Follow the [CodeNewbie Org](https://dev.to/codenewbieteam) and [#codenewbie](https://dev.to/t/codenewbie) for more discussions and online camaraderie!

*{% embed* https://dev.to/codenewbieteam *%}*
Triple Mining GPS Revolution: Geodnet, Onocoy, and RTKDirect Unleashed!
Published: 2023-12-02 02:32:35

---
title: Triple Mining GPS Revolution: Geodnet, Onocoy, and RTKDirect Unleashed!
published: true
date: 2024-01-01 00:00:00 UTC
tags: 
canonical_url: https://simeononsecurity.com/other/triple-mining-geodnet-onocoy-rtkdirect-gps-revolution/
---

 ![](https://simeononsecurity.com/img/cover/triple_mining_geodnet_onocoy_rtkdirect.png)
## Introduction [#](#introduction)

Welcome to the forefront of GPS precision – a realm where innovation meets DIY enthusiasm. In this comprehensive guide, we’ll delve into the exciting realm of triple mining, bringing together the powerful forces of Geodnet, Onocoy, and RTKDirect. Join us on a journey where technology meets customization, and global navigation takes a leap forward. Whether you’re a DIY enthusiast or a tech-savvy navigator, this guide is your gateway to revolutionizing your GPS experience.

* * *

[Read the full article at simeononsecurity.com](https://simeononsecurity.com/other/triple-mining-geodnet-onocoy-rtkdirect-gps-revolution/)
happy new year!
Tags: gamedev, writing
Published: 2024-02-25 21:26:57

---
title: happy new year!
published: true
date: 2024-01-01 00:00:00 UTC
tags: [ 'gamedev', 'writing' ]
canonical_url: https://onwriting.games/daily/20240101-2145-happy-new-year/
---

2023 was a somewhat eclectic year for me.

I started the year researching new deep learning techniques, to see if that was my next move in my career.

In April, we moved to Nova Scotia, Canada. We stayed there for 6 months and then we returned.

It didn't work out, and upon our return, we had many problems with [Hidden People Club](https://hiddenpeople.club), which ended up draining a lot of my energy for the year. I'm kinda shutting it down for now. Not sure what I'll do with it.

This list came about as a way to distract myself: I wanted to spend more time thinking about interactive narrative and less about everything that was happening.

And it was one of the best decisions I made in 2023, along with returning to Argentina and buying a plot of land in Mar del Plata to build a bioconstructed house this year.

Because I enojoyed this so much, I want to grow the list in 2024, to initiate new and better conversations with all of you.

The list was born on November 11th and quickly became an activity that I really enjoy.

Not only did it help me synthesize many of the things that were swirling in my head, but it also allowed me to get to know many of you and establish new and very interesting relationships.

Thank you for being a part of this and I hope the list brings you as much satisfaction as it brings me.

Happy 2024!

See you tomorrow!
Route Components: Query, Params, and Body
Tags: api, webdev, javascript, beginners
Published: 2023-12-31 23:47:58

**Introduction**
The distinctions between query parameters, route parameters (params), and request body is crucial. Let's dive into each and unravel their unique roles in building robust APIs and some practical guidelines for each type to reinforce best practices:
(In the realm of Express.js)

#1. Query Parameters:

Query parameters are key-value pairs appended to the URL, typically used for filtering or specifying actions.

```
GET /api/posts?tag=JavaScript
```
```
const tag = req.query.tag;
```

###Avoid Sensitive Information
Do not include sensitive information like passwords in query parameters.
Query parameters are often visible in URLs and can be logged, exposing sensitive data. Instead, use them for non-sensitive information like filters or flags.
 
#2. Route Parameters (Params):

Params are variables in the route path, extracting values dynamically. Useful for identifying a specific resource.

```
GET /api/users/:id
```
```
const userId = req.params.id;
```

###Validate and Sanitize Inputs
Always validate and sanitize route parameters to prevent malicious input.
Route parameters come directly from the URL, making them susceptible to attacks. Ensure they meet expected criteria and sanitize them to prevent issues like SQL injection.

#3.Request Body:

The request body carries data, often in JSON format, for operations like creating or updating resources.

```
POST /api/users with body { "name": "OverK", "age": 0 }
```

```
const { name, age } = req.body;
```

###Use HTTPS for Sensitive Data
When sending sensitive information in the request body, ensure your API uses HTTPS for secure data transmission.

The request body is suitable for carrying sensitive data, but transmitting it over an unsecured connection could expose the information. HTTPS encrypts the data during transmission.

`Understanding when and how to use query parameters, route parameters, and request body is fundamental for effective Express.js API development. Each serves a distinct purpose, contributing to the flexibility and functionality of your endpoints.
`
How to add Filtering to Jquery Datatables
Tags: webdev, jquery, javascript, datatables
Published: 2023-12-31 23:37:18


[DataTables](https://datatables.net/) has a number of table control elements available and where they are placed in the DOM. The table control elements is defined by the dom parameter. This parameter can be a little confusing at first, because letters are used to represent different element for example the letter B is used for Buttons in the example below:

```
$('#myTable').DataTable( {
    dom: 'Bfrtip',
    buttons: [
        'copy', 'excel', 'pdf'
    ]
} );
```
**Meaning:**
    l - length changing input control
    f - filtering input
    t - The table!
    i - Table information summary
    p - pagination control
    r - processing display element

**Plugins:**
    B - Buttons
    R - ColReorder
    S - Scroller
    P - SearchPanes
    Q - SearchBuilder


**Conclusion**
Combining plugins together with different letters bring the best out of [jquery datatables](https://datatables.net/).
2023 Retrospective: A Year Of Personal Growth
Published: 2024-01-14 23:59:52

---
title: 2023 Retrospective: A Year Of Personal Growth
published: true
date: 2023-12-31 23:19:23 UTC
tags: 
canonical_url: https://carlosmv.hashnode.dev/2023-retrospective-a-year-of-personal-growth
---

Started the 2023 with the goal of publishing at one article per week. It would be 52 articles. And I accomplished this goal.

Every year we set goals and have expectations. I want a goal that would be under my control, because I didn't want to finished this year feeling like a could not accomplished anything. It was up to me to write and read every day to publish 52 by the end of the year. At first was easy because I was motivated, but it takes discipline and consistency to reach this goal. I struggled with the motivation, and lack of ideas. A lot of my articles were reused to write another articles, for example, I wrote many tutorials about Prometheus, I write an article for using it with Python, one for Go, and for Rust too.

When doing this I felt like a cheater, the only though that comfort me was that probably one of that articles was useful for someone else.

My consistency was put at a test when I found a job. I started to work at mid of November. And it was difficult to me to find time and energy to write an article, and because mostly what I write are tutorials, I have to find time to write code and test the programs for the articles.

I learned a lot by writing articles in this year. I learned about how to use Prometheus, Grafana, Docker, RabbitMQ, Apache Pulsar, Ktor. I started to learned about cybersecurity, a topic I want to write about in the 2024.

Also I continue to be more involved in contributing to Open Source projects. That was another goal that it takes discipline and consistency, but totally worth it. I'm very grateful to all the contributors and maintainers for helping me when I struggled with an issue, thanks to them I feel I did grow a lot this year as a developer. Especial thanks to the Robyn community for been so nice and welcoming.

I didn't find a job as a software developer, but that is something that is not totally under my control. What is actually under my control is to continue to apply for jobs and continue learning, to grow as a software developer and as a person.

I want to thanks to those who read my articles. Their likes, comments and feedback encourage me to continue to keep writing and help me to be a better writer each day.

This was a short article, a brief summary about how my 2023 was. Thanks for reading this article.

Happy New Year.

Carlos Armando Marcano Vargas
JS to style radio button list
Tags: webdev, javascript, beginners, programming
Published: 2023-12-31 23:12:23


![meme picker website from Scrimba](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p4utcv5hfjc2yenq4kki.png)

![cat meme](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0eoru1r2xqi5ym5e5mqu.png)

- Today I learn to create meme picker from Scrimba. User can pick a cat emotion from the 'select your current emotion' list and optional choose 'animated GIFs only' then a random cat meme will show up. 

- The part I want to highlight from this tutorial is where it style the radio button with the use of 'change' event and `getElementsByClassName`.

```js
emotionRadios.addEventListener('change', highlightCheckedOption)

function highlightCheckedOption(e){
    const radios = document.getElementsByClassName('radio')
    for (let radio of radios){
        radio.classList.remove('highlight')
    }
    document.getElementById(e.target.id).parentElement.classList.add('highlight')
}
```

- First, the 'emotionRadios' div which hold all radios button list `addEventListener` for 'change'. 

- Then we select all radio button with `document.getElementsByClassName('radio')` which provide list of array of radio button. 

- `for of` method use to loop thru the radio button and remove `class` of 'highlight'. 

```js
radioItems += `
        <div class="radio">
            <label for="${emotion}">${emotion}</label>
            <input
            type="radio"
            id="${emotion}"
            value="${emotion}"
            name="emotions"
            >
        </div>`
```

- Above show the radio button HTML code to create a radio button. When the radio button is click, we want to add `class` of 'highlight' to the 'radio' div. So we use `document.getElementById(e.target.id).parentElement.classList.add('highlight')` .

```js
function getMatchingCatsArray(){     
    if(document.querySelector('input[type="radio"]:checked')){
        const selectedEmotion = document.querySelector('input[type="radio"]:checked').value
        const isGif = gifsOnlyOption.checked
        
        const matchingCatsArray = catsData.filter(function(cat){
            
            if(isGif){
                return cat.emotionTags.includes(selectedEmotion) && cat.isGif
            }
            else{
                return cat.emotionTags.includes(selectedEmotion)
            }            
        })
        return matchingCatsArray 
    }  
}
```

- Beside this, the tutorial also show the use of powerful `querySelector` which can be to use to select `#id`, `.class` and 'element' like `const selectedEmotion = document.querySelector('input[type="radio"]:checked').value`.

- `filter` and `includes` method is useful to filter the data and loop thru the array of object and then `includes` will check the exact value in the list of item or object value and lastly provide the match value object list only.

Eat, sleep, code, repeat!
Andrew Tan
Open Source, AI and Board Games
Published: 2023-12-31 22:30:57

Open source AI and software development is the new hotness and is generating alot of buzz. Rightfully so, however, I’d like to reflect on why this is healthy and important for global growth. OpenAI, a non-profit AI research organization, (is) was leading the way in open source development. With the recent exposure of an internal memo within Google, it’s clear the issue was really underestimating the wealth, value and sheer potential of the pooled knowledge that exists within the open source community.

Open source software development allows businesses to access cutting-edge technology without having to invest in expensive proprietary systems. It also allows developers to share their code with each other, making it easier for businesses to collaborate on projects and develop innovative products faster.

Open source also helps promote business development by encouraging collaboration between developers from different countries, allowing them to work together on projects that can benefit everyone. This type of collaboration can lead to better products and services that can help drive economic growth around the world. This is actually a good thing, and healthy for the global ecosystem.

However, this also means that instead of playing monopoly, we’ll be playing snakes and ladders. I’m good with that, because the old days of monopolizing software and it’s development should be a thing of the past, like Steve Ballmer and the love/hate relationship everyone had for anything Microsoft.
I wonder what changed?

Monopolies can lead to higher costs of use for technology and make it difficult for new companies to enter the market due to lack of access. Additionally, monopolies can stifle innovation by preventing competition in the market and reducing incentives for companies to invest in research and development. This could ultimately lead to slower economic growth and development in the long run.

Footnote: I didn’t mention obvious concerns of the potential for misuse by those who have less than legitimate interests, though I weigh that on the same scale with all the pros & cons of cryptocurrency. Basically, I never liked playing monopoly anyway.
Creating a Literature List / Reading List in Notion with bibtex data
Tags: webdev, beginners, tutorial, programming
Published: 2023-12-31 22:29:32

I want to use Notion in university while creating and managing Literature Lists.


I Save the data in the bibtex Formate…

How to get the data into the Literatur List in Notion with ease…



u/`book{UBHD-68217253,
  author={Loader, William R.G.},
  title={Jesus in John's Gospel},
  subtitle={structures and issues in Johannine Christology},
  publisher={William B. Eerdmans Publishing Company},
  address={Grand Rapids, Michigan},
  year={2017},
  pages={x, 532 Seiten},
  language={eng},
  isbn={978-0-8028-7511-2 and 0-8028-7511-4},
  note={Includes bibliographical references (pages 485-513) and indexes},
  keywords={Jesus Christus / Bibel, 6 / Christologie},
  library={WT [Signatur: NT Eu 412]},
}`
u/

And the following


`book{UBHD-68136278,
  author={Byers, Andrew J.},
  title={Ecclesiology and theosis in the gospel of John},
  edition={First published},
  publisher={Cambridge University Press},
  address={Cambridge, United Kingdom},
  year={2017},
  pages={xvi, 277 Seiten},
  language={eng},
  isbn={978-1-107-17860-1 and 1-107-17860-6},
  number={ARRAY(0x5648429ec038)},
  series={Monograph series / Society for New Testament Studies},
  note={Includes bibliographical references (pages 244-265) and indexes ; Revision of author's thesis (Ph. D.)--University of Durham, 2014 under title: Johannine theosis : the fourth gospel's narrative ecclesiology of participation and deification},
  keywords={Bibel / Ekklesiologie / Verg{\"o}ttlichung ; Bibel / Ekklesiologie / Verg{\"o}ttlichung ; Ekklesiologie / Verg{\"o}ttlichung / Kirche / ekklÄ“sia / Hirt},
  library={WT [Signatur: NT 46 B 166]},
}`

and the following 



u/`book{UBHD-67313613,
  editor={Zimmermann, Ruben and Watt, Jan GabriÃ«l van der},
  title={Rethinking the ethics of John},
  subtitle={"implicit ethics" in the Johannine writings},
  publisher={Mohr Siebeck},
  address={T{\"u}bingen},
  year={2012},
  pages={XI, 395 Seiten},
  language={eng},
  isbn={3-16-151830-6 and 978-3-16-151830-0},
  number={ARRAY(0x5648429ec6c8)},
  series={Kontexte und Normen neutestamentlicher Ethik},
  note={Literaturangaben},
  keywords={Bibel / Christliche Ethik / Nijmegen <2010> ; Aufsatzsammlung / Neutestamentliche Ethik},
  library={UB [Signatur: 2012 A 10535] ; WT [Signatur: NT 6 B 291]},
}`





And the following 



u/`book{UBHD-67978003,
author={Porter, Stanley E.},
  title={John, his gospel, and Jesus},
  subtitle={in pursuit of the Johannine voice},
  publisher={William B. Eerdmans Publishing Company},
  address={Grand Rapids, Michigan ; Cambridge, U.K.},
  year={2015},
  pages={xii, 297 Seiten},
  language={eng},
  isbn={978-0-8028-7170-1 and 0-8028-7170-4},
  note={Literaturverzeichnis: Seite 251-279},
  keywords={Bibel / Jesus Christus ; Bibel / Christologie ; Bibel / Forschung ; Jesus Christus / Erz{\"a}hltheorie / Redaktion / Leben-Jesu-Forschung},
  library={WT [Signatur: NT Eu 405]},`



well - i think first of all i create a literature ( reading() list - with all the categories
The Spread Operator in Javascript
Published: 2023-12-31 22:16:43

With “spread operators”, introduced starting with ECMAScript 6 (ES6), it is possible to copy all or part of an existing array or object into another array or object, combine arrays or objects, and pass an array to a function as a topic.

The notation that identifies the spread operator is the three dots …

```
<script>
const numbersOne = [1, 2, 3];
const numbersTwo = [4, 5, 6];
const numbersCombined = [...numbersOne, ...numbersTwo];
console.log(numbersCombined);
</script>
```
If we make a console.log of “numbersCombined”, we will see the new array

```
[ 1, 2, 3, 4, 5, 6 ]
```
The spread operator is often used in the destructuring of arrays (and objects), as in this example

```
<script>
const numbers = [1, 2, 3, 4, 5, 6];
const [one, two, ...rest] = numbers;
console.log(rest);
</script>
```
By destructuring the “numbers” array, we obtained the variable “one” with value 1, the variable “two” with value 2, and the variable “rest” with value the array of residual elements.

```
[3, 4, 5, 6]

```
Let’s see an example of using spread operator with a function

```
<script>
function pippo(a, b, ...args) {
 console.log(args);
}

pippo(1, 2, 3, 4, 5);
</script>
```
The function foo receives as parameters “a”, “b”, and … the spread operator “args”: a is equal to 1, b is equal to 2, args is an array containing 3, 4 and 5.

The result of the console.log will in fact be this

```
[ 3, 4, 5 ]

```

In this further example we see how to use the spread operator to insert an array into another array

```
<script>
let x = ['A', 'B'];
let y = [...x, 'C', 'D'];
console.log(chars);
</script>

```
The result will be this array

```
["A", "B", "C", "D"]

```

The result will be a “scorecopy” variable that contains the same value as the “score” variable

```
[50, 60, 70]

```

## The spread operator and objects

Just as you can combine two arrays, you can combine two objects, as in the following example

```
<script>
const myCar = {
  brand: 'Audi',
  model: 'A3',
  color: 'nero'
}

const updateCar = {
  year: 2020, 
  color: 'giallo'
}

const myUpdatedCar = {...myCar , ...updateCar}
console.log(myUpdatedCar);
</script>
In the console we will see the new myUpdatedCar object which is nothing more than the combination of the two objects “myCar” and “updateCar”

```

```
{brand: "Audi", model: "A3", year: 2020, color: "giallo"}
```
As you can see, the object properties that have the same key (in our example the “color”) are inserted only once in the new object, with the value of the last property considered: this is why in our case the color is “ yellow”.

Let’s see another example in which we are going to “insert” one object into another

```
<script>
const person = {name:"mario", surname:"montella"};
const person2 = {... person, city:"naples"}
console.log(person2);
</script>
```
The variable “person2” will have this value

```
{ name: "mario", surname: "montella", city: "naples" }
```
Good Luck!
How To Use GPT-4 To Fix Video Transcription
Tags: chatgpt, gpt3, gpt4, ai
Published: 2023-12-31 22:11:48

Just used my ChatGPT+ account to fix my new video transcription made by Whisper via GPT-4.

It successfully processed 5025 tokens input and gave me full output (5872 tokens) after typing several times continue.

The prompt I used isas below:

> You are an amazing expert professor English professor. Your task is to fix given document from point of view of the following aspects:
> Fix punctuation errors.
> Fix incorrect upper case letters or small case letters.
> Fix incorrectly written words.
> However when doing all of these you have the following restrictions:
> You can not replace word with another one.
> You can not add remove words.
> You can only fix incorrectly written words with fixing characters / letters.
> Now with all of the given instructions fix the process given document and give me the full output. You are a relentless worker and I will tip you greatly.


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


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