Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .github/workflows/cd-prod-nextjs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,5 @@ jobs:
npm run build

- name: Start Next.js
env:
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
run: |
pm2 reload all --update-env
8 changes: 3 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
/node_modules

/.next/

certificates
.next
node_modules
certificates
20 changes: 6 additions & 14 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,9 @@
node_modules/

.next/

**/images/**/*

**/*.{jpg,jpeg,png,gif,svg,webp,mp4,avi,mov,wmv,mkv,flv,webm,ogg}

src/blog_posts/

public/

.next
certificates
node_modules
**/images/**
src/blog_posts
public
.prettierignore

.gitignore

.env*
256 changes: 128 additions & 128 deletions package-lock.json

Large diffs are not rendered by default.

23 changes: 12 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,31 +1,32 @@
{
"name": "bakir-dev",
"version": "1.2.0",
"version": "1.2.1",
"private": true,
"scripts": {
"dev": "rm -rf .next && next dev --turbopack --experimental-https",
"build": "rm -rf .next && next lint && next build",
"build": "next build",
"start": "next start",
"lint": "next lint",
"prettier": "prettier --write '**/*.*'"
"prettier": "prettier --write '**/*.*'",
"update": "npx npm-check-updates -u && npm i"
},
"dependencies": {
"@heroicons/react": "^2.2.0",
"@next/third-parties": "~15.1.6",
"@tailwindcss/postcss": "^4.0.1",
"marked": "~15.0.6",
"next": "~15.1.6",
"@next/third-parties": "~15.1.7",
"@tailwindcss/postcss": "^4.0.6",
"marked": "~15.0.7",
"next": "~15.1.7",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
"devDependencies": {
"@eslint/eslintrc": "^3",
"@tailwindcss/typography": "^0.5.16",
"eslint": "^9",
"eslint-config-next": "~15.1.6",
"postcss": "^8.5.1",
"prettier": "^3.4.2",
"eslint-config-next": "~15.1.7",
"postcss": "^8.5.2",
"prettier": "^3.5.0",
"prettier-plugin-tailwindcss": "^0.6.11",
"tailwindcss": "^4.0.1"
"tailwindcss": "^4.0.6"
}
}
6 changes: 2 additions & 4 deletions src/app/links/page.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import Script from 'next/script';
import Button from '@/features/ui/components/Button';
import Form from '@/features/contact_form/components/Form';
import GitHub from '@/features/icons/components/GitHub';
import LinkedIn from '@/features/icons/components/LinkedIn';
import Twitter from '@/features/icons/components/Twitter';
Expand Down Expand Up @@ -196,13 +195,12 @@ export default function Links() {
id='contact'
className='heading2'
>
Contact Form
Contact
</h2>
<div className='mb-6'>
<p>Send me an email directly using the form below! If you prefer to send it yourself, send it to:&nbsp;&nbsp;&nbsp;</p>
<p>If you prefer emails, you can send me one to:&nbsp;&nbsp;&nbsp;</p>
<span className='!font-mono'>me (at) bakir (dot) dev</span>
</div>
<Form />
</section>
</>
);
Expand Down
2 changes: 1 addition & 1 deletion src/app/page.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ export default function Homepage() {
Let&apos;s connect! If you have any questions or you just want to chat, feel free to reach out. I&apos;m always curious about new opportunities and collaborations
</p>
<ArrowLink
href='/links#contact'
href='/links'
text='Contact me'
title='Links Page'
/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'AI Bots Crawling Websites: How Data is Used to Train Models and What It Means for the Web'
published: '2024-10-01'
summary: 'Discover how AI bots crawl websites to collect data for training machine learning models, the benefits and risks involved, and how CloudFlare is helping to regulate AI bot activity. Learn how to protect your site from unwanted bot traffic'
title: "AI Bots Crawling Websites: How Data is Used to Train Models and What It Means for the Web"
published: "2024-10-01"
summary: "Discover how AI bots crawl websites to collect data for training machine learning models, the benefits and risks involved, and how CloudFlare is helping to regulate AI bot activity. Learn how to protect your site from unwanted bot traffic"
---

## Introduction
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'Bridging the Gap: Essential Tech Skills Your CS Degree Missed'
published: '2024-07-19'
summary: 'Discover the crucial tools and techniques overlooked by most computer science programs. Learn how mastering these skills can supercharge your development career'
title: "Bridging the Gap: Essential Tech Skills Your CS Degree Missed"
published: "2024-07-19"
summary: "Discover the crucial tools and techniques overlooked by most computer science programs. Learn how mastering these skills can supercharge your development career"
---

In today's rapidly evolving tech landscape, a formal Computer Science (CS) degree provides a solid foundation but often misses critical practical skills needed in the real world. Resources like [The Missing Semester](https://missing.csail.mit.edu/) from MIT aim to fill these gaps, offering invaluable knowledge for budding full stack developers.
Expand Down Expand Up @@ -33,7 +33,7 @@ Data wrangling involves cleaning and transforming data into a more usable and re
ssh myserver journalctl
| grep sshd
| grep "Disconnected from"
| sed -E 's/.*Disconnected from (invalid |authenticating )?user (.*) [^ ]+ port [0-9]+( \[preauth\])?$/\2/'
| sed -E 's/.*Disconnected from (invalid |authenticating )?user (.*) [^ ]+ port [0-9]+( \[preauth\])?$/\2/"
| sort | uniq -c
| sort -nk1,1 | tail -n10
| awk '{print $2}' | paste -sd,
Expand Down
6 changes: 3 additions & 3 deletions src/blog_posts/cs2-dedicated-server-in-2024.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'Counter-Strike 2 Dedicated Server in 2024'
published: '2024-11-07'
summary: 'Learn how to host your own Counter-Strike 2 dedicated server with Hetzner using a straightforward and simple approach to enjoy the game with your friends!'
title: "Counter-Strike 2 Dedicated Server in 2024"
published: "2024-11-07"
summary: "Learn how to host your own Counter-Strike 2 dedicated server with Hetzner using a straightforward and simple approach to enjoy the game with your friends!"
---

If you are a fan of Counter-Strike and computers, a thought of playing on custom server with unique configurations probably crossed your mind! Well, this community guide is just for that. Here you will explore how to create and host a custom CS2 server from scratch leveraging Hetzner products.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'Embracing Privacy in the Digital Age: My Thoughts & Actions'
published: '2024-12-01'
summary: 'Tap in to the importance of privacy in the digital age. Learn how I transitioned to Linux, self-hosted services, and embraced open-source tools to reclaim my digital freedom.'
title: "Embracing Privacy in the Digital Age: My Thoughts & Actions"
published: "2024-12-01"
summary: "Tap in to the importance of privacy in the digital age. Learn how I transitioned to Linux, self-hosted services, and embraced open-source tools to reclaim my digital freedom."
---

In today’s interconnected world, privacy is a hot topic—and for a good reason. As a somebody deeply involved in technology, I continuously research how companies collect, process, and sometimes exploit user data. While some may dismiss privacy concerns as paranoia, I believe it’s a moral and practical responsibility to be aware of what’s happening under the hood of the software we use. Here’s how I’ve approached this challenge and why you might want to consider doing the same.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'Exploring Bosnian Car Registration Plates: Structure, Variations, and a Unique C++ Project'
published: '2024-07-12'
summary: 'Explore the structure and variations of Bosnian car registration plates, learn cool facts, and discover a unique C++ project that lists all possible plate variations. Check out our GitHub repository for more details.'
title: "Exploring Bosnian Car Registration Plates: Structure, Variations, and a Unique C++ Project"
published: "2024-07-12"
summary: "Explore the structure and variations of Bosnian car registration plates, learn cool facts, and discover a unique C++ project that lists all possible plate variations. Check out our GitHub repository for more details."
---

## Introduction
Expand All @@ -28,4 +28,4 @@ The plates are wide rectangular shapes with a white background and black letters

## C++ Project

I have developed a C++ program that lists all variations of Bosnian car registration plates for personal, taxi, and diplomatic cars. This project aims to help users understand the different types and structures of these plates. It can serve as a database of some sort and provides general insight into a simple C++ program. The project is available [here](https://bakir.dev/blog/exploring-bosnian-car-registration-plates-structure-variations-unique-cpp-project). You can explore the project in-depth and learn more details about the topic.
I have developed a [C++ program](https://github.com/BakirGracic/bih-registration-plates) that lists all variations of Bosnian car registration plates for personal, taxi, and diplomatic cars. This project aims to help users understand the different types and structures of these plates. It can serve as a database of some sort and provides general insight into a simple C++ program. You can explore the project in-depth and learn more details about the topic.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'Exposing Life Gurus: Why the Self-Improvement Hype is a Hoax'
published: '2024-06-14'
summary: 'Uncover the truth behind self-improvement gurus as we expose the scams and misleading promises in the pursuit of personal growth'
title: "Exposing Life Gurus: Why the Self-Improvement Hype is a Hoax"
published: "2024-06-14"
summary: "Uncover the truth behind self-improvement gurus as we expose the scams and misleading promises in the pursuit of personal growth"
---

In today’s fast-paced, ever-evolving world, the quest for self-improvement has become more than a personal journey—it's a lucrative industry. Life gurus and self-improvement personas have capitalized on the universal desire for a better life, leveraging sophisticated marketing strategies and tapping into the pain points of today's generation to accumulate wealth and gain popularity. But is the self-improvement hype all it’s cracked up to be?
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'Hackathon Adventures: Key Experiences and Takeaways from Competitions'
published: '2024-06-21'
summary: 'Dive into the world of hackathons and explore key experiences and takeaways from competitive coding events'
title: "Hackathon Adventures: Key Experiences and Takeaways from Competitions"
published: "2024-06-21"
summary: "Dive into the world of hackathons and explore key experiences and takeaways from competitive coding events"
---

Hackathons are a thrilling and intense environment where creativity, innovation, and teamwork come together under tight deadlines. Recently, I had the privilege to participate in a hackathon held in the beautiful city of Mostar, organized by BEST Mostar. This 36-hour competition was an unforgettable experience, pushing the boundaries of what I thought was possible. In this blog, I'll dive into my personal experiences, the highs and lows of the event, and the key takeaways from this competitive coding adventure.
Expand Down
6 changes: 3 additions & 3 deletions src/blog_posts/how-gdgs-bring-tech-communities-together.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'How are GDGs Bringing Tech Communities Together'
published: '2024-11-01'
summary: 'Discover the impact of Google Developer Groups and the thriving GDG community in Sarajevo. Learn about the benefits, networking, and career opportunities they offer to tech enthusiasts in local communities.'
title: "How are GDGs Bringing Tech Communities Together"
published: "2024-11-01"
summary: "Discover the impact of Google Developer Groups and the thriving GDG community in Sarajevo. Learn about the benefits, networking, and career opportunities they offer to tech enthusiasts in local communities."
---

If you're a tech enthusiast, you’ve probably heard of Google Developer Groups, or GDGs. These are globally recognized communities organized by Google that gather tech lovers, developers, designers, and everyone with an interest in the ever-expanding world of technology. They serve as a bridge, connecting like-minded individuals, sharing knowledge, and fostering innovation in local communities worldwide. With chapters in almost every major city, GDGs are truly a global force in technology.
Expand Down
6 changes: 3 additions & 3 deletions src/blog_posts/how-time-flies-reality-lifes-countdown.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'How Time Flies: Reality of Life's Countdown'
published: '2024-06-28'
summary: 'Discover more on the swift passage of time and uncover strategies to make the most of every moment. Dive into scientific insights and motivational tips that highlight the importance of valuing each second in your life's countdown.'
title: "How Time Flies: Reality of Life's Countdown"
published: "2024-06-28"
summary: "Discover more on the swift passage of time and uncover strategies to make the most of every moment. Dive into scientific insights and motivational tips that highlight the importance of valuing each second in your life's countdown."
---

Time is an elusive force, slipping through our fingers faster than we often realize. In the blink of an eye, days turn into weeks, weeks into months, and before we know it, another year has passed. This phenomenon is more than just a poetic observation; it's a reality that scientists have studied extensively. As we navigate the fast-paced currents of life, understanding how time flies can inspire us to make the most of every precious second.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'Insights from Corporate IT Jobs: Pros, Cons, and Key Takeaways'
published: '2024-05-17'
summary: 'Gain valuable insights into corporate IT jobs, including pros, cons, and key takeaways for navigating the industry effectively'
title: "Insights from Corporate IT Jobs: Pros, Cons, and Key Takeaways"
published: "2024-05-17"
summary: "Gain valuable insights into corporate IT jobs, including pros, cons, and key takeaways for navigating the industry effectively"
---

Working for a company is no easy feat and may not be suitable for everyone! However, it is a great starting point and a vast field to hone skills and gather more experience in your niche.
Expand Down
29 changes: 29 additions & 0 deletions src/blog_posts/luck-vs-fate-why-i-dont-believe-in-luck.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: "Luck vs Fate: Why I don't Believe in Luck"
published: "2025-02-01"
summary: "Exploring the philosophical distinctions between luck and fate, and why embracing fate offers a more meaningful perspective on life's events."
---

I've often pondered the forces that shape our lives. Is it luck, fate, or a bit of both? Let's dive into this philosophical debate and see why I lean towards fate over luck.

## The Misinterpretation of Luck

Over time, the concept of "luck" has been misinterpreted. People often attribute success or failure to luck, overlooking the myriad factors at play. This oversimplification diminishes the complexity of life's events.

## The Dice Roll: More Than Just Chance

Consider rolling a dice. At first glance, it seems purely random. However, factors like angle, speed, material, height, and force all influence the outcome. It's not about being "lucky" but about the precise conditions leading to a specific result.

## Randomness in Computers: Controlled Chaos

In computing, what we call "randomness" is often the result of complex algorithms. These processes, while appearing random, are deterministic. They follow predefined rules, suggesting that what we perceive as luck is actually a series of determined events.

## Luck vs. Fate in Religion

In many religious contexts, especially in Islam, the concept of luck is often replaced with fate or destiny. Everything is believed to happen by the will of the higher power, with no room for random chance. This perspective emphasizes that events occur according to a divine plan rather than by luck.

## Embracing Fate Over Luck

By attributing occurrences to fate, we acknowledge the multitude of factors influencing outcomes. This perspective encourages us to understand and appreciate the complexities of life, rather than attributing them to mere chance.

In conclusion, while the idea of luck is appealing, recognizing the role of fate provides a deeper understanding of the world. So, next time something happens, consider the intricate web of factors at play, rather than chalking it up to luck. It will change your life!
6 changes: 3 additions & 3 deletions src/blog_posts/monthly-blog-posts-new-dynamic-projects.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'Monthly Blog Posts due to New Dynamic and Projects'
published: '2024-09-05'
summary: 'I’m shifting from weekly to monthly blog posts to focus on exciting self-improvement and entrepreneurial projects. Stay tuned for insightful updates on my journey, shared every month!'
title: "Monthly Blog Posts due to New Dynamic and Projects"
published: "2024-09-05"
summary: "I’m shifting from weekly to monthly blog posts to focus on exciting self-improvement and entrepreneurial projects. Stay tuned for insightful updates on my journey, shared every month!"
---

Since starting my blog on [_May 3, 2024_](https://bakir.dev/blog/why-im-starting-this-blog-journey-into-purpose), I’ve committed to sharing insights and experiences weekly, every Friday. However, life has taken an exciting turn recently, and I’ve decided to shift my publishing schedule to monthly instead of weekly. Why the change? Let me explain...
Expand Down
6 changes: 3 additions & 3 deletions src/blog_posts/navigating-the-sea-of-llms.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'Navigating the Sea of LLMs'
published: '2025-01-01'
summary: 'It is essential for tinkerers interested in technology to explore the topic of AI and large language models (LLMs). Let's delve into the current state of AI providers and share valuable insights.'
title: "Navigating the Sea of LLMs"
published: "2025-01-01"
summary: "It is essential for tinkerers interested in technology to explore the topic of AI and large language models (LLMs). Let's delve into the current state of AI providers and share valuable insights."
---

I saw a post from someone asking their followers to help them choose between ChatGPT and Gemini. Of course, they were likely doing it for engagement and the algorithm. But seeing other comments, I felt confident enough to leave mine. It wouldn’t hurt, as I’m actively building my personal brand.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'PocketBase: The Future of Lightweight Backends for Modern Web Development'
published: '2024-08-09'
summary: 'Discover PocketBase, the open-source, lightweight backend solution transforming web development. Learn about its features, ease of use, and potential to revolutionize the backend niche'
title: "PocketBase: The Future of Lightweight Backends for Modern Web Development"
published: "2024-08-09"
summary: "Discover PocketBase, the open-source, lightweight backend solution transforming web development. Learn about its features, ease of use, and potential to revolutionize the backend niche"
---

In today's fast-paced web development environment, having a backend that's both reliable and flexible is essential. This is where **PocketBase** steps in. An open-source, all-in-one backend solution, PocketBase is quickly gaining popularity among developers. Whether you're working on a complex application or a simple prototype, PocketBase offers a streamlined and straightforward alternative to more intricate backend services like Firebase.
Expand Down
6 changes: 3 additions & 3 deletions src/blog_posts/stack-overflow-survey-2024-future-tech.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 'Stack Overflow Developer Survey 2024: Future of Tech'
published: '2024-08-23'
summary: 'Discover the key insights from the 2024 Stack Overflow Developer Survey. Explore trends in AI adoption, programming languages, and technical debt management, and learn how hybrid work models and job satisfaction are shaping the future of the tech industry'
title: "Stack Overflow Developer Survey 2024: Future of Tech"
published: "2024-08-23"
summary: "Discover the key insights from the 2024 Stack Overflow Developer Survey. Explore trends in AI adoption, programming languages, and technical debt management, and learn how hybrid work models and job satisfaction are shaping the future of the tech industry"
---

The tech world is evolving at an unprecedented pace, and the 2024 [Stack Overflow Developer Survey](https://survey.stackoverflow.co/2024/) offers a comprehensive snapshot of where the industry stands today. With over 65,000 developers participating from 185 countries, this year's survey uncovers key insights into the tools, trends, and challenges shaping the developer community. If not yet, I encourage you to leave your review, you won't regret it.
Expand Down
Loading