Skip to content

Commit

Permalink
Merge branch 'main' into ruby-on-rails-polymorphic-assoc-benefits
Browse files Browse the repository at this point in the history
  • Loading branch information
2KAbhishek committed Jan 8, 2024
2 parents 1f2bb47 + 42a5519 commit 2e01724
Show file tree
Hide file tree
Showing 87 changed files with 1,020 additions and 528 deletions.
9 changes: 4 additions & 5 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
name: github pages
name: Deploy GitHub Pages

on:
push:
branches:
- main # Set a branch to deploy
pull_request:
- main

jobs:
deploy:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
submodules: true
fetch-depth: 0

- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Prettier Lint

on:
pull_request:
branches: [main]

jobs:
prettier:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
fetch-depth: 0

- name: Prettify code
uses: creyD/prettier_action@v4.3
with:
dry: True
prettier_options: --check **/*.md
only_changed: True
2 changes: 1 addition & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"bracketSpacing": false,
"overrides": [
{
"files": ["*.html", "*.json", "*.yaml", "*.yml"],
"files": ["*.html", "*.md", "*.json", "*.yaml", "*.yml"],
"options": {
"tabWidth": 2
}
Expand Down
43 changes: 21 additions & 22 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

## Writing Best Practices

- Write one sentence per line. [Read more](https://sive.rs/1s)
- Make sure to add a beginning and a conclusion.
- Try to talk about the problem before presenting the solution.
- Run your article through a spellchecker and/or [grammarly](https://app.grammarly.com/) for possible typos.
- Make sure your Markdown code is properly formatted, using a formatter like prettier is recommended.
- Run `hugo serve` after making changes to verify the changes on your local.
- Write one sentence per line. [Read more](https://sive.rs/1s)
- Make sure to add a beginning and a conclusion.
- Try to talk about the problem before presenting the solution.
- Run your article through a spellchecker and/or [grammarly](https://app.grammarly.com/) for possible typos.
- Make sure your Markdown code is properly formatted, using a formatter like prettier is recommended.
- Run `hugo serve` after making changes to verify the changes on your local.

# Naming Conventions

Expand All @@ -17,33 +17,32 @@

Use standard nouns as `prefix` to categorize the branch, e.g:

- article : The branch only includes blog related changes such as adding/editing an article
- feature : When a new feature is to be added such as dark mode to our website
- bugfix/hotfix : The purpose is to simple fix a bug that has sipped in
- article : The branch only includes blog related changes such as adding/editing an article
- feature : When a new feature is to be added such as dark mode to our website
- bugfix/hotfix : The purpose is to simple fix a bug that has sipped in

### Tips:

- The branch name should be short and able to convey the objective of the changes
- We'll follow the use of `/`(slash) delimiter between the category and branch motive
- Branch names should be hyphenated, they should be in `lower-kebab-case`
- For example, if the goal is to add a blog on ElasticSearch, the branch name can be — `article/why-elastic-search`
- The branch name should be short and able to convey the objective of the changes
- We'll follow the use of `/`(slash) delimiter between the category and branch motive
- Branch names should be hyphenated, they should be in `lower-kebab-case`
- For example, if the goal is to add a blog on ElasticSearch, the branch name can be — `article/why-elastic-search`

### What to avoid:

- Long names
- Only numerals
- Full sentences
- Long names
- Only numerals
- Full sentences

These branches should be deleted as soon as the branch is merged to `main`.

## PR Naming Convention

- To keep a better track of blogs and filter them quickly, two things can be done:
- Add a prefix `Article: foo bar` to the title of the PR
- Add the label `article` to your PR
- To keep a better track of blogs and filter them quickly, two things can be done:
- Add a prefix `Article: foo bar` to the title of the PR
- Add the label `article` to your PR

## Commit messages convention

- We'll follow category naming convention similar to what is explained for branches.
- Here's a quick rundown — [Standard Terminology](https://gist.github.com/turbo/efb8d57c145e00dc38907f9526b60f17)

- We'll follow category naming convention similar to what is explained for branches.
- Here's a quick rundown — [Standard Terminology](https://gist.github.com/turbo/efb8d57c145e00dc38907f9526b60f17)
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,15 @@ git clone --recurse-submodules https://github.com/incubyte/incubyte.github.io.gi
cd incubyte.github.io
hugo server -D
```

The blog should now be live at http://localhost:1313

To add a new article

```bash
hugo new blog/article-name.md`
```

If you are adding images make sure they are optimized, we suggest something like `https://squoosh.app/`, images are stored in `static/images`

Commit in a new branch and create PR against `main` branch
Expand Down
2 changes: 1 addition & 1 deletion config/_default/languages.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ footer_menu_middle = "Services"
footer_menu_right = "Contact Us"
footer_content = "Crafting Software Products For Today and Tomorrow."
# copyright
copyright = "© 2022 Incubyte. All rights reserved."
copyright = "© 2024 Incubyte. All rights reserved."
2 changes: 1 addition & 1 deletion content/_index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
---
url: blog
url: blog
---
4 changes: 2 additions & 2 deletions content/authors/abhishek-keshri/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Abhishek Keshri
image: '/authors/abhishek-keshri/abhishek.jpg'
subtitle: "Software Craftsperson @Incubyte 💼 | Learner 📚 | Maker 👨🏻‍💻 | Explorer 🔎"
image: '/authors/abhishek-keshri/abhishek.jpg'
subtitle: 'Software Craftsperson @Incubyte 💼 | Learner 📚 | Maker 👨🏻‍💻 | Explorer 🔎'
---

Passion Driven Software Craftsperson with a strong affinity for OSS and the CLI.
Expand Down
1 change: 0 additions & 1 deletion content/authors/akshay-vadher/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
title: Akshay Vadher
image: '/authors/akshay-vadher/akshay-vadher.jpg'

---

<img src="/authors/akshay-vadher/akshay-vadher.jpg" alt="Akshay Vadher profile" width="150"/>
Expand Down
2 changes: 1 addition & 1 deletion content/authors/arohi-parikh/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Arohi Parikh
image: '/authors/arohi-parikh/arohi.jpg'

---

Operations [@incubyte_co](https://twitter.com/incubyte_co) | Community Builder [@swcraftindia](https://twitter.com/swcraftindia) | Conscious Human | Words: "Leave the world better than you found it"
4 changes: 2 additions & 2 deletions content/authors/jaymin-shah/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Jaymin Shah
image: "/images/favicon.png"
subtitle: "Software Craftsperson in Training at Incubyte"
image: '/images/favicon.png'
subtitle: 'Software Craftsperson in Training at Incubyte'
---

To be added soon.
4 changes: 2 additions & 2 deletions content/authors/karishma-shah/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Karishma Shah
image: "/images/favicon.png"
subtitle: "Handles Finance at Incubyte"
image: '/images/favicon.png'
subtitle: 'Handles Finance at Incubyte'
---

To be added soon.
5 changes: 5 additions & 0 deletions content/authors/pranita-aitwadkar/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Pranita Aitwadkar
image: '/images/favicon.png'
subtitle: 'Quality Craftsperson at Incubyte'
---
1 change: 1 addition & 0 deletions content/authors/rushali-parikh/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
title: Rushali Parikh
image: '/authors/rushali-parikh/rushali.jpg'
---

Co-founder of [@incubyte_co](https://twitter.com/incubyte_co) | Co-organizer of Software Craftspeople - India | Product Enthusiast | Dedicated to making clean coding practices accessible
7 changes: 4 additions & 3 deletions content/authors/sapan-parikh/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: Sapan Parikh
image: "/images/favicon.png"
subtitle: "Co-founder and Software Craftsperson at Incubyte"
image: '/images/favicon.png'
subtitle: 'Co-founder and Software Craftsperson at Incubyte'
---
A tech evangelist and mentor, Sapan has been fuelled by two things in his 15+ year professional career; coffee and his love of designing self-motivated, high-performing and passionate software engineering teams. Being a software craftsperson at heart, he has created and coached teams of over 500 software developers spread across the US and India with the sole objective of forging exceptional software products with an unfettered focus on quality.

A tech evangelist and mentor, Sapan has been fuelled by two things in his 15+ year professional career; coffee and his love of designing self-motivated, high-performing and passionate software engineering teams. Being a software craftsperson at heart, he has created and coached teams of over 500 software developers spread across the US and India with the sole objective of forging exceptional software products with an unfettered focus on quality.
2 changes: 1 addition & 1 deletion content/authors/sutirtha-das/_index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Sutirtha Das
image: '/authors/sutirtha-das/sutirtha.jpg'
subtitle: "Software Craftsperson @Incubyte | Reader | Writer | Developer"
subtitle: 'Software Craftsperson @Incubyte | Reader | Writer | Developer'
---
4 changes: 2 additions & 2 deletions content/authors/utsav-parmar/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Utsav Parmar
image: "/images/favicon.png"
subtitle: "Software Craftsperson at Incubyte"
image: '/images/favicon.png'
subtitle: 'Software Craftsperson at Incubyte'
---

Developer | Co-organizer at [@swcraftindia](https://twitter.com/swcraftindia) | Trying to change the world one PR at a time
2 changes: 1 addition & 1 deletion content/blog/_index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
# meta description
draft: false
url: "/"
url: '/'
---
11 changes: 9 additions & 2 deletions content/blog/a-developers-daily-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,40 +16,47 @@ But what about little things you can do to improve your daily work? All you need
Ask yourself these questions at the end of the day every day.

### 1. Did I create an item in the todo list?

You have completed your morning errands, and your hands are itching to start coding, but wait! Are you supposed to reply to some emails? Or complete that blog that you were writing? Or summarize last night's call and make some technical decisions based on it? All of these things are the ones that fall through the cracks. As a developer, it's essential to be organized. There are a zillion things "you will do later." Make them part of your todo list, and then mark them off. Give Todoist a try. There is a rumor going that checking things off of your todo list releases Dopamine :-)

### 2. Did I check my calendar?

Thank god you are past your todos, and you are all ready to start coding that shiny new feature. But you are not done yet. You have to check your calendar and see if you have any important events. If you have, then you have to make sure that you are on the right track.
Checking and organizing the calendar along with your TODO list should be the first thing as you start your day. It's crucial in the world of remote working, there will be people waiting for you on calls, or you will miss something vital because you could not join a call. Make a mental note of how your day is going to look based on your calendar.
If your calendar is primarily empty, then go ahead and book your lunchtime on it!

### 3. Did I write a test?

For many, writing tests and writing production code has no difference. Production code gets written alongside tests. But if you don't do it already, try it.
It will make your life stress-free in the long run, and seeing your tests pass one by one will give you the pleasure of success every time.

### 4. Did I think before naming my variables, classes, functions?

Now you have done it. You have reached the point where you start coding. You are in your flow, adding lines after lines of code. But you can't be sure that you have thought before naming each of the variables, classes, functions.
No matter how small it may sound, this one thing will make you and your teammates extremely happy. See, this is what makes you a better human being :-) you are already thinking about others, people who will read your code.
This principle is just a tiny part of clean coding practices and signifies just one of them, but the point is to learn and apply all of them to your code.


### 5. Did I automate something that I did three or more times?

One trade-off of being a developer is getting caught in a spiral of monotonous, repetitive tasks. That leads to general unhappiness about your work. You have an opportunity to change that. Ask yourself, "Have I done this already three or more times?" If the answer is yes, then think about ways of automating it. Automation can range from sending emails to encapsulating code you find yourself writing over and over again.
Believe it or not, you can send emails automatically by using Zappier or Microsoft Flow. We do it, and you should too!

### 6. Did I make a note?

Wait, what! Notes? Isn't that something managers do? They do, but capturing the details of what you need to do, like thoughts on architecture while coding or even an execution plan, goes a long way. Numerous things come to our mind, either as part of team meetings or simply during showers. If you didn't note that thought down, it would be part of those thousands of things you thought of but never got to.
Often, you may take shortcuts while coding, note them down, revisit the notes, create work items from there, and fix the technical debt you created!

### 7. Did I commit and push something?

Now you have created the new shiny feature with the cleanest possible code, the Monalisa! Were you able to commit and push it?
Understandably, you can't push something every day. But as developers, we must strive to create stories so small that we can do commits and push every day. These practices will promote frequent releases, smaller changes, and lower risks. Of course, all of this works well if you have looked into our [project kickoff checklist.](https://blog.incubyte.co/blog/kickstart-checklist/)

### 8. Did I create a diagram?
Creating diagrams can help you clear your thoughts in terms of software architecture or simply workflows. One more advantage, others can refer to it!

Creating diagrams can help you clear your thoughts in terms of software architecture or simply workflows. One more advantage, others can refer to it!

### 9. Did I read a book?

Finally, your day is over, and you are ready to go to bed. How about squeezing 10 minutes of reading?
You are consuming content all the time, blogs, videos, tweets, though books are different. It allows you to choose what you want to learn deliberately. Also, the book got printed and made in your hand, which may mean the author has some authenticity on the subject and can deliver some value instead of some random tweet pushed to you.
Sure, you can not read a book every day, but we mean spending 10 to 15 minutes every day doing so. Once again, 1% investment in yourself every day.
1 change: 0 additions & 1 deletion content/blog/acclerate-metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ tags = ["Modernization", "Book Review"]
title = "Accelerate: Metrics that Define High-Performance Software Delivery"
+++


Accelerate by Nicole Forsgren, Jez Humble, and Gene Kim was released in 2018, and it changed how I think about software delivery.

Who really is responsible for the software delivery business or engineering? The book summarizes years of research of the State of DevOps Reports and presents four key metrics to measure software delivery performance. Each measure balances the other in such a way that an organization can perform well only if business and engineering work hand in hand, and it's hard for someone to cheat the system!
Expand Down
Loading

0 comments on commit 2e01724

Please sign in to comment.