teleren/devto huggingface dataset:
🌦️ Cnn Tensorflow Image Classification | Weather Image Classification 🌦️
Tags: python, convolutionalneuralnetworks, deeplearning, computervision
Published: 2023-12-29 12:46:06

Welcome to artificial intelligence and weather image prediction tutorial ! 
In this tutorial, we dive deep into Convolutional Neural Networks (CNNs) using TensorFlow and Keras to categorize weather patterns.

🔍 Key Topics Covered:

🔹 Setting up a CNN model for image classification.
🔹 Utilizing TensorFlow and Keras for efficient deep learning.
🔹 Training the model with a diverse dataset of weather images (rainy, foggy, sunny, and more!).
🔹 Plotting the training outcome, and exploring the results
🔹 Saving the best model for future predictions.

I also shared the Python code in the video description.

If you are interested in learning modern Computer Vision course with deep dive with TensorFlow , Keras and Pytorch , you can find it here  : http://bit.ly/3HeDy1V
Perfect course for every computer vision enthusiastic

Moreover , I recommend this CNN Course book for neural network lovers . follow this link : https://amzn.to/3xKqZY1

The link for the video tutorial is here : https://youtu.be/gFiISJPCpKs

Enjoy

Eran

#Python #Cnn #TensorFlow #Deeplearning #TensorFlowweatherprediction #KerasCNNtutorial #ConvolutionalNeuralNetworks #Weatherimageclassification #Deeplearningweather
[Sparta Coding Club India] Week 2 - Today I learned
Published: 2023-12-29 12:30:10


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

Understood the foundations of HTML and CSS. 
Learned the basics of the Bootstrap library.
Learned the basics of JavaScript syntax.
How to use the google font in our CSS

#spartacodingclub #India #coding #programming #webdevelopment #developer #frontend #html #css #javascript
How Accurate is Garmin Calorie Burn?
Tags: beginners, tutorial
Published: 2023-12-29 12:25:10

Curious about the accuracy of Garmin's calorie burn calculations? 🤔 Dive deeper into the intricacies of this widely-used fitness tracker's calorie-tracking system by exploring my latest blog post. From the science behind the calculations to real-world user experiences, I unravel the mysteries surrounding Garmin's calorie burn accuracy. Discover the nuances that may impact the precision of your fitness data and gain insights into making the most of your tracking journey. Don't miss out on the comprehensive exploration awaiting you in the full blog! Click the link to uncover the truth about '[How Accurate is Garmin Calorie Burn?](https://rarefleek.com/how-accurate-is-garmin-calorie-burn/)' ➡️
Personal Roadmap for becoming a better software developer in 2024
Tags: webdev, javascript, programming, react
Published: 2023-12-29 12:10:26

So, it has been a while since I last focused on self-improvement and building confidence. Despite coding for almost two years, I still struggle with imposter syndrome - that deep feeling of not being good enough. Now, what am I missing out on? I have watched countless videos and attempted to start numerous projects, but I have failed to complete them. During my seven-month internship, I used ChatGPT for most of my tasks, which is not that bad I guess. While some things worked, others did not, and I know I did not put in my best effort. Nevertheless, I am grateful for the opportunity and will always be. Did that job help me? Yes, to some extent, but I was always fearful of new tasks and not fully committed to the job. In short, what should I do now? Currently, I lack motivation to learn something new, but I hate this version of myself. I believe I have been approaching things the wrong way. So, here is a roadmap to start fresh and learn everything from scratch.

- First, I need to address the fact that my foundation is not strong enough. I will start by focusing on the basics and learning data structures and algorithms. How will I do that? Simple, by watching YouTube, but not excessively. I will primarily follow three to five channels.

- I will also review my skills in vanilla JavaScript and create new projects using only JavaScript. Additionally, I will learn DSA (Data Structures and Algorithms) with JavaScript.

- I will make an effort to improve my communication and writing skills.

- I must start solving problems on LeetCode and HackerRank as soon as possible.

- I will try to be more active on LinkedIn.

- Once I am comfortable with DSA, I will build new projects to enhance my frontend skills. I will dedicate my focus to frontend development, as I am more comfortable with it and have experience with React from my internship.

- I will also create a new portfolio, possibly using Next.js/React.

- I will invest in courses and books when I am financially stable.

Now that I have identified what I need to do to improve myself, the list above will serve as my personal roadmap. However, most importantly, it would be great if I could become more disciplined. After wasting so much time, I have come to realize that consistency is the key to becoming a better software developer. It can be achieved through having a job or coding and learning almost every day. There is simply no other way. So, my suggestion to myself is to prioritize consistency and discipline.

Happy Coding.
Weather Forecast
Tags: codepen, frontend, javascript, challenge
Published: 2023-12-29 12:06:53

Check out this Pen I made!

{% codepen https://codepen.io/safikumar00/pen/GReJQZz %}

Introducing our Weather Forecast application designed with precision and functionality. Powered by OpenWeatherMap API, this weather app seamlessly retrieves real-time temperature data for a user-specified city. The temperature is intelligently converted into Celsius for a clear and standardized presentation. Additionally, the application provides insightful details on the current weather conditions, allowing users to stay informed about their local weather effortlessly. The dynamic interface is adorned with a carefully crafted date display, leveraging JavaScript to ensure accurate and up-to-date information. Experience the convenience of Weather Forecast as it delivers a seamless blend of design, data accuracy, and user-friendly functionality, bringing the latest weather insights to your fingertips.
How I'm using Notion as a CMS to power my blog
Tags: notion, webdev, nextjs, portfolio
Published: 2023-12-29 12:01:14

So I recently set up my blog - https://blog.atchyut.dev am using Notion as a CMS so I can write my posts in Notion pages and the blog automatically picks them up and renders on the website basing on certain tags. 

You can read the full post on my [blog](https://blog.atchyut.dev). While building it, I made my own Notion blocks to JSX parser which can be found at https://github.com/theonly1me/notion-jsx.

Hope you like my blog :)
How to use Google slides API in a react project to create slide dynamically ?
Tags: help, beginners, api, react
Published: 2023-12-29 11:36:26

I have a functionality to auto generate dynamic google slides based on content from a react website on press of a button. I have all the data for generating one. But to use the google slides api in this react typescript project ?

What npm package should i use to make this possible? 

Based on some research i found out that i need to authenticate with google and then use endpoints to control slides. But there are few packages targeted for node js and not for react. I tried these packages but without proper type information and confusing documentation it is hard to pull this initial step off. Can someone point me in right direction ?
Unraveling the Differences Between Chatbots, Live Chat, Forms, and AI
Tags: chatbot, ai, webdev
Published: 2023-12-29 11:29:55

Chatbots converse, live chat connects in real-time, forms collect data, and AI adds intelligence. Find the difference between them.

In today's rapidly evolving digital landscape, businesses are constantly exploring innovative tools to enhance user engagement and streamline interactions. Among these tools, chatbots, live chat, forms, and artificial intelligence (AI) play pivotal roles, each offering distinct advantages within a comprehensive customer engagement strategy. 

**Chatbots, designed to simulate human conversation through text or voice interactions, provide a conversational and interactive experience.** These automated programs are capable of handling tasks, answering frequently asked questions, and even learning from user interactions over time. 

**Live chat, on the other hand, facilitates real-time, text-based communication between users and human agents.** It offers an immediate and personalized connection, allowing agents to handle multiple conversations simultaneously, thereby fostering a human touch in digital interactions. [Live Chat and Chatbots](https://chatclient.ai/blog/chatbot-vs-live-chat/) are the biggest competitors right now for web developers.

**Forms, meanwhile, serve as digital interfaces designed to collect structured information from users.** Structured input fields, checkboxes, and dropdowns help standardize data entry, ensuring accuracy and consistency. Forms are particularly useful for surveys, registrations, and data collection purposes.

**Artificial Intelligence (AI) serves as the backbone, enhancing the capabilities of these tools.** AI systems can make autonomous decisions, learn from experience through machine learning algorithms, and analyze user data to provide personalized recommendations and insights. This intelligence is instrumental in predictive analytics, automation, and data analysis. 

Choosing the right tool depends on the specific use case. Chatbots and live chat excel in interactive communication, forms are ideal for structured data collection, and AI augments these tools with intelligent decision-making capabilities. A holistic approach that integrates these tools ensures a seamless and effective customer experience, navigating the dynamic digital landscape with precision.
We started to approach code reviews as engineering tasks. We're merging now faster than ever
Published: 2023-12-29 11:18:11

As a team manager overseeing a group of talented developers, I'm constantly seeing the common pain points associated with code reviews and pull request management.

With a team size of approximately six developers and a broader organization comprising around 200 developers, it became evident that our existing approach was falling short.

The traditional method involved throwing PRs into the team's communication channel, resulting in the need to ping team members for reviews constantly. This approach proved to be suboptimal, with developers often experiencing unnecessary delays, and PRs occasionally being forgotten or overlooked.

**Experimenting with a New Approach**

To address these challenges, we experimented to integrate code reviews seamlessly into our daily workflow. During our daily standup meetings, we started assigning unreviewed PRs to each team member based on relevancy, code ownership, and availability. This approach aimed to make code reviews an integral part of our daily routine, ensuring that reviews were completed on time and reducing the need for continuous follow-ups and pings among team members.

**The Results and Benefits**

The implementation of our new approach yielded promising results. Developers were more proactive in completing their assigned reviews, taking ownership of their time slots, and allocating dedicated periods for code reviews. This proactive mindset expedited the review process and reduced the effort required to coordinate and ping other team members for reviews. The overall impact was a significant reduction in the time it took to merge code, enhanced collaboration, and increased team productivity.

**Seeking Further Insights**

While our new approach has shown considerable success, we believe in the power of shared knowledge and continuous improvement. We invite fellow engineering managers and developers to share their experiences and provide additional insights into reducing code merge time and improving collaboration. By fostering a community of learning and collaboration, we can collectively refine our practices and optimize the code review process.

From that experiment, we created [devoro](devoro.co). It's a simple Slack bot that sends a Daily Digest report of all open PRs before your daily standup--creating accountability between team members and reducing pickup time.

Curious to know if any other devs here adopted a similar workflow? How did it end up working for you?
BakaLLM, part 15: reaching for the stars!
Tags: machinelearning, ai, llm
Published: 2023-12-29 11:06:12

Hello, fairy dairy diary!

![The feeling when you realize XL realization was wrong](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/90r3ojrj59apagupdh8c.png)

Let's start with good news. After implementing bare minimum for [Llama*](https://github.com/ggerganov/llama.cpp/discussions/4147) I've reached loss of 3.94 after 3 epochs, which is very good, as I've got rid of ~40M parameters in the process. I didn't think much about upscaler and just padded zero from the right, figuring that normalizer will inject something, this something will play nicely with last layer.

![validation result](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iejpnj3698jdgwee5bie.png)

And training graph was also good.

![Training graph](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qx9qs6m1cev1k85zihfe.png)

Now, two bad news: a) shared mlp didn't work well after all. I tried "correcting" it with LoRA, tried different patterns  of sharing(ie. what groups of layers share what)(3 shared mlp were better than 4 different mlp for some reasons), different `dim_ff`, but while weight reduction was good, loss reduction was not that good

Second bad news is just embarrassing! For some reason during XL implementation I picked up calculated `K`, `V` for last segment for self attention from the previous layer. Why? I don't remember. `K` is  meant to hold `self.k_proj(X)`, where k_proj is a current layer. So next time, on the same layer, we don't calculate `self.k_proj(X)` again, but reuse calculation. The same applies to V. Surprisingly, it worked well enough, which shows that when you throw poo at model, it still can sieve through it somehow

I didn't notice this error until I was hit by different `dim_model` of `llama*` (here called "fan-out", 

This is why the WIP model is called `BakaLLM`, of course.

After fixing the bug, `llama*`-tweaked became better than before fixing it, so no need to pass as is K/V between layers.

Technically I'd want to test all previous mainlined architectures, but I'll just fix rmt and check the result aginst older rmt and `llama* (here known as fanout)`.

Then the on the road map is to add couple of simple upscalers(replace `x=pad(x, (0, extra_dim),value=0.0)` with `x=x 🐱 (x @ W_uscale_proj))` to fit extra space or `x=pad(x, (0, extra_dim),value=0.0) + (x @ W_uscale_proj))` to fully project x. And as the name implies, I'd lke to try "fan-in" that reduces hidden size)

Well, happy new year, chill yourself, for in global warming it's getting harder! Well, cya later, I'm recalculating 005_RMT for the next couple of days.
Postman and HTTP in Communication
Tags: postman, api, http, https
Published: 2023-12-29 11:00:42

Postman is an extensively utilized tool for API development, which simplifies the interaction between clients and servers. 

An API, also known as an Application Programming Interface, comprises a set of regulations that enable diverse software applications to exchange information. 

In this particular scenario, Postman functions as a client, serving as a means for users to transmit requests to a server and obtain corresponding responses.

HTTP, also known as Hypertext Transfer Protocol, serves as the fundamental framework for data exchange on the global network known as the World Wide Web. 

Functioning as an application layer protocol, it facilitates seamless communication between clients, including web browsers and Postman, and servers across the internet. 

HTTP establishes the guidelines for message structure and transmission, as well as the expected responses from web servers and browsers in relation to different commands.

When a client, such as Postman, initiates an HTTP request to a server, it usually contains details regarding the specific operation to be executed (e.g., GET, POST, PUT, DELETE) along with any essential data or parameters. 

Subsequently, the server handles the request and returns a response that encompasses the requested data or signifies the outcome of the operation, whether it was successful or unsuccessful.

The interaction between the client and server plays a vital role in numerous web-based applications and services. 

It facilitates the seamless exchange of information, enabling functionalities like data retrieval, form submission, information updates, and more. 

By employing HTTP, these interactions adhere to a standardized and uniform approach, promoting interoperability across diverse systems and technologies.
How to Report Messages as Spam in Gmail to Improve Your Work and Life?
Tags: spam, blog, gmail, google
Published: 2023-12-29 10:59:14

Hello My Dear Friends, Welcome to my blog post. Today I will show you how you can report messages as spam in Gmail.

Spam is a common problem that affects many email users. Spam messages are unsolicited, unwanted, and often malicious emails that clutter your inbox and waste your time. They may also contain viruses, malware, phishing links, or scams that can harm your computer or compromise your personal information.

Fortunately, Gmail has a built-in feature that allows you to report spam messages and block the senders. By doing so, you can improve your work and life in several ways. Here are some of the benefits of reporting spam messages in Gmail:

- You can reduce the amount of junk mail in your inbox and focus on the important messages that matter to you.

- You can protect your privacy and security by preventing spammers from accessing your personal or financial information or infecting your computer with malware.

- You can save time and energy by avoiding the hassle of deleting spam messages manually or dealing with the consequences of opening them.
- You can help Gmail improve its spam filters by providing feedback on the messages that you report as spam.This way, you can help Gmail identify and block similar messages in the future and make the email experience better for everyone.

So, how do you report spam messages in Gmail? It’s very easy and takes only a few seconds. Here are the steps that you need to follow:

1. Open Gmail on your computer or mobile device and sign in with your account.

2. Find the spam message that you want to report. You can either search for it using the search bar or look for it in your inbox or other folders.

3. Select the spam message by clicking on the checkbox next to it. You can select multiple messages if you want to report them all at once.

4. Click on the Report spam button on the top of the page. It looks like an exclamation mark inside a stop sign. Alternatively, you can also click on the More button (three vertical dots) and choose Report spam from the drop-down menu.

5. Confirm your action by clicking on the Report spam button again in the pop-up window that appears. This will move the message to your Spam folder and report it to Gmail.

6. Repeat the process for any other spam messages that you want to report.

**That’s it!** You have successfully reported spam messages in Gmail and improved your work and life. You can also check your Spam folder periodically and delete the messages that are stored there. Gmail will automatically delete messages in your Spam folder after 30 days, but you can also do it manually if you want to free up some space.

_Reporting spam messages in Gmail is a simple and effective way to keep your inbox clean and secure. By doing so, you can enjoy a better email experience and focus on the things that matter to you. Try it today and see the difference for yourself!_

Have a Great Day!
Why Do You Even Need Helm?
Tags: helm
Published: 2023-12-29 10:52:49

---
title: Why Do You Even Need Helm?
published: true
description: Helm Lightning Course, lesson 1
tags: helm
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-12-29 10:50 +0000
---
Welcome to the Helm Lightning Course.

In this course, you will learn the basic concepts of Helm, what is it used for and, most importantly, why you might need.

This course assumes you already know what Kubernetes is, as well some of it’s primary resource types, like Pods, Deployments, Services, ConfigMaps and Secrets. If you’ve never used Kubernetes before, you will hardly benefit from this lightning course.

Helm is a package manager for Kubernetes. This description, taken from the Helm website, doesn’t really say much. Let’s look at this from the different angle.

When you deploy an application to Kubernetes, you end up with lots of YAML files - you need a YAML file for the Deployment, for the Service, for some ConfigMaps and so on, for every object that your application needs. Of. course, you could also have all of those in a single big YAML file, but that’s not the point here.

Many of those objects depend on each other in some way or another - Service finds Pods by labels, and those labels should be the same ones configured in your Deployment’s pod template. Deployment also needs to mount correct ConfigMap, and same goes for PersistentVolumes.

Quite naturally, you want to configure many, if not all, of those objects depending on the environment - staging Deployment might have different number of replicas, and production Secret for sure will have a different database password.

In addition, you also need a simple way to rollback to a previous version, and maybe execute some hooks before and after different stages of the rollout - for example, you might need to run database migrations before deploying the new release.

Helm is the tool that solves those and few other problems. It allows you to properly template your object definitions, it gives you a set of commands to manage the releases of your application and it provides some extra advanced utilities, like aforementioned hooks.

While definitely not the only tool that solves all or some of those problems, Helm became more or less a standard for packaging Kubernetes object definitions. As a result, almost every software you want to install has an existing Helm package - called chart - that simplifies both installation and updates of this software.

This is why Helm is the package manager for Kubernetes - not only due to its features, but also because of how widespread it is. In this course, we will learn how to use it.