teleren/devto huggingface dataset:
Day 702 : Let Them Know
Tags: hiphop, code, coding, lifelongdev
Published: 2023-02-27 22:53:19

_liner notes_:
- Saturday : Had a pretty productive day! I did a bunch of work on my side project. Then it was time to do the radio show. Had a good time! The recording of this week's show is at https://kNOwBETTERHIPHOP.com

![Radio show episode image of a side by side picture of Donald Trump standing next to a palette of water bottles and a close up of the Trump water bottles with the words Feb 25th 2022 Wildcat](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/svfrggnae28m3aryvsrx.jpg)

- Sunday : Another pretty productive day. I think I mapped out how I want the data for the settings file to be set up. Did a whole bunch of research in documentation. Then as I was about to go to sleep, I thought of an idea for a side project, went to see if the website URL was available, it was and I bought it! haha I started thinking of other sites and a lot of URLs were available. haha I didn't buy those, but I did add them to my favorites. Going to do more thinking.

- Professional : Had a few meetings today. Got some info on the upcoming sprint and the projects I'll be working on. Some cool stuff coming up. Did some light clean up on what I did last sprint and finished it up. I scheduled a message for my manager to let them know that I have the updates for them to review. Answered a question from the community. Helped fix an issue with a demo. Then I started working on converting a project. Not a bad day.

- Personal : Looking forward to actually saving some data and then pulling in the data to show up in the application. I ran into an issue where I am making calls to an endpoint where I know the URL, but if someone else is going to install it, I won't know the URL, so I'll need to look into that.

![The coast of Maui, HI, United States at sunset with waves crashing against the rocky cliffs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2rxrt97cffjirqxkpnl1.jpg)

Going to investigate seeing if I can programmatically determine the base URL for the endpoint I'm calling. Hopefully I can figure it out quickly. After that, I want to watch some anime and go to sleep.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube YihyCZBbRJg %}
Encode URL in Kotlin
Tags: kotlin, android
Published: 2023-02-27 22:49:35


 ![Encode URL in Kotlin](https://needone.app/content/images/2022/12/Encode-URL-1.png)

In Kotlin, you can use the `URLEncoder` class to encode a URL string so that it can be safely transmitted over the internet. The `URLEncoder` class is part of the Java standard library, and it provides a method called `encode` that can be used to encode a URL string.

Here's an example of how to use the `URLEncoder.encode` method to encode a URL string in Kotlin:

```kotlin
import java.net.URLEncoder

fun main() {
    val url = "https://www.example.com?q=hello world"
    val encodedUrl = URLEncoder.encode(url, "UTF-8")
    println(encodedUrl) // prints "https%3A%2F%2Fwww.example.com%3Fq%3Dhello%20world"
}

```

In this example, we define a URL string that includes a query parameter with a space character. We then use the `URLEncoder.encode` method to encode the URL string using the UTF-8 character encoding. The encoded URL is then printed to the console.

Overall, the `URLEncoder` class can be used to encode a URL string in Kotlin, ensuring that it can be safely transmitted over the internet.

## Further Read

- [HTTP Encoding](https://needone.app/http-encoding/)
- [Encode URL in Swift](https://needone.app/encode-url-in-swift/)
Using a DateHelper to avoid date issues
Published: 2023-02-27 22:44:17

Node.js DateHelper abstracts the date properties into a simple add or subtract days. The method also exposes a function to return the formatted date according to YYYY-MM-DD

```
class DateHelper {
  constructor(dateString?: string = null) {
    this.date = new Date(dateString);
  }

  public addDays(days): void {
    this.date.setDate(this.date.getDate() + days);
    return this;
  }

  removeDays(days): void {
    this.date.setDate(this.date.getDate() - days);
    return this;
  }

  getFormattedDate(): string {
    const year = this.date.getFullYear();
    const month = this.date.getMonth() + 1;
    const day = this.date.getDate();
    return `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;
  }
}
```

To use this helper, simply create a new instance of the `DateHelper` class with a string date as the parameter:

```
const dateHelper = new DateHelper('2023-02-27');
```

You can then add or remove days by calling the `addDays` or `removeDays` methods, respectively:

```
dateHelper.addDays(3); // add 3 days to the date
dateHelper.removeDays(2); // remove 2 days from the date
```

Finally, you can get the formatted date string by calling the `getFormattedDate` method:

```
const formattedDate = dateHelper.getFormattedDate(); // returns "2023-03-02"
```

Note that the `getFormattedDate` method returns the date in the format "YYYY-MM-DD". If you need a different format, you can modify the method accordingly.

Here's an example of how you could write Jest tests for the `DateHelper` class:

```
describe('DateHelper', () => {
  test('should add days to date', () => {
    const dateHelper = new DateHelper('2023-02-27');
    dateHelper.addDays(3);
    expect(dateHelper.getFormattedDate()).toBe('2023-03-02');
  });

  test('should remove days from date', () => {
    const dateHelper = new DateHelper('2023-02-27');
    dateHelper.removeDays(2);
    expect(dateHelper.getFormattedDate()).toBe('2023-02-25');
  });

  test('should format date correctly', () => {
    const dateHelper = new DateHelper('2023-02-27');
    expect(dateHelper.getFormattedDate()).toBe('2023-02-27');
  });
});
```

In this test suite, we have three tests:

1. The first test checks that the addDays method correctly adds days to the date and returns the expected formatted date.
2. The second test checks that the removeDays method correctly removes days from the date and returns the expected formatted date.
3. The third test checks that the getFormattedDate method returns the expected formatted date.

```
 PASS  src/date-helper.test.js
  DateHelper
    ✓ should add days to date (3 ms)
    ✓ should remove days from date
    ✓ should format date correctly (1 ms)

Test Suites: 1 passed, 1 total
Tests:       3 passed, 3 total
```
Case Study: Enhancing Graph Database Capabilities with PostgreSQL and Apache AGE part 2
Published: 2023-02-27 22:40:53

**Implementation:**
The implementation of PostgreSQL with the Apache AGE extension involved several steps. First, the company had to ensure that PostgreSQL was installed and configured correctly. Next, they installed the Apache AGE extension and configured it to work seamlessly with PostgreSQL. They also migrated the existing social network data from the traditional relational database management system to the new graph database. Finally, the company developed custom queries and applications to take advantage of the new graph database capabilities.
**Results:**
The implementation of PostgreSQL with the Apache AGE extension provided the company with several benefits. First, it allowed for faster and more efficient data retrieval, enabling the company to provide a better user experience. Second, the graph database representation of social network data made it easier to query and analyze the relationships between users, which provided valuable insights to the company. Finally, the new system was more scalable, allowing the company to handle the massive amount of data generated by its platform more effectively.

**Conclusion:**
The implementation of PostgreSQL with the Apache AGE extension was a success for the social media company. It provided a more efficient and scalable solution for managing social network data, allowing the company to gain valuable insights into user behavior and provide a better user experience. The adoption of graph database solutions such as PostgreSQL with the Apache AGE extension is likely to increase in popularity as more organizations seek to manage complex and interconnected data structures.
[Apache-Age:-https://age.apache.org/](https://age.apache.org/)
[GitHub:-https://github.com/apache/age ](https://github.com/apache/age)
Case Study: Enhancing Graph Database Capabilities with PostgreSQL and Apache AGE part 1
Published: 2023-02-27 22:39:21

**Overview:**
A leading social media company was experiencing challenges in managing the vast amount of data generated by its platform. The company's traditional relational database management system was not well-suited to handle the complex and interconnected data structures inherent in social networks. As a result, the company decided to explore graph database solutions and chose to implement PostgreSQL with the Apache AGE extension.
**Challenges:**
The company's existing relational database management system struggled to handle the complexity of the social network data. In particular, it was challenging to represent and query the various relationships between users, such as followers, likes, and shares. Additionally, the company needed a solution that would scale to handle the massive amount of data generated by its platform.

**Solution:**
To address these challenges, the company implemented PostgreSQL with the Apache AGE extension. The extension provided the company with the ability to represent social network data as a graph, making it easier to query and analyze the complex relationships between users. Furthermore, the extension's advanced indexing and querying capabilities allowed for faster and more efficient data retrieval, which was critical given the scale of the company's platform.

[Apache-Age:-https://age.apache.org/](https://age.apache.org/)
[GitHub:-https://github.com/apache/age ](https://github.com/apache/age)
Certificados Electrónicos, Títulos electrónicos en México y la Firma Electrónica Avanzada.
Published: 2023-02-27 22:29:37

El uso de la tecnología se ha vuelto cada vez más importante en todas las áreas de la vida. En este sentido, uno de los aspectos que ha cobrado relevancia en México es el uso de los certificados electrónicos, títulos electrónicos y la firma electrónica avanzada. Estos temas están estrechamente relacionados con la seguridad y la confidencialidad de la información.
Pero ¿a que se refieren estos términos?
Los certificados electrónicos son un medio de identificación digital que se utiliza para garantizar la seguridad y la autenticidad de las transacciones electrónicas. Un certificado electrónico es emitido por una entidad certificadora, que verifica la identidad del solicitante y garantiza que el certificado es válido. En México, existe una entidad llamada CertiSAT, que es responsable de emitir los certificados electrónicos para personas físicas y morales.
Un certificado digital que siga el estándar X509v3, utilizado por los navegadores, contiene la siguiente información:
•	Identificación del titular del certificado: Nombre, dirección, etc.
•	Clave pública del titular del certificado.
•	Fecha de validez.
•	Número de serie.
•	Identificación del emisor del certificado.

Los títulos electrónicos son documentos que se emiten en formato digital y que tienen la misma validez legal que los documentos impresos en papel. Los títulos electrónicos son utilizados principalmente en el ámbito educativo, donde se utilizan para expedir diplomas y certificados a los estudiantes. En México, la Secretaría de Educación Pública (SEP) es la entidad encargada de emitir los títulos electrónicos para los estudiantes de educación superior.
La firma electrónica avanzada es otro aspecto importante en la utilización de la tecnología en la administración pública y los negocios. La firma electrónica avanzada es una herramienta que permite la autenticación de documentos digitales, de manera que se garantice su integridad y su validez legal. En México, existe una ley que regula la firma electrónica avanzada, la cual establece que este tipo de firma tiene la misma validez legal que la firma manuscrita.
La utilización de los certificados electrónicos, títulos electrónicos y la firma electrónica avanzada en México ha permitido simplificar procesos administrativos y reducir costos en distintos ámbitos, como la educación, los negocios y la administración pública. Además, el uso de estas herramientas tecnológicas ha mejorado la seguridad y la confidencialidad de la información, al garantizar la autenticidad de los documentos digitales.

Referencias:
Noray, E. (2022, 5 septiembre). ¿Para qué sirven los certificados electrónicos? Noray. https://www.noray.com/sirven-los-certificados-electronicos/

Información acerca del Título Electrónico. (s. f.). https://tituloelectronico.net/

A. (s. f.). Firma Electrónica Avanzada FIEL. DeclaraNet. https://declaranet.gob.mx/firma-electronica-avanzada/
SRE book notes: Communication and Collaboration in SRE
Tags: sre, books, collaboration, communication
Published: 2023-02-27 22:05:54

These are the notes from [Chapter 31: Communication and Collaboration in SRE](https://sre.google/sre-book/communication-and-collaboration/) from the book [Site Reliability Engineering, How Google Runs Production Systems](https://sre.google/sre-book/table-of-contents/).

This is a post of a series. The previous post can be seen here:

{% embed https://dev.to/bitmaybewise/sre-book-notes-embedding-an-sre-to-recover-from-operational-overload-50hn %}

---

> Specialization is good, because it leads to higher chances of improved technical mastery, but it's also bad, because it leads to siloization and ignorance of the broader picture.

---

> The one thing we can say about collaboration is that your chances of successful collaboration—and indeed just about anything else—are improved by having more diversity in your team. There's a lot of evidence suggesting that diverse teams are simply better teams [[Nel14]](https://sre.google/sre-book/bibliography#Nel14).

---

> For collaborations outside the building, effectively working across time zones implies either great written communication, or lots of travel to supply the in-person experience that is deferrable but ultimately necessary for a high-quality relationship.

IMO, most companies can be categorized as in-person experience/communication. But there are companies where asynchronous communication and collaboration happen in a quiet efficient way. GitLab is one of those, where the emphasis is put on excellent written communication—the handbook is a good example.

During the pandemic, we’ve seen many companies trying to adopt home office and asynchronous communication and collaboration styles. Some are more successful than others. I do believe it’s possible to make an abrupt change like that, but things take some time to settle down because of the cultural shift.

---

> Every time there is a debate around which choice to make on an issue, argue it out fully with the team but with a strict time limit. Then pick a solution, document it, and move on. If you can't agree, you need to pick some arbitrator that everyone respects, and again just move forward. Over time you'll build up a collection of these best practices, which will help new people come up to speed.

---
If you liked this post, consider subscribing to my newsletter [Bit Maybe Wise](http://bitmaybewise.com/).

You can also follow me on [Twitter](https://twitter.com/bitmaybewise) and [Mastodon](https://mastodon.online/@bitmaybewise).

---

Photo by [Nick Fewings](https://unsplash.com/@jannerboy62) on Unsplash
Easily Add User Authentication to Your Application With Google Cloud (While Preserving Time and Nerves)
Tags: cloud, startup, writing, javascript
Published: 2023-02-27 21:59:18

Tired of dealing with user auth as a dev?

Google Identity Provider gives you a managed solution that can easily be integrated into your application. It even has pre-built components.

Say goodbye to the hassle and hello to more time to focus on your app!

---

## Google Identity Platform Provides a Fully-managed Service
A user authentication service is a massive pain for developers.

It is recommended to use managed services. You don't have to configure or update any server. Everything works as a plug-and-play solution in the background.

This frees you up to concentrate on the important part, your application.
## Google Identity Plattform Has Many Providers to Choose
Aside from the traditional email/password combination, numerous other methods exist for logging in or signing up.

Implementing the various providers can be time-consuming and error-prone. With Google Identity Platform, you can easily activate them with a click on the GUI and then connect them with a couple of codes. Besides the standard e-mail or social login, you can also use a phone or an anonymous login.

So, if you want to provide your user with all possible logins, you can.
## Google Identity Plattform Provides Pre-build UI Elements
So you want to incorporate social logins into your UI but don't know how?

Don't worry; FirebaseUI includes pre-made UI-Components. Copy the examples from GitHub, connect them to your functions, and you're ready. Because these buttons are widely used online, your users will notice familiar UI-Elements and feel right at home.

This is most likely the quickest way to get started.
HFDP(10) - State Pattern
Published: 2023-02-27 21:40:28

Suppose you are to maintain a `gumballMachine`, which takes quarters, gives gumball after turning the crank. How would you implement it? The gumball machine certainly behaves differently when in different states (no quarter, inserted one quarter, sold, sold out etc.). Well, we can certainly use if else clauses. However, if new functionalities might be added (for example, randomly generate a winner that gets two gumballs), we can already foresee the code will be messy to maintain. 

A natural solution to problem like this, where the object behaves differently under different context, could be the State Pattern. 

## Formal Definition

>  The **State Pattern** allows an object to alter its behavior when its internal state changes. The object will appear to change its class.

We say "appear" because the object cannot change its class after it is initialized. However, it does appears to change its class, as it will behave differently under different context. This is because its state has changed. The way we implement that is to maintain `state` inside the object, and switch it whenever needed. 


![State Pattern](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ontdtjj8d7f6hjfw8yza.png)

Our `Context` object will have an internal member that maintains `State`. When `request()` is called, we are calling `state.handle()` under the hood. The magic is the `State` interface. We will have concrete implementation of this interface, and implement `handle()` differently under different states. 

As a side note, we may see similarity between State Pattern and Strategy Pattern. Both of them delegate execution to another composition class (remember our `Duck` app?). However, the State Pattern is meant for different behaviors of an object under different states. The strategy pattern, in my humber opinion, is like saving us from implementing tons of classes that differ only by a set of behaviors (Don't get me wrong, all of them have the behaviors. They just behave differently).
Paycom bank code 2023
Published: 2023-02-27 21:26:23

[https://www.bankfanz.com/paycom-bank-transfer-code/](https://www.bankfanz.com/paycom-bank-transfer-code/#utm_source=backlinks&utm_medium=search&utm_campaign=darry+ring+us&utm_content=Michelle)


https://plaza.rakuten.co.jp/paycombank1/diary/202302280000/
https://peatix.com/user/16158945/
https://www.provenexpert.com/paycom-bank-transfer-code-20234/
https://www.producthunt.com/@paycombank4
https://www.divephotoguide.com/user/Paycomtransfercode4
https://wakelet.com/@Paycombanktransfercode2023252
https://vocal.media/authors/paycom-bank-transfer-code-2023-qxfvve0zrg
https://www.lifeofpix.com/photographers/paycomtransfercode4/
https://seedandspark.com/user/paycom-bank-transfer-code-2023-3
https://rosalind.info/users/Paycomtransfercode4/
http://phillipsservices.net/UserProfile/tabid/43/userId/202197/Default.aspx
https://app.roll20.net/users/11679550/paycom-bank-transfer-code-2
https://speakerdeck.com/paycomtransfercode4
https://social.msdn.microsoft.com/Profile/Paycom%20bank%20transfer%20code%202023%204
https://camp-fire.jp/profile/paycomtransfercode4
https://plazapublica.cdmx.gob.mx/profiles/Paycombankcode4/activity
https://www.metal-archives.com/users/Paycomtransfercode4
https://storium.com/user/paycomtransfercode4
https://trabajo.merca20.com/author/paycomtransfercode4/
https://www.intensedebate.com/people/paycomtransfer4
https://www.mifare.net/support/forum/users/paycomtranfercode4/
https://pinshape.com/users/2583068-paycombank4
http://foxsheets.com/UserProfile/tabid/57/userId/122420/Default.aspx
https://www.kompasiana.com/paycombank4
https://www.credly.com/users/paycom-bank-transfer-code-2023.916b9216/badges
https://www.myminifactory.com/users/Paycomtransfercode04
https://www.sqlservercentral.com/forums/user/paycomtransfercode4
https://www.longisland.com/profile/paycomtransfer4
https://guides.co/a/paycom-bank-t-5718
https://myanimelist.net/profile/Paycomtransfer4
The Lean Canvas Test
Published: 2023-02-27 21:25:31

I like writing code so much that I have rarely stopped to think about how I am spending my time. As long as the technology is challenging, I love to just dive into projects. However, I only have so many coding hours left in my life so I better start spending them more wisely.

My first experience with a lean canvas was not good. There was a tight deadline. My collaborator was over complicating the process, and there was a lot of pressure to make a questionable idea look good. I did not enjoy making that lean canvas so I did not consider using the process again.

Fortunately, I recently attended a startup workshop where a got some excellent lean canvas training. The workshop gave me a fresh look at the process and how simple and informative it could be.

I also realized that you don't need the world's next great startup idea in order to use a lean canvas. You can use one for your next ordinary project at work. Start lean canvassing and avoid pointless projects!