teleren/devto huggingface dataset:
K8s Operator - Index with name ... does not exist
Tags: kubernetes, devops, sre
Published: 2023-07-24 13:00:00

During development on a Kubernetes operators, you may have this error while trying to get a list of objects filtering by a specific field.

```
can not retrieve list of objects using index : Index with name [field path] does not exist
```

---

## What generates this issue?
From what I've seen, by default only fields which are constantly defined are indexed. *(like mandatory fields in your spec)*

So if you try to filter on another field, there are high chances that you will have the error.

---

## How to resolve this issue?
To resolve this issue, you can declare a new index to your manager instance and your context.

You will need :
- **the kind of object** which will have the new index
- the **name of the new index** *(generally corresponding to the path to the desired field)*
- the **function which will return the value associated to the index**

*Example*
```go
package main

import (
	"context"
	
    k8sruntime "k8s.io/apimachinery/pkg/runtime"
    "example.com/example-operator/pkg/apis/example/v1alpha1"  
	"sigs.k8s.io/controller-runtime/pkg/client"
    // ...
)

function main() {
    // ...

    cache := mgr.GetCache()

    indexFunc := func(obj client.Object) []string {
        return []string{obj.(*v1alpha1.Example).Spec.SomeField}
    }

    if err := cache.IndexField(ctx, &v1alpha1.Example{}, "spec.someField", indexFunc); err != nil {
        panic(err)
    }

    // ...
}
```

As a result, even if it is generally used to index another field from an objecct, you can **create an index which will return a dynamic value**. Something which can be really useful in a lot of cases. *(ex: Return true if the object contains some specific value in multiple fields)*

---

I hope it will help you and if you have any questions *(there are not dumb questions)* or some points are not clear for you, don't hesitate to add your question in the comments or to contact me directly on  [LinkedIn](https://www.linkedin.com/in/maxime-guilbert-14b6a5128/).

---

<center><h3>You want to support me?</h3></center>
<a href="https://www.buymeacoffee.com/mxguilbert7" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="41" width="174"></a>
Giving you the tools to make the most informed decisions concerning your projects’ digital carbon footprint
Tags: opensource, news, cloud, webdev
Published: 2023-07-24 12:48:27

We remain committed to carbon intensity transparency. How? Let’s start with displaying the carbon intensities (g CO2eq/kWh) of the different data centers we propose. In addition, when creating a project, you have the option to choose the greenest region to host it. 

This helps you make the best-informed decisions concerning your projects’ digital carbon footprint. 

Due to the power source of the underlying electricity grid, the electricity used to operate the data center has a specific carbon intensity. This means that for a specific project (Y), the amount of electricity will be the same, but the carbon footprint, measured in gCO2eq, of a project will vary by location. This is the location-based approach that the ​[Greenhouse Gas Protocol](https://ghgprotocol.org/) specifies for certified carbon audits. 

> In May 2023, Platform.sh changed its carbon intensity source of data.

Why the change from 2020 IEA to 2022 Electricity Maps data? Find out all the details [**here**](https://platform.sh/blog/platformsh-is-now-using-annual-carbon-intensities-from-electricity-maps/?utm_source=devto&utm_medium=social&utm_campaign=greenerhosting).
Clean docker volumes
Tags: docker
Published: 2023-07-24 12:46:32

First, we'll take a look at space taken by Docker.

```bash
docker system df
```

```bash
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          34        0         12.7GB    12.7GB (100%)
Containers      0         0         0B        0B
Local Volumes   7         0         24.96GB   24.96GB (100%)
Build Cache     0         0         0B        0B
```

Now, see which volumes uses most space :

```bash
docker system df -v
```

```bash
Local Volumes space usage:

VOLUME NAME                                                        LINKS     SIZE
62d5e5e939ff3ac09436e97e57f7ac069a6437505a364c9752765147185bbe4c   0         314.8MB
768a9dd324ac40c20809a3a4a84d1b0e472288bd4a2ff1437a72df2689602738   0         47.73MB
109ee0d2c7319dcaf431397ae2c2cbf31a31df5e7bb2998098d0eefd6c6c4d36   0         47.3MB
897bb1224a20fac27c0a1005b36a1ca700cd5a803cf4f3ab097d46735abcf9b2   0         47.3MB
a917bf9067962cf9365de644f0e07ab08ab10ecd6927bf926cf8b2a586874b53   0         124.2MB
03dac5e5e485efd6408e09866afed5ebf8ed7f7981bd18ab37ec9b04dd485e0e   0         124.2MB
646b44d17a24bb1ccb98462a1fda78dc2da5b5d78339fa05d0b3be4bc7139045   0         124.2MB
```

Now that you have volume names & size, put all volumes you want to remove in a `volumes_to_remove.txt` (one per line).

```
62d5e5e939ff3ac09436e97e57f7ac069a6437505a364c9752765147185bbe4c
768a9dd324ac40c20809a3a4a84d1b0e472288bd4a2ff1437a72df2689602738
109ee0d2c7319dcaf431397ae2c2cbf31a31df5e7bb2998098d0eefd6c6c4d36
897bb1224a20fac27c0a1005b36a1ca700cd5a803cf4f3ab097d46735abcf9b2
a917bf9067962cf9365de644f0e07ab08ab10ecd6927bf926cf8b2a586874b53
```

Now we'll use a `script.sh` to parse the .txt file and remove volume one by one :

```bash
#!/bin/bash

if [ ! -f "volumes_to_remove.txt" ]; then
    echo "File volumes_to_remove.txt does not exist."
    exit 1
fi

while read -r volume_name; do
    if [ -n "$volume_name" ]; then
        echo "Remove volume : $volume_name"
        docker volume rm "$volume_name"
    fi
done < "volumes_to_remove.txt"
```

Don't forget to `chmod +x script.sh` and :

```
./script.sh
```
How To Open A File or Folder ( to GUI ) From The Terminal in Ubuntu
Tags: linux, ubuntu, programming, softwareengineering
Published: 2023-07-24 12:25:54

While you can use the `cd` command to navigate into folders and files, sometimes you may want to view the content of a file or a folder graphically without going through the hassle 😤 of using your GUI tools. 

Today I will show you how to do that 😎. Hi, I'm Martins Ngene, A Software Engineer. I'm happy to bring you this information 🤓

So, getting started I presume you are at the home directoy in your terminal. Let's say `johndoe@johndoe-HP-EliteBook-8460xx:~$ ` and you want to take a look at the package.json file of a project deeply nested in your projects folder located in your Desktop folder `~/Desktop/projects/blog/package.json`

All you need to do is use the `xdg-open` command which is installed by default in Ubuntu 22.04. You can also use it in Ubuntu 18.04, 20.04 or install it if its not available using 
`sudo apt-get install xdg-utils`. If you encounter any issues  maybe you use a different distro, you can refer to [this Stack exchange post.](https://unix.stackexchange.com/questions/101378/xdg-open-is-installed-yet-also-is-not-installed)

## Using the `xdg-open` command
To use the command simply type the code below in your terminal and adjust path url to the file/folder you wish to open:
```
johndoe@johndoe-HP-EliteBook-8460xx:~$ xdg-open ~/Desktop/projects/blog/package.json
```
This opens the package.json file in your default text editor.

To open a folder:
```
johndoe@johndoe-HP-EliteBook-8460xx:~$ xdg-open ~/Desktop/projects/blog
```
This opens the blog folder with your default file manager.

## An Alternative
Maybe for some reason the above tool doesn't work for your distro, you can always use an alternative.

The command below will perform the same operation:

`gnome-open ~/Desktop/projects/blog` or
`gio-open ~/Desktop/projects/blog` if you use a more recent 
version of ubuntu.

You can download this tool using `sudo apt-get install libgnome2-0` in your terminal.

I hope this helps you and feel free to share your thoughts and/or contributions in the comment section 🤗

We can connect on [LinkedIn](https://www.linkedin.com/in/martins-ngene/). Follow me here for more contents on proramming and software engineering.
PrimeFaces v13.0.0 Released
Tags: java, showdev
Published: 2023-07-24 12:23:06

[PrimeFaces](https://www.primefaces.org/showcase) UI component library is back with a new major release featuring over 200 improvements.

### JSF is alive?

Well yes, PrimeFaces has been initiated back in late 2008 and after all these years thanks to the great community contributions it is still a healthy open source project with constant updates. Considering the fast-paced nature of Javascript ecosystem, a 14 year old UI library with 1 million+ download per year is exceptional. For form driven back office apps, it is still a viable choice in a Jakarta EE environment.

### Free Theming

v13 is special because we're introducing some new changes and open sourcing some of the paid add-ons like theming. Theme Designer was a paid add-on and with v13 it is now available as open source, view the new theming documentation for details and tutorials. We'll also come up with a new video tutorial.

The [visual editor](https://www.primefaces.org/designer-jsf/) now permits downloading the created themes as well in case you don't want to go through the details of the theming API.

Material and Bootstrap themes are also open sourced and available at [github](https://github.com/primefaces/primefaces-sass-theme).

### Elite to LTS

PrimeFaces Elite will be replaced with LTS like PrimeNG has this means maintenance versions of the last major version will now be open source starting with 13.0.1. In the past, 13.0.1 was only available to paying users.

### Special Thanks

A big shout out the community leaders of PrimeFaces, without their contributions it would be impossible to maintain the library. PrimeFaces is a fantastic example of a community driven project.

- [tandraschko](https://github.com/tandraschko)
- [jepsar](https://github.com/jepsar)
- [melloware](https://github.com/melloware)
- [Rapster](https://github.com/Rapster)
- [christophs78](https://github.com/christophs78)

### Changelog

Visit the [changelog](https://github.com/primefaces/primefaces/releases/tag/13.0.0) for the complete list of changes.

### Roadmap

Compared to other Prime UI libraries like PrimeNG, PrimeReact and PrimeVue, PrimeFaces still uses an older theming API with ui-* prefix. We're planning to migrate to p-* prefix and move to CSS variables from SASS.
Dockerize a React-JS app
Tags: webdev, docker, tutorial, react
Published: 2023-07-24 12:15:02

Create a file called "Dockerfile"

then create another file called ".dockerignore"

Then run the following commands in ur build

`docker build .`

`docker image ls` => to see all the images 

`docker build -t react-image .` #To build  a image called "react-image"
Digital Canvas: The Artistic World of NFTs
Tags: blockchain
Published: 2023-07-24 11:58:20

Are you ready to embark on an artistic journey like no other? Welcome to the enchanting realm of NFTs, where creativity knows no bounds, and the canvas is a digital wonderland!

**Unleash Your Imagination:** In this world of NFTs, nft artists are no longer confined by classic mediums. Digital artists have the power of technology to paint definitive masterpieces, create fascinating animations, and design immersive virtual worlds. Using blockchain as their canvas, they breathe life into their art, forever preserving its authenticity and ownership through NFTs.

**A Global Artistic Community:** Digital Canvas brings together artists and art enthusiasts from around the globe. Here, borders vanish, and cultural diversity thrives. Witness art that transcends language, uniting hearts through its universal beauty. Discover, appreciate, and support skillful artists crafting extraordinary works that resonate with your soul.

**Collectible Treasures:** NFTs have revolutionized how we perceive and collect art. Each NFT has its unique and rare treasure, a virtual masterpiece backed by blockchain technology. Owning an NFT is like holding a piece of history, where the creator and the collector are etched into the artwork's very fabric.

**Empowering Artists:** Digital Canvas empowers artists like never before. Say end to the traditional art world gatekeepers. Here, creators directly connect with their audience, receiving recognition and support for their talent and passion. Artists set their terms, gain exposure, and earn royalties from the resale of their art. It's a paradigm shift that fosters a flourishing creative ecosystem.

 **From Spectators to Participants:** In this dynamic world, you're not just an admirer but an integral part of the art narrative. As a collector, you are instrumental in shaping the art scene, curating your gallery with rare NFTs that resonate with you profoundly. The thrill of ownership and community make every interaction on Digital Canvas truly special.

**Preserving Art for Posterity: **NFTs ensure that art stands the test of time. Through the immutable nature of blockchain, artistic legacies are safe from theft or plagiarism. Art becomes an enduring legacy cherished by future generations as an essential part of our cultural heritage.

**The Future is Now:** The world of Digital is a glimpse into the future of art and technology. Embrace this revolutionary space where creativity, innovation, and community intertwine seamlessly. Be part of the movement that redefines the relationship between artists and their audience, rekindling the very essence of art appreciation.

**Join on Digital Canvas:** If you're ready to dive into a world of boundless imagination and artistic brilliance work, join on Digital Canvas. Witness the transformational power of NFTs as we celebrate the intersection of art and technology.
Coding with a Smile😊: Funny Programming Jokes to Boost Your Mood
Tags: jokes, mentalhealth, programming, coding
Published: 2023-07-24 11:57:15


1. Why did the programmer quit his job? He didn't get arrays.
2. Why do programmers prefer gardening? Because they like to use their "branch" skills.
3. Why do programmers prefer dogs over cats? Because dogs have a "fetch" method.
4. Why do programmers always mix up Halloween and Christmas? Because Oct 31 equals Dec 25.
5. Why did the programmer go broke? He used up all his cache.
7. Why did the programmer cross the road? To get to the other site.
A Beginner's Guide to jQuery Chaining
Tags: javascript, jquery, beginners, programming
Published: 2023-07-24 11:51:32

jQuery chaining is a useful technique for connecting multiple methods calls in a single statement. This results in shorter and more readable code compared to applying the methods separately.


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

As you can see, the chaining version is much cleaner and concise. So how does this work under the hood?

The key things to know about chaining:

Each method call starts by selecting the element, in this case `$('#elem')`
    The methods are chained together using periods
    No need to store the return value in a variable, since each method works on the return value of the previous one

This is possible because jQuery methods return the original jQuery object. So `$('#elem').css()` returns the `$('#elem')` object, allowing us to call the next method `.hide()` on it.

The end result is we can avoid reselecting the element over and over, making the code compact and readable.

Some common use cases where chaining helps:

Modifying style - `chaining css()`, `addClass()`, `removeClass()` etc
    Animations - `chaining animate()`, `fadeOut()`, `slideUp()` one after another
    DOM manipulation - `chaining append()`, `prepend()`, `remove()` to build a structure

Chaining isn't always necessary, but it's a good technique to have in your toolbox for jQuery code. 


**Let me know in the comments if you have any other questions!**
Ένας ιδιωτικός ντετέκτιβ μπορεί να απαντήσει σε σημαντικές ερωτήσεις
Published: 2023-07-24 11:37:24

Δεν είναι όλοι οι άνθρωποι ειλικρινείς και εξαιτίας αυτού, μπορεί να υπάρχουν σενάρια όπου η χρήση επαγγελματία για τον έλεγχο της εγκυρότητας κάτι είναι απαραίτητη. Η ανεντιμότητα θα μπορούσε να βλάψει ένα άτομο ή μια επιχείρηση και είτε έχετε υποψίες είτε απλά θέλετε να είστε προνοητικοί, δεν βλάπτει να κάνετε κάποια ανασκαφή. Για να βρείτε σημαντικές πληροφορίες, μπορεί να θέλετε να απευθυνθείτε σε ένα **[ντετεκτιβ θεσσαλονικη](https://www.krypteia.gr)**. Αυτός ο επαγγελματίας ερευνητής είναι ειδικός στη χρήση δεξιοτήτων και τεχνικών που θα σας βοηθήσουν να πάρετε τις απαντήσεις που αναζητάτε.

υποθέσεων
Θέλετε να μάθετε αν υπάρχει σχέση; Υπάρχουν στιγμές σε έναν γάμο ή μια σοβαρή σχέση που οι πράξεις ενός συντρόφου δείχνουν μια σχέση και όταν υπάρχει αυτή η υποψία, μπορείτε να επιλέξετε να απευθυνθείτε σε έναν ιδιωτικό ντετέκτιβ που θα μπορούσε να σας βοηθήσει είτε να επιβεβαιώσετε τις υποψίες σας είτε να ερευνήσει για να μετριάσει τις ανησυχίες σας. Ένας εκπαιδευμένος επαγγελματίας είναι σε θέση να χρησιμοποιήσει ένα ευρύ φάσμα τακτικών, όπως παρακολούθηση, παρακολούθηση υπολογιστή, συστήματα παρακολούθησης, τηλεφωνική έρευνα ή ακόμα και συσκευές ακρόασης. Έχοντας όλα αυτά τα εργαλεία και την ανωνυμία για να ακολουθήσετε κάποιον που δεν ανιχνεύεται μπορεί να επιτρέψει σε έναν επαγγελματία να αποκαλύψει την αλήθεια.

Χαμένη επαφή?
Χρειάζεστε να βρείτε κάποιον; Μια γενική έρευνα μπορεί να αποκαλύψει πού βρίσκεται κάποιος. Μερικές φορές ένα άτομο ψάχνει για έναν χαμένο συγγενή. Ίσως θέλετε να έρθετε ξανά σε επαφή με κάποιον που έχει απομακρυνθεί. Ή, ίσως είστε οφειλέτης που αναζητάτε κάποιον που χρωστάει χρήματα. Η πρόσληψη των υπηρεσιών ενός ιδιωτικού ντετέκτιβ μπορεί να σας βοηθήσει γρήγορα και εύκολα να προσεγγίσετε ένα άτομο που αγνοείται.

Απόδειξη ή ψυχική γαλήνη
Χρειάζεστε πληροφορίες ή/και τεκμηριωμένα αποδεικτικά στοιχεία; Οι ντετέκτιβ όχι μόνο μπορούν να αποκαλύψουν αυτές τις πληροφορίες, αλλά προσφέρουν συγκεκριμένα στοιχεία που μπορούν να χρησιμοποιηθούν τόσο σε προσωπικές όσο και σε επιχειρηματικές καταστάσεις.

Η δουλειά είναι δουλειά
Δεν μπορεί αυτόματα να εμπιστευτεί κάθε νέο ή δυνητικό υπάλληλο. Μπορεί να θέλετε να προσλάβετε μια εταιρεία για να κάνει έναν απλό έλεγχο ιστορικού για να βεβαιωθείτε ότι οι πιθανές νέες προσλήψεις είναι αυτοί που λένε ότι είναι και έχουν την τεχνογνωσία στο βιογραφικό τους.

Οι ιδιοκτήτες επιχειρήσεων δεν θέλουν να πιστεύουν ότι έχουν προσλάβει κάποιον που θα μπορούσε να πει ψέματα με κάποιο τρόπο, αλλά η πρόσληψη ενός ιδιωτικού ντετέκτιβ μπορεί επίσης να βοηθήσει τον ιδιοκτήτη της επιχείρησης να χαλαρώσει όταν κάτι στις καθημερινές λειτουργίες δεν αθροίζεται.

Ανεξάρτητα από τους λόγους για τους οποίους χρειάζεστε βοήθεια από έναν ιδιωτικό ερευνητή ή ντετέκτιβ, θα θέλετε να συνεννοηθείτε με μια διακριτική και επαγγελματική εταιρεία. Αφιερώστε χρόνο για να βρείτε έναν οργανισμό που να επιδεικνύει υψηλό επίπεδο επαγγελματισμού, ώστε να μπορείτε να λάβετε τις πληροφορίες που χρειάζεστε για να αναλάβετε δράση ή να είστε σίγουροι ότι όλα είναι καλά στην επαγγελματική ή την προσωπική σας ζωή.
Πώς οι ιδιωτικοί ντετέκτιβ σώζουν τη σχέση σας
Published: 2023-07-24 11:36:27

Στον σημερινό κόσμο με γρήγορους ρυθμούς, όταν δημιουργούνται υποψίες στις σχέσεις, δεν το σκέφτεσαι καθόλου πριν καταλήξεις ότι ο σύντροφός σου σε απατά. Τις περισσότερες φορές, απλά ακολουθείς τα ένστικτά σου και καταλήγεις να καταστρέψεις τη σχέση εντελώς. Θλιβερά τελειώματα όπως αυτά αξίζουν ένα καλύτερο συμπέρασμα. Παραδόξως, υπάρχουν πολλοί τρόποι για το πώς μπορείτε να διασφαλίσετε ότι έχετε δίκιο όταν υποπτεύεστε την απιστία. Αλλά πώς θα βεβαιωθείτε ότι έχετε δίκιο όταν κατηγορείτε τον σύντροφό σας για τόσο ταπεινά εγκλήματα;

Μερικές φορές, απλές υποθέσεις από την πλευρά σας, πιθανώς λόγω προηγούμενης εμπειρίας, μπορεί συχνά να σας κάνουν να πιστεύετε ότι ο σύντροφός σας σας απατά. Συχνά, δεν υπάρχει λόγος να υποπτευόμαστε και οι άνθρωποι καταλήγουν να κλονίζουν τις σχέσεις τους χωρίς καλό. Βεβαιωθείτε ότι οι υποψίες σας δεν είναι αποτέλεσμα προκαταλήψεων που έχετε μεταφέρει από την προηγούμενη σχέση σας.

Είναι σημαντικό να είστε βέβαιοι ότι δεν προκαλείτε κανένα κακό στη σχέση σας με βάση ψευδείς υποψίες. Για να εδραιώσετε τις υποψίες σας και για να βεβαιωθείτε ότι οι ισχυρισμοί σας για απιστία εναντίον του συζύγου σας είναι πράγματι σωστοί, συνιστάται να προσλάβετε έναν **[ντετεκτιβ αθηνα](https://www.krypteia.gr)**ο που μπορεί πραγματικά να ανακαλύψει την αλήθεια χωρίς καμία προκατάληψη. Το να είσαι σίγουρος για αυτά που ξέρεις βοηθάει πολύ στο να κάνεις τη στάση σου πιο σταθερή όταν αντιμετωπίζεις τον/την σύζυγό σου.

Δεν είναι πολύ δύσκολο να εντοπίσεις έναν ιδιωτικό ντετέκτιβ στις μέρες μας. Πέρασαν οι μέρες που θα έπρεπε να ψάξετε στον κατάλογό σας για να βρείτε έναν. Απλώς κάντε μια αναζήτηση στο διαδίκτυο για έναν ιδιωτικό ντετέκτιβ με το όνομα της τρέχουσας τοποθεσίας σας και θα βρείτε μια σειρά από υπηρεσίες που παρέχουν υπηρεσίες έρευνας. Πολλά πρακτορεία σήμερα παρέχουν αποκλειστικές υπηρεσίες για άτομα που αντιμετωπίζουν προβλήματα σχετικά με υποψίες στη σχέση τους. Αναζητήστε κριτικές για πρακτορεία που θεωρείτε κατάλληλα για τις ανάγκες σας και μετά μιλήστε με ένα που πιστεύετε ότι κατανοεί καλύτερα το πρόβλημά σας. Οι εξειδικευμένοι φορείς έχουν το πλεονέκτημα να προβλέπουν πώς μπορεί να είναι η κατάσταση και ποια μπορεί να είναι η αιτία ανησυχίας.

Μόλις προσλάβετε έναν ντετέκτιβ, μπορείτε να καθίσετε και να ελπίζετε για το καλύτερο. Ο ντετέκτιβ θα ελέγξει το πού βρίσκεται ο/η σύζυγός σας και θα συνεχίσει να σας αναφέρει διευκρινίζοντας τι μπορεί να σημαίνει κάθε κίνησή του. Θυμηθείτε να μην είστε παρανοϊκοί, να είστε υπομονετικοί και να είστε δίκαιοι στις κρίσεις σας για τον σύντροφό σας. Οι διαλυμένες σχέσεις δεν είναι αυτό που επιδιώκουν να επιφέρουν οι ντετέκτιβ. εργάζονται μόνο για την ανάδειξη της αλήθειας ώστε να σας βοηθήσουν να επιλέξετε την επόμενη πορεία δράσης σας. Είναι πιο εύκολο να διακόψεις μια σχέση παρά να τη φτιάξεις, γι' αυτό πάντα επιλέγεις τις αποφάσεις σου με σύνεση.