teleren/devto huggingface dataset:
Findstival: Python + Redis Festival Tracker
Tags: redishackathon, python, redis, react
Published: 2022-08-29 23:54:00

### Overview of Our Submission

As we are approaching the end of summer in Europe, everyone wants to know where to go next.

The question is: How to find Europe’s hotspots 🔥 for networking, drinking, socialising or just to purely experience unadulterated freedom after living under the auspices of COVID-19 🦠 over the last few years   

Now instead of watching a depressing dashboard that counts fatalities, forcing us into an antisocial life, as a counter-response we seek to visualise and inform on quite the opposite.


![Dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sxjdh3wejdp6qkyfl15x.png)

### Submission Category:

Wacky Wildcards

Come on so much fuzz and loud acronyms MERN MEOW 🐱, who even uses Angular these days? Event driven? I love the idea, but we want to keep this simple for now. Okay then, Minimalist Mav what? Tom Cruise? I MEAN … this is our stack, we use Flask, Redis and React and its awesome, period. 

Up until now the overwhelming amount of new events have puzzled party goers, leading to questions on where will they go exactly because there are countless new options and a vast quantity of locations.

This is where our idea and the wonderful Redis Stack come into play... Together they make an application which comes alive using a public API.

You may ask, but why this?

- You might feel a bit socially rusty after Covid-19 isolation, there might be an event near you and we can help you find it
- Enhanced visibility and monitoring of events can facilitate social planning
- Redis geospatial data to store, process, and analyse geospatial data in real-time
- Redis sub-milliseconds response times enables millions of request per second, basically, real time data visualization
- Redis is simple….as opposed to the query languages of traditional databases.



![Diagram](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y6gyjkw7rmjh361oqtai.png)


### Video Explainer (In Spanish 💃)
English captions will be available

{% embed  https://youtu.be/ZrfPpTqlYjM %}


### Language Used:

We used Python and the framework Flask with a React frontend. One of the driving ideas is to be able to create this kind of application with minimum overhead and flexibility.

### Link to Code

You can check our code on [Github](https://github.com/Quadricular/findstival) and if you have any questions feel free to ask!

### Additional Resources / Info

[Note:] Using [APPIC](https://appic.events/) Public API
[Note:] Cover Photo by Luuk Wouters on Unsplash

### Collaborators

Ernesto Torralba & Daniel Gonzalez under [Quadricular](https://github.com/Quadricular).

---

- *Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database.*
- *Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis.*
- *Sign up for a [free Redis database](https://redis.info/try-free-dev-to).*
Justa Net Worth Tracker - Redis Hackathon
Tags: redishackathon
Published: 2022-08-29 23:53:45




### Overview of My Submission
Justa Net Worth Tracker is an app that let users track their assets and liabilities. The tech stack used to build it includes React Native, Express/NodeJS and Redis(Redis stack, Redis-om).

### Submission Category: 
MEAN/MERN Mavericks

### Video Documentation
{% youtube uJS3t7F8bNw%}

### Language Used
- JS/TS/Node.js

### Link to Code
[GITHUB REPO AND DEMO](https://github.com/patva0715/25_Networth_tracker)

### Additional Resources / Info
![Assets Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kx916vmcpbrh2cc5mq5m.png)
![Summary Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pg4mhizb68jj595enebw.PNG)

![Home Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nengf1ep9upccrwyw9j9.PNG)




### Collaborators
- Developed solo


- - - 

* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
Signals and Noise
Tags: adventofcode, algorithms, programming, javascript
Published: 2022-08-29 23:52:06

## [Advent of Code 2016 Day 6](https://adventofcode.com/2016/day/6)

## Part 1

### No problem!
- Another character-counting puzzle?
- I feel like a master by now!
- This may be a rare time where I chain together two `reduce()` methods - I've nested them inside one another before, but rarely used one right after another

My algorithm as pseudocode:
```
Split the input at each newline character into an array of strings
For each string, accumulate an array with as many empty objects as there are characters in the string
  Split each string into an array of characters
  For each character
    Increment the number associated with the character key in the object at the same index in the accumulating array as the character's in the string
For each object, accumulate a string
  The next character is the one who's key is associated with the largest number among all the keys in that object
Return the accumulated string
```

My algorithm as JavaScript:
```js
input.reduce(
 (counts, line) => {
  line.split('')
   .forEach(
    (char, i) => counts[i][char] = (counts[i][char] || 0) + 1
   )
  return counts
 }, new Array(stream[0].length).fill(null)
                               .map(el => Object.create({}))
).reduce(
 (message, tallies) => {
   return message += Object.entries(tallies)
    .find(
       (el) => el[1] == Math.max(...Object.values(tallies))
    )[0]
 }, ""
)
```

It generated `easter` for the example, as expected!

It generated my correct answer, too!

## Part 2

### Change `max` to `min`
That's all I had to do to get the correct answer!

I refactored my algorithm to generate both answers:
```js
function bothParts(fn) {
 input.reduce(
  (counts, line) => {
   line.split('')
    .forEach(
     (char, i) => counts[i][char] = (counts[i][char] || 0) + 1
    )
   return counts
  }, new Array(stream[0].length).fill(null)
                                .map(el => Object.create({}))
 ).reduce(
  (message, tallies) => {
    return message += Object.entries(tallies)
     .find(
        (el) => el[1] == fn(...Object.values(tallies))
     )[0]
  }, ""
 )
}
// Part 1: bothParts(Math.max)
// Part 2: bothParts(Math.min)
```

Works great!

## I did it!!
- I solved both parts!
- In what feels like record time for a Day 5 puzzle: under a half hour!
- And with one long series of chained method calls in under 10 lines of code for the body of the function!
- I even made a silly GIF to animate how my algorithm works!
Redis4AWS
Tags: redishackathon, redis, aws
Published: 2022-08-29 23:35:58

[Instructions]: # (To submit to the Redis Hackathon on DEV, please fill out all sections. DELETE ALL NOTES, reminders, and guidelines before publishing.)


### Overview of My Submission
[Note]: # (Share what you built, how you built it, and the inspiration behind the idea! Please make sure the project links to the appropriate GitHub repository, and includes the [MIT](https://choosealicense.com/licenses/mit/), [Apache](https://www.apache.org/licenses/), [BSD-2](https://opensource.org/licenses/BSD-2-Clause), [BSD-3](https://opensource.org/licenses/BSD-3-Clause), or [Commons Clause](https://commonsclause.com/) license and a README.)

**Redis4AWS** is a collection of **Redis** and **AWS** integrations.


### Submission Category: 

[Note]: # (Select between Minimalism Magicians, Microservice Mavens, MEAN/MERN Mavericks, Wacky Wildcards – Descriptions of requirements listed in the announcement post.)

Wacky Wildcards

### [Optional: Video Explainer of My Project]

[Note]: # (This is where you can embed the optional bonus video you created to accompany your submission. Ensure your video is published publicly to YouTube and you’ve used the embed tag here to share it with us. By opting to include a video, you will be eligible for BONUS prizes. Learn more in the announcement post.)

{% embed https://vimeo.com/744372440 %}

### Language Used
[Note]: # (Select the language you used for your project – must be one of the following: C#/ASP.NET Core, Java/Spring, JS/TS/Node.js, Python)

JS/TS/Node.js
Python


### Link to Code

[Note]: # (Our markdown editor supports pretty embeds. Try this syntax: `{% embed link_to_your_repo %}` to share a GitHub repository)



https://github.com/wsmithparsec/Redis4AWS

### Additional Resources / Info



### Collaborators

[Note]: # (Be sure to include the DEV usernames of your collaborators, if any. Prizes for winning projects with multiple collaborators will be sent ONLY to the person who posts this submission and they will distribute the prize evenly.)

[Note]: # (All collaborators with DEV profiles listed here will receive a badge, however, prizes including sticker packs will only be sent to the member who publishes the post, with the person expected to distribute the prizes evenly amongst their collaborators.)



- - - 

[Note]: # (Please ensure  that the footer content below is part of your post when publishing. Please delete this note in parentheses but do not delete the content below.)


* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
PostgRedis
Tags: redishackathon, postgres, redis
Published: 2022-08-29 23:12:00

[Instructions]: # (To submit to the Redis Hackathon on DEV, please fill out all sections. DELETE ALL NOTES, reminders, and guidelines before publishing.)


### Overview of My Submission
[Note]: # (Share what you built, how you built it, and the inspiration behind the idea! Please make sure the project links to the appropriate GitHub repository, and includes the [MIT](https://choosealicense.com/licenses/mit/), [Apache](https://www.apache.org/licenses/), [BSD-2](https://opensource.org/licenses/BSD-2-Clause), [BSD-3](https://opensource.org/licenses/BSD-3-Clause), or [Commons Clause](https://commonsclause.com/) license and a README.)

PostgRedis is an integration of PostgreSQL and Redis.


### Submission Category: 

[Note]: # (Select between Minimalism Magicians, Microservice Mavens, MEAN/MERN Mavericks, Wacky Wildcards – Descriptions of requirements listed in the announcement post.)

Wacky Wildcards

### [Optional: Video Explainer of My Project]

[Note]: # (This is where you can embed the optional bonus video you created to accompany your submission. Ensure your video is published publicly to YouTube and you’ve used the embed tag here to share it with us. By opting to include a video, you will be eligible for BONUS prizes. Learn more in the announcement post.)

https://vimeo.com/744370706

### Language Used
[Note]: # (Select the language you used for your project – must be one of the following: C#/ASP.NET Core, Java/Spring, JS/TS/Node.js, Python)

JS/TS/Node.js
Python


### Link to Code

[Note]: # (Our markdown editor supports pretty embeds. Try this syntax: `{% embed link_to_your_repo %}` to share a GitHub repository)

https://github.com/wsmithparsec/PostgRedis

### Additional Resources / Info



### Collaborators

[Note]: # (Be sure to include the DEV usernames of your collaborators, if any. Prizes for winning projects with multiple collaborators will be sent ONLY to the person who posts this submission and they will distribute the prize evenly.)

[Note]: # (All collaborators with DEV profiles listed here will receive a badge, however, prizes including sticker packs will only be sent to the member who publishes the post, with the person expected to distribute the prizes evenly amongst their collaborators.)



- - - 

[Note]: # (Please ensure  that the footer content below is part of your post when publishing. Please delete this note in parentheses but do not delete the content below.)


* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
Ephemeral Chats
Tags: redishackathon, nestjs, mikroorm, typescript
Published: 2022-08-29 23:03:00

### Overview of My Submission

Welcome to Ephemeral Chats, a TypeScript NodeJS app made with [NestJS](https://nestjs.com/), [Apollo GraphQL](https://www.apollographql.com/docs/apollo-server/), [RedisOM](https://github.com/redis/redis-om-node) and [MikroORM](https://mikro-orm.io/).

So what is Ephemeral Chats? Its a web API where you can build temporary chat rooms, from 5 minutes to 24 hours, to chat with your friends.

Just create an account, create a chat room, and send the chat room invitation link to your friends. Don't worry, all your messages will be server-side encrypted and temporary as they're just a RedisJSON model with an expiration date.

### Submission Category: 
Wacky Wildcards

### Video:
[YouTube Link](https://youtu.be/FRyMXcPxtAE)

[Note]: # (This is where you can embed the optional bonus video you created to accompany your submission. Ensure your video is published publicly to YouTube and you’ve used the embed tag here to share it with us. By opting to include a video, you will be eligible for BONUS prizes. Learn more in the announcement post.)

### Language Used
TS/Node.js;

### Frameworks Used
NestJS, ExpressJS & Apollo GraphQL;


### Link to Code

The main API Repository can be found [here](https://github.com/tugascript/nestjs-graphql-chat).

An example Front-End to consume the API can be found [here](https://github.com/tugascript/chat-frontend-example).

### Additional Resources / Info

For development I have used a [personal template](https://github.com/tugascript/nestjs-graphql-monolith-fastity).

As for external libraries that really helped me we development I have to say [Altair Client](https://altairgraphql.dev/) was the most important, specially for testing the subscriptions.

On that note the subscriptions are handled with [graphql-ws](https://github.com/enisdenjo/graphql-ws) library so its not possible to test this app with Apollo tools such as Apollo Studio.
Recipe Together
Tags: redishackathon
Published: 2022-08-29 22:31:59

### Overview of My Submission
This is an app that allows you to build recipes one ingredient at a time. 5 people join a session, and each person selects one ingredient that they deem fit for the meal type.
Built using TypeScript, Express.js, and React


### Submission Category: 

Wacky Wildcards

### Language Used

TypeScript


### Link to Code

{% embed https://github.com/JamDon2/recipe-together %}
- - - 

* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
Java Efetivo Essencial - toString()
Tags: java, programming, webdev
Published: 2022-08-29 22:19:43

## Sobrescreva sempre o toString

_Esta é uma série baseada no entendimento de tópicos relacionados ao livro com foco no resumo._

**Contextualizando**

O método toString é um dos métodos que são herdados da classe Objetc.
A implementação desse método na classe Object é a seguinte :

```java
public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
```
Que é o nome da classe seguido de @ e do valor hexadecimal sem sinal do hashcode.

**O porquê**

Porque temos que nos preocupar? Pense bem, se formos utilizar a implementação padrão que imprime o objeto algo como : 
```
br.com.conta.Usuario@c712a7ee
```
O quanto visualizar esse trecho em seu log pode ajudar a realizar debug do seu código de maneira eficiente?
Seria bem melhor visualizar os dados que identifiquem de fato o objeto, certo?

**Exemplo**

```java
@Override
public String toString() {
    return "Usuario{" +
            "nome='" + nome + '\'' +
            ", email='" + email + '\'' +
            ", nascimento=" + nascimento +
            '}';
}
```
Acima sobrescrevemos o toString da classe Usuario por isso ela esta com a anotação @Override. 
Veja como esta muito mais legível e se logar o objeto iremos receber os dados no seguinte formato:
```
Usuario{nome='Ana dos Santos', email='anasantos10@gmail.com', nascimento=1977-08-15}
```

**Hum...**

- Pode surgir uma dúvida que muitos devs acabam tendo referente a LGPD, pois dependendo do dado que o objeto guarda estado é perigoso registrarmos em logs, para isso é importante que você configure em sua dependência de logs  mascaramento de alguns dados de logs, em alguns casos vale apena também verificar se faz sentido ter o dado no toString.
- Não coloque valores que não são acessíveis da classe pois isso não auxiliaria no debug do objeto e faria com que uma informação restrita da classe fique visível.

**O lado bom**

A maioria das Ides permite que seja sobrescrito o toString de forma mais automática, por exemplo no Intellij temos a opção através do menu direito do mouse > generate > toString e aparece a tela para selecionarmos quais informações são necessárias para gerar o toString.

**Nem sempre faz sentido...**

Nem sempre os objetos de seu sistema terão objetivo de guardar estado como por exemplo um controller ou um service, neste caso não faz sentido sobrescrever o toString. Geralmente isso só faz sentido para classes de dominío ou que representam objetos de transação e guardem estado.
Outro ponto que deve ser levado em condieração é se uma superclasse já sobrescreveu esse método.
Rhyme Ping Pong
Tags: redishackathon
Published: 2022-08-29 22:04:51

### Overview of My Submission

Play ping pong, but with rhymes! 🏓

Go back and forth with rhymes instead of a ping pong ball and see if you can have the last word! The application uses inputs of previous players to come up with its rhymes as a response to yours.

The rhythm and flow of most poems, sometimes felt like a game of ping pong to me, which became the inspiration behind the simple game, Rhyme Ping Pong. 😁

This application tries to come up with a rhyme for each sentence entered and simultaneously builds up its knowledge by storing each unique sentence entered so that it can be used as a rhyme in the future. 

#### How it's built

The user interface of this application was built with React and the Material UI library, and communicates through REST APIs built with the Express framework.

Redis, a key value data store was used as the primary database where its modules RedisJSON and RediSearch were used to store and retrieve data respectively. 

### Submission Category: 

Wacky Wildcards

### Video Explainer of My Project

{% youtube h04xTe3a1wQ %}

### Language Used
JS/TS/Node.js

### Link to Code

{% github methminug/RhymePingPong %}

### Additional Resources (Screenshots)

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


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


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


- - - 

* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
Viby a discord-like app but with audio message built with Redis
Tags: redishackathon
Published: 2022-08-29 21:33:00




### Overview of My Submission
**Inspiration:** A while ago, I and a friend were planning a community forum intending to help programming beginners, so we planned to use discord, but then there was a constraint, he wanted a platform with audio messages like WhatsApp (because according to him, he prefers them than text messages), but WhatsApp isn't suitable for such forum, as a result of that, the idea was placed on hold,
But then, when I came across the Redis hackathon, I felt oh!, this might be the right time to build something, and that was how **[Viby](https://viby-app.vercel.app)** was born.

### Submission Category: 

 **MEAN/MERN Mavericks:** Build a new (or port an existing OSS) MEAN/MERN stack app and use Redis in one of the following three ways.

### [Optional: Video Explainer of My Project]

[Note]: # (This is where you can embed the optional bonus video you created to accompany your submission. Ensure your video is published publicly on YouTube and you’ve used the embed tag here to share it with us. By opting to include a video, you will be eligible for BONUS prizes. Learn more in the announcement post.)

### Language Used
**NodeJS**
**Typescript**

### Link to Code

GitHub Repo:
 {% embed https://github.com/lucky-victory/viby %}


### Additional Resources / Info

Homepage preview 

![Viby Homepage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jd6q9d0d6hryiygz6hh2.png)

Chat page preview

![Viby chat preview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rvvcj4vex73fixwpmws4.png)
Audio preview

![Audio chat preview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xnm08prq69b4vf4yf20z.png)

Actions preview

![Actions preview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jazncadhm2qcbnwbvaz9.png)

Redis insight preview

![Redis insight preview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/92r6y0y27yoacfd33qjw.png)
- - -
> If given the opportunity, I would love to fully complete and improve the application.
- - - 

[Note]: # (Please ensure  that the footer content below is part of your post when publishing. Please delete this note in parentheses but do not delete the content below.)


* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
Day 142: lazy Monday
Published: 2022-08-29 21:31:27

Hi!
Today was one of those lazy days and where you end up doing nothing just sitting around and watching random video on social media
I didn't plan for the week as I don't have much tasks to do but tomorrow I plan to at least finish the database task, work on the landing page and advance on the course. we will see how far we go

Signing off....
Failures in OSS Ownership
Tags: programming, devjournal, discuss, opensource
Published: 2022-08-29 21:30:00

Today while I was looking at a list of open pull requests I still had open on Github, I was surprised to see a [pull request that had been opened 2 years ago](https://github.com/probot/stale/pull/319) that I did not recall authoring, so I clicked on the PR.  Turns out, I did in fact write the pull request, and it went 2 years without so much as a comment, let alone a review from the project maintainers.  This is also not the first time this has happened with my contributions to a third-party dependency I was using.  

I understand the nature of open source, but I also find it negligent for some owners to abandon their projects without either archiving it or transferring ownership. I don't expect an owner to be actively developing code for their project, but reviewing the project once every 90/180/365 days?  That's not a big ask, we all have 1 hour in that time we could spare to at least take a look.  

There's a difference in the level of effort between fixing a broken dependency for my own need, and contributing a fix back to the dependency for everyone to benefit, so it's a true shame when those efforts can't even be acknowledged.