teleren/devto huggingface dataset:
The Writer vs. AI
Tags: ai, writing, writer
Published: 2023-07-21 01:03:34

The Writer vs. AI

Since the advent of chatGPT, the best captions and hook have been centred around what AI has come to destroy. ‘AI will take your jobs’, ‘AI will replace writers’,’ AI will do this’, ‘AI will do that’.

What I have not heard of is, AI experiencing pain, so much pain, that it develops the ability to encapsulate high tension emotions in words. Words that transfer the same essence of grave pain to its readers. What i have not heard is AI being hurt and disappointed so many times by its own ambitions and endeavours that it loses all will power and strength to forge ahead, that it bears the same burdens over and over, that it becomes so numb as to feeling the vibrations of life, that AI looks upon its friends, family and well wishers and feels nothing, because it’s only hope of survival is feeling nothing, for the moment it opens up its heart to accept the reality, it would be consumed by it thereof.

What I still have not heard, is that AI would experience the shredding hope of heart-in-mouth- anxiety-fear-expectation when it’s wife is in labor, how that it encouraged itself to stretch its hands and legs while breathless to finish the race, how that it felt its heart pound when its lover walked into the room and how it prayed to its maker when it came to the end of it self and experienced a miracle, a miracle to great it was scared to tell a soul about it.

A writer is not one who scrambles words to be read, a writer is one who encapsulates experiences and emotions in ways that whoever reads, would experience and feel what was intended. You see, when the purpose of a thing is not known, abuse is inevitable. AI was made to ‘aid’, so you become a better writer when you embrace it’s purpose. In essence, collaborating with AI as a writer is the way, not competing with it.

THE KIWI WRITER.
Vantagens do git commit --amend
Tags: git, developer
Published: 2023-07-21 00:38:17

Nos últimos tempos, abordei esse tema com algumas pessoas e vi que esse artigo pode servir pra alguém, no futuro. No projeto onde trabalho, os devs decidiram pelo seguinte padrão relacionado ao git:

Cada pull request (PR) deve ter um único commit. Decidiram isso para facilitar os code reviews. Em pouco tempo, gostei do padrão e decidi adotá-lo até em projetos pessoais. Nesse artigo vou mostrar passo-a-passo como faço:

**1. Criação da branch:**

Após rodar um `git pull` em cima da branch de develop, eu crio uma branch para o meu desenvolvimento:

```
git checkout -b feature/<card_id>_<card_description>
```
**2. Criação dos commits:**

Após realizar algumas alterações, crio o primeiro commit da branch, com o título:

```
git commit -m "<card_id> <commit_title>"
```
A medida que o desenvolvimento avança e julgo necessários novos commits, passo a utiliza o `--amend`:

```
git commit --amend
```
Ao executar esse comando, o terminal abre um arquivo texto referente a este commit. Esse arquivo já possui o título do primeiro commit que realizei, na primeira linha. Se eu desejo adicionar mais informação ao commit, eu informo a partir da segunda linha do arquivo. Dessa forma, o commit fica dividido entre título e texto:

```
<card_id> <commit_title> #primeira linha (título do commit)
<commit description> #segunda linha em diante (texto)
<commit description>
<commit description>
<commit description>
```
Ao terminar de alterar o arquivo, um Ctrl+X salva o commit. Ao término dessa etapa, um `git log` vai mostrar apenas um commit referente à branch e assim vou até o final do desenvolvimento. Quando finalizo, posso prosseguir com um `git push origin <branch_name>` para criar a branch na ferramenta de versionamento.

Já na ferramenta (utilizo Github em casa e Bitbucket no trabalho), no momento de abrir o PR, consigo vizualizar o título do commit, o texto com toda a descrição do que foi feito e tudo isso com apenas 1 commit, ao invés de uma lista de commits.

**Bônus 1**: Quando abro um PR e vejo que tenho algum conflito que precisa ser resolvido (durante meu desenvolvimento, alguém evoluiu a branch de develop e preciso puxar coisas), eu executo um `git pull --rebase origin develop`. Dessa forma, o git baixa tudo que a develop da cloud tem que a minha branch (criada com base em uma develop anterior) não tem. Dessa forma, consigo resolver os conflitos (utilizo o VS Code pra isso) e dar um push que normaliza o PR aberto.

**Bônus 2**: Quando o objetivo é aglutinar muitos commits já realizados dentro de um mesmo PR ou branch, utilizo a técnica de squash, que tá bem explicadinha [aqui](https://www.internalpointers.com/post/squash-commits-into-one-git).

Acho essa metodologia de trabalho com o git super tranquila e me evita muitas dores de cabeça. Valeeu!
Pennyful
Tags: refinehackathon, refine, supabase
Published: 2023-07-21 00:28:21

## What I built 
An expense tracker and budget creator.

### Category Submission: 
Best Overall Project
Most Visually Pleasing
Most Technical Impressive
Best Project built using Supabase as the main data provider for the refine app.

### App Link
https://pennyful.vercel.app 

### Screenshots 

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

![Expenses Screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z4faxepz24hfpzfjyllp.png)

### Description 
This web app was built with refine, Vite and supabase. It was designed around tracking expenses, creating budgets and then seeing the space where the two intersect in a visual way. It was also an opportunity for the developer to try out Supabase, so there's that too.

### Link to Source Code 
https://github.com/senadev42/pennyful

### Permissive License 
MIT

## Background (What made you decide to build this particular app? What inspired you?) 
I used to use an app called Monefy in college and it helped me with tracking expenses with my limited allowance, and I've always been curious what it looked like under the hood.

### How I built it (How did you utilize refine? Did you learn something new along the way? Pick up a new skill?) 

I set up the databases I needed on supabase first. And _then_ I explored refine. I hadn't fully understood refine by that point (neither the QuickStart nor the tutorial clicked with me), but I figured it out after some tinkering. I actually stopped and started over with the refine CLI multiple times trying out the different UI frameworks, so that was something new. 

### Additional Resources/Info
- Dashboard components were created with https://www.tremor.so/
To Unleash Developer Productivity, Try the 85% Rule
Tags: productivity
Published: 2023-09-14 13:56:33

---
title: To Unleash Developer Productivity, Try the 85% Rule
published: true
date: 2023-07-21 00:00:00 UTC
tags: productivity
canonical_url: https://www.daytona.io/dotfiles/to-unleash-developer-productivity-try-the-85-rule
---
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c7t1j6c8y65j2qiw7mqp.jpeg)

Wouldn't it be great if there was a way to achieve better developer performance without running ourselves into the ground?

Could working at 85% effort paradoxically lead to better results than giving 100%?

Surprising new research suggests it can.

In a recent Harvard Business Review article, author [Greg McKeown](https://hbr.org/search?term=greg%20mckeown) introduces the counterintuitive notion of the ["85% rule"](https://hbr.org/2023/06/to-build-a-top-performing-team-ask-for-85-effort) for optimizing developer productivity and performance.

His findings challenge the conventional wisdom that maximum effort always yields maximum output.

McKeown cites studies showing sprinters run slower races when coaches push them to 100% intensity too quickly.

Peak performance actually comes from controlled exertion held at around 85% effort.

This allows us to sustain focus and avoid burning out from the relentless strain.

By embracing the 85% rule, managers can unlock developer productivity in practical ways:

- Encourage a "done for the day" cutoff to give minds needed rest. Ambiguous work hours lead to fatigue and diminishing returns.

- Ask developers to work at 85% of their maximum capacity. This sweet spot sustains energy and prevents latent exhaustion.

- Foster open communication about deadlines and challenges. Avoid high-pressure language that causes unnecessary stress.

- Seek 85%-right decisions to move projects forward briskly. Perfectionism kills progress and momentum.

- End meetings 10 minutes early. Back-to-back meetings exhaust the mind faster than spaced-out ones.

The 85% rule flips traditional expectations about productivity upside down. But counterintuitive insights often reveal powerful truths.

By easing off the pedal and embracing optimal effort over maximum exertion, managers can unlock sustained excellence from their developers.

The benefits are clear: improved productivity, reduced burnout, and higher-quality results. So, why wait?
Discussão: Como você se vê no futuro?
Published: 2023-07-20 23:59:06

Fala `devs`, tudo bem? Hoje o post sai um pouco dos tradicionais tutoriais e vai para uma discussão bem séria.

Essa pergunta é muito comum em entrevistas de empregos e normalmente sempre temos aquela resposta padrão de: quero crescer profissionalmente, quero aumentar minha "senioridade". 

Nesse post, não vale dar essas respostas clichês. Eu quero saber o que você realmente pensa sobre o seu futuro. Você tem algum objetivo? Se sim, compartilhe aí pra nós e diga os "passos" que você pretende dar para chegar nesse objetivo.. hahaha!

Bora começar! 🚀
Букмекерская контора Pin Up
Tags: photography
Published: 2023-07-20 23:45:29

Ставки на спорт гарантированно доставят вам массу положительных эмоций и порадуют крупными денежными выплатами, выиграть может каждый, кто не боится идти на риск. 

Букмекерская контора Pin Up [https://pin-up.kz/ru/](https://pin-up.kz/ru/) предлагает наиболее оптимальные условия для совершения ставок, это и высокие коэффициенты, и широкая линия, и мгновенный выплаты и первоклассный сервис. 

Делайте свои ставки и сможете, сидя дома на диване, выйти на стабильный доход.
Aviator
Published: 2023-07-20 23:41:46

Se você não consegue imaginar suas férias sem entretenimento de jogos de azar, agora mesmo você precisa visitar o cassino de jogos Pin-Up. Somente nesta instituição você não perderá tempo - agora todos os melhores e mais generosos jogos, como [https://cassino-pin-up.com.br/slots/aviator/](https://cassino-pin-up.com.br/slots/aviator/) só funcionam para você 24 horas por dia. Para se divertir muito, ganhando muito dinheiro, as máquinas caça-níqueis desta instituição sempre o ajudarão. Além disso, você tem a chance de ganhar na roleta ou jogar pôquer com amigos na mesma mesa. Não apenas um jogador experiente pode jogar por dinheiro, mas também qualquer iniciante que está apenas começando a se familiarizar com o mundo do jogo. No cassino Pin-Up, o jogo é uma fonte constante de renda.
Insightful - Modern work intelligence
Tags: analytics, monitoring, timesheet, screenshots
Published: 2023-07-20 23:26:42

Insightful helps you and thousands of other organizations measure, analyze, and optimize productivity regardless of employees' location. It offers deep behavioral insights while respecting the importance of privacy and safeguarding your team's private matters.

Insightful is simple, affordable, and available in the cloud or on-premise.

[https://www.insightful.io](https://www.insightful.io)
DevJobs
Tags: refinehackathon, opensource, showdev
Published: 2023-07-20 23:23:21

--- 
title: DevJobs
published: true 
description: My submission to the refine + DEV Hackathon! 
tags: refinehackathon, opensource, showdev
--- 

## What I built 
DevJobs, a platform where developers from around the globe will be able to share jobs for other developers on the platform to apply. This app idea is taken from refine.dev hackathon ideas.

### Category Submission: 
- Most Technical Impressive
- Best Project built using Supabase as the main data provider for the refine app.

### App Link
The project is deployed with Netlify and can be found [here](https://main--soft-cuchufli-38b396.netlify.app/)

### Screenshots 

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

![Job Details Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/utvyue8pvnn7ykqsfqmp.png)


### Description 
With DevJobs, one can find jobs and discover new opportunities in the field of software development.

### Link to Source Code 
[Github](https://github.com/kunalvirk/DevJobs)

### Permissive License 
[MIT](https://github.com/kunalvirk/DevJobs/blob/main/LICENSE)

## Background (What made you decide to build this particular app? What inspired you?)
It inspires from WeWorkRemotely but only for developers. It allows developers to discover the world of remote tech jobs and connect with global companies. Developers can join the growing community of remote developers.

### How I built it (How did you utilize refine? Did you learn something new along the way? Pick up a new skill?) 
This Project is built using the following resources:

- [NextJs](https://nextjs.org/)
- [Refine](https://refine.dev/)
- [Supabase](https://supabase.com/)
- [TailwindCSS](https://tailwindcss.com/)

I have been a backend developer most of the time. By building this I explored Next.js along with Refine.dev. Refine.dev does shine in building thing quickly.

### Additional Resources/Info
I started really late but thanks to refine.dev, this really helps in scaffolding a CRUD app in no time. The compatibility was superb. As I started late, I couldn't finish few features which I planned but I will improving this app.
Perl Catalyst Release 5.90131
Published: 2023-07-20 23:17:58

Version  5.90131 of the Perl MVC web development framework Catalyst just hit CPAN.

This is mostly a minor release that tidied up some docs, including broken links in documentation and metadata.  It also added a mailmap file and added 'strict' and 'warnings' to some files that were missing those pragmas.   Additionally this version has one new feature, an enhancement to chained action dispatch called 'next action' which allows you to call the next action in the chain programmatically rather than only when the action ends, optionally passing arguments to the next action (and optionally receiving arguments from it).  You can read more about this enhancement, including a longer example, [here](https://dev.to/jjn1056/next-action-improving-catalyst-chained-actions-f79).
Anime-レストラン Storefront using refine
Tags: refinehackathon, typescript, nextjs, opensource
Published: 2023-07-20 23:08:10

## What I built
A Storefront using refine framework. A website for online portfolio of Anime-レストラン restaurant.
 
### Category Submission:
- Most Visually Pleasing 

### App Link
(Not deployed)

### Screenshots 
![Home page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6yvi14f4xr9wjfvmjqck.png)

![Menu section](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5rtsrxy474odjtfuqxx1.png)

### Description 
This project is a Storefront(Online presence) of Anime-レストラン restaurant franchise. This website showcase the products available at the restaurant and other information about the restaurant. We build a simple Yet stylish storefront using refine
 
### Link to Source Code 
[Source code](https://github.com/Ronit-gurjar/anime-restoran)

### Permissive License 
[MIT 2023 licence](https://github.com/Ronit-gurjar/anime-restoran/blob/main/LICENSE)

## Background (What made you decide to build this particular app? What inspired you?) 
We decided to build this project as a initiative for our dream of opening a family friendly restaurant for Anime Lover allover India. Now we are fully motivated to make this a reality.

### How I built it (How did you utilize refine? Did you learn something new along the way? Pick up a new skill?) 
It was our first time ever using refine. We faced few problems at first, But soon we figured all out. Thanks to this experience we got during this hackathon, our knowledge of web-development have improved.

### Additional Resources/Info
We got a chance to learn and contribute to open-source project. My team mate, @ronitgurjar was implementing the carousel for the menu, while searching for a library he found one he liked named embla-carousel pkg. While going through their Docs he found a bug So he solved the bug, wrote a PR and sent it to the maintainer. The next day he was asked if he could help in correcting all the docs. Really happy for his progress in open-source community 😁🔥.
Time To Sync
Tags: refinehackathon, webdev, typescript, frontend
Published: 2023-07-20 22:40:58

## What I built
A task management tool based on RICE prioritisation framework.


### Category Submission:
Best Overall Project
Most Technical Impressive
Best Project built using Supabase as the main data provider for the refine app.
Best Project built using Material UI as the main UI framework for the refine app.


### App Link
[https://prismatic-selkie-9d9316.netlify.app](https://prismatic-selkie-9d9316.netlify.app)

### Screenshots

![Task List](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/esy6ohaa8vzqmgef6bqi.png)

![Categories List](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tj6bc5b3m8ft1vr2injr.png)

![Create Task](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7trbqw5dmik5p93lhm31.png)

![Edit Category](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ux6996wwi9xe4cnumern.png)


### Description
A task management app with
- Github OAuth and Email authentication.
- Realtime multi-user task editing using Supabase DB subscriptions
- Ability to create multiple categories and sort tasks by colour
- API security and authorization using RLS policies
- German translation available


### Link to Source Code
https://github.com/Azanul/time-to-sync

### Permissive License
MIT

## Background 
I've always had a difficult time with proper categorisation and prioritisation of my tasks, hence, a task management application based on a framework that I prefer.

### How I built it
Used refine's auth provider, data provider and live provider APIs to connect supabase.
The app uses MUI as the primary UI framework utilizing MUI grid for presenting filterable and sortable tables.
I got to learn how to leverage RLS policies to secure APIs and to provide authorization based data fetching. It was my first time with Refine and MUI as well, I was genuinly impressed by the extensibility Refine & MUI provide.

### What is next for the project
- RLS policy based multi-tenancy
- Task assignments

### Additional Resources/Info
[RICE Prioritisation method](https://timeular.com/blog/rice-method/)
What is a Virtual Machine?
Published: 2023-07-20 22:32:48

Virtual machines(VM) as the name implies are machines that are stored in the cloud. By cloud, I don't mean the sky above. The cloud is a virtual environment that allows computing to be carried out over the internet. Imagine a computer within a computer or even better, an infinite amount of computers within a computer.

Virtual machines(VM), just like your local machines, have their CPU, memory, network interface, and storage, a virtual machine(VM) is a computer file or virtual environment that functions like an actual computer system. It is not limited to the operating system or applications of the underlying hardware that hosts it. The resources of the computer are separated from the hardware by a program known as a hypervisor, which also builds and controls the VMs.

Yes, it's time to get excited. The wonderful thing about the cloud is that you can choose the size of the virtual machine you want regardless of the size and capacity of your local system. As for cost, you only pay for what you use. nice, right?

In my next post, I will be talking about how to create a virtual machine.

Buckle up!
Flask-Migrate (SQLAlchemy) update length of String Field
Tags: flask, sqlalchemy, flaskmigrate, alembic
Published: 2023-07-20 22:17:29

I wanted to update the length of my string field model. But when I run `flask db migrate` it says:

> 
"INFO  [alembic.env] No changes in schema detected."

So here's how I updated my length of a string field in my SQLALchemy model (I used postgres for the database)


- Create an empty migration file 
`flask db revision -m "your migration message here"`.
it created a new migration file with this content:



```python
"""your migration message here

Revision ID: 24822ca23a29
Revises: c48c50454932
Create Date: 2023-07-20 23:37:28.918613

"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = '24822ca23a29'
down_revision = 'c48c50454932'
branch_labels = None
depends_on = None


def upgrade():
    pass


def downgrade():
    pass
```

according to that file, if you run `flask db current`,  it will return the down_revision value: `c48c50454932`.
And if you want to implement this specific migration file, you need to run `flask db upgrade 24822ca23a29` which is the value of `revision`


- Now, update the upgrade method with your expected string field properties.
I wanted to update field `my_field` in `tablename` table in my database. The existing length was 20, and I wanted to make it 50. Null value is not allowed in my case.

```python

def upgrade():
    op.alter_column('tablename', 'my_field',
                    existing_type=sa.String(length=20),
                    type_=sa.String(length=50),
                    existing_nullable=False)

```

- Always use downgrade method for the fallback just in case the migration doesn't work as expected.

basically, I just wanted to make the length back to the previous value. So I switched the `existing_type` and `type_` value

```python

def downgrade():
    op.alter_column('tablename', 'my_field',
                    existing_type=sa.String(length=50),
                    type_=sa.String(length=20),
                    existing_nullable=False)

```

- Run the `flask db upgrade` to implement this latest migration file in your database schema and run `flask db downgrade` to get the previous database schema.