teleren/devto huggingface dataset:
DevOps is the Philosophy, Platform is the Practice
Tags: devops, programming, management, podcast
Published: 2023-03-31 22:42:14

"DevOps is dead."

Well, not exactly. But the DevOps methodology of "you build it, you run it" has been failing development teams for years.

On this week's episode of Dev Interrupted, we sit down with Kaspar von Grünberg, founder & CEO of Humanitec. Listen as Kaspar explains the significant cognitive load placed on developers as a result of DevOps practices, how that has caused software engineering to be the only industry since Medieval times not to drive towards specialization, and why platform engineers provide a solution to the outdated DevOps model.

{% spotify spotify:episode:0wU4vwL5YPNU6o8IPiOUAw %}

## Episode Highlights:
* (2:24) What is platform engineering?
* (7:05) Should VPEs have a platform team right now?
* (11:29) Difference between SREs and platform teams
* (17:14) DevOps is dead
* (19:11) How scale affects team size
* (26:12) Standardization of the space
* (28:08) Kaspar's work at Humanitec
* (32:30) The future of platform engineering

***While you’re here, check out this video from our [YouTube channel](https://www.youtube.com/c/DevInterrupted?sub_confirmation=1), and be sure to like and [subscribe](https://www.youtube.com/c/DevInterrupted?sub_confirmation=1) when you do!*** 

{% youtube kUsWUWTbkoM %}

## Live from New York it's... Dev Interrupted!
Join the Dev Interrupted community to discuss the Silicon Valley Bank crash, how Uber's engineering team lost its way, the challenge of AI self-driving, and Kyte’s experimental product innovation playbook in this special live-streamed episode of Dev Interrupted, filmed in front of a live audience at NYC LeadDev.

Kyte’s Head of Product and Engineering, Nick Cobb, joins co-host Conor Bronsdon for this [in-depth podcast streaming](https://linearb.io/event/202304-nyc-dev-interrupted-livestream?utm_source=Dev%20Interrupted&utm_medium=Native%20Ad&utm_campaign=202304%20-%20Event%20-%20DI%20Livestream%20NYC%20-%20Podcast%20Notes) April 4th and 5th.

[Save your seat today.](https://linearb.io/event/202304-nyc-dev-interrupted-livestream?utm_source=Dev%20Interrupted&utm_medium=Native%20Ad&utm_campaign=202304%20-%20Event%20-%20DI%20Livestream%20NYC%20-%20Podcast%20Notes)

![Dev Interrupted Live from New York](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9oaceua17ncxtixgo3p1.png)
Day 726 : Friday Night
Tags: hiphop, code, coding, lifelongdev
Published: 2023-03-31 22:29:42

_liner notes_:
- Professional : Not a bad day. Added some more functionality to the proof of concept I'm building. Got to a part that I knew could possibly be a problem because what I want to do isn't supported yet. I was able to get stuff working with the help of the folks on my team working on the feature.

- Personal : Last night, I went through tracks for the radio show and bought some projects on Bandcamp. Then I went through and found all the artists' Twitter handles and put them in a document so that I could put them in a Twitter thread on Friday. Refactored some code in my side project. Then went to sleep.

![Marine Street Beach, CA, USA beach shore at sunset with waves crashing and seagulls flying by.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gtzsosh0ftao4kqxdmae.jpg)

Going to finish putting together the radio show. I don't think I'll listen to more tracks, just put together what I have already. Then, I'm going to work more on my side project. I want to work on the navigation stuff so I can add the View Transition API. Maybe I'll watch an episode of "Swarm". Going to make it a productive and early Friday night.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube aYUXWwMWbGE %}
بالعربية AWS مصادر تعلم ومتابعه
Tags: aws, arabic, learn, beginners
Published: 2023-03-31 21:45:37

## إذا كنت تبحث عن محتوى عربي متعلق بـ **خدمات أمازون السحابيه**، فإليك بعضًا من أفضل القنوات التي يجب متابعتها:



1. **[مدونة AWS Arabia](https://aws.amazon.com/ar/blogs/):**
تعد مدونة AWS Arabia مصدرًا رائعًا للمحتوى العربي المتعلق بـ AWS. يغطي مجموعة واسعة من الموضوعات ، بما في ذلك الحوسبة السحابية والتعلم الآلي والأمان والمزيد.

2.**[علي تويتر AWS Arabic الحساب الرسمي ل](https://twitter.com/awsarabic)**:
حساب AWS بالعربية على Twitter يوفر تحديثات حول الخدمات والميزات والأحداث الجديدة المتعلقة بـ AWS. 


3.**[ علي اليوتيوبAWS Arabiaقناه :](https://www.youtube.com/channel/UCItZ6qtXp6UxdE-h1lV7gkw)**
 تمتلك AWS Arabia قناة على YouTube توفر محتوى فيديو عربيًا متعلقًا بخدمات AWS وحالات الاستخدام والبرامج التعليمية.


4.**[AWS المجتمع العربي ل](https://www.awsug-ksa.com/)**: 
 مجتمع من المتحدثين باللغة العربية الذين يشاركون خبراتهم ومعرفتهم المتعلقة بـ AWS.


5.**[AWS Arabic Training](https://aws.amazon.com/training/locales/arabic/)**: تقدم AWS Arabia دورات تدريبية باللغة العربية حول موضوعات مختلفة مثل Cloud Practitioner Essentials ، والهندسة المعمارية على AWS ، والبيانات الضخمة على AWS ، إلخ.


6.**[AWS Arabic Podcast](https://aws.amazon.com/ar/podcasts/)**: لدى AWS Arabia سلسلة بودكاست باللغة العربية حيث يناقشون موضوعات مختلفة متعلقة بـ AWS مثل الحوسبة السحابية والتعلم الآلي والأمان والمزيد.

7.**[AWS SkillBuilder](https://explore.skillbuilder.aws/learn/external-ecommerce;view=none;redirectURL=?ctldoc-catalog-0=l-_ar)**:
كورسات تدريبيه من مدربين معتمدين اونلاين في تكنولوجيا AWS وبه مصادر مهمه جدا لاجتياز امتحانات **خدمات أمازون السحابيه**
🎉How SaaS client saved 74 out of 217 churned customers within 5 months
Tags: startup
Published: 2023-03-31 21:17:21


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7oclqtpyixl2w20rem1h.jpg)


**In the competitive world of SaaS, customer retention is a crucial factor in maintaining growth and stability.**

Customer churn is a major problem faced by every business. Although it is impossible to eliminate customer churn entirely, efforts can be made to reduce it.

**_First, I want to mention the common reasons for a high customer churn rate:_**

- High price
- Low-quality product compared to the description
- Poor service
- Lack of tool knowledge
- Complicated tool processes
- Extra charges
- Finding alternative products with more features
- No longer needed
- Lack of customer engagement
- Poor onboarding process

The best way to reduce churn is to first gather feedback about the problems customers are facing with your product.

**By identifying these issues,** you can address them in your next update to maintain a healthy business and prevent future customers from leaving. Feedback can be collected when users churn from your service.

**Another effective method is to use a customer retention tool,** which helps business owners reduce churn rates with automated retention flows. When a customer tries to leave your platform, the tool starts working and displays multiple offers based on your settings (subscription offers). This process can help you retain customers automatically.

### **Short Case Study!**
One of our customers achieved excellent results, saving 74 customers with an average price value of $65/month for their tool by using Churnfree, a top customer retention tool. 

**It means they have saved $4810 just paying $49/month (for 5 months total $245).**

If they hadn't been using Churnfree, they would have also lost $4,810. You can imagine that if your business is facing a high churn rate, you're losing a significant amount of money per month. Savings can vary depending on the pricing, offers, and user base of your product.

**Features like** subscription pause, subscription discount offers, and feedback collection capabilities played a pivotal role in helping the client keep their customers engaged and satisfied, ultimately changing their minds about leaving the platform. Now it's possible because of the value you provide to them!

**Now it's your turn! Try the 14-day free trial of https://churnfree.com/**

Keep in mind tackling the issue of customer churn requires a combination of strategies, including understanding the reasons behind it, gathering feedback, utilizing customer retention tools, and providing exceptional customer service.

By taking these steps, you can reduce your churn rate and create a more loyal, satisfied customer base that contributes to your SaaS business's long-term success.

**I'd love to hear what you think!**
👨‍💻 Why React Devs Are So Annoyed By Hooks 😠
Published: 2023-03-31 21:13:46

If you're a React developer, you've probably heard of Hooks. They were introduced in React 16.8 and are a way to use state and other React features without writing a class. Sounds great, right? Well, some developers have been less than thrilled with Hooks, and here's why.

🤔 The Learning Curve

For starters, Hooks have a bit of a learning curve. Developers who have been working with class components for a long time might find it hard to switch to functional components with Hooks. Plus, there are a lot of Hooks to learn: useState, useEffect, useContext, useRef, useCallback...the list goes on. It can be overwhelming!

😠 The Breaking Changes

Another reason why some React developers are annoyed with Hooks is that they can break existing code. For example, if you were using a class component and then switched to a functional component with Hooks, you might have to change your code quite a bit to get it to work. And if you're working on a large codebase, that can be a real headache.

👀 The Messy Code

Hooks can also lead to messy code if you're not careful. Because Hooks can be used multiple times within a component, it's easy to end up with a lot of stateful variables and effect calls. And if you're not careful with your naming and organization, your code can quickly become a mess.

🧐 The Debugging Challenge

Debugging can also be a challenge with Hooks. Since Hooks are just functions, you can't set breakpoints inside them like you can with class components. This can make it more difficult to figure out what's going on when things go wrong.

🤖 The Solution

So, what's the solution? Well, it's not to abandon Hooks altogether. They can be a powerful tool for React developers, and they're not going anywhere. Instead, the key is to use them responsibly and be aware of their potential downsides.

👨‍💻 Here's an example of using the useState Hook:

```
import React, { useState } from 'react';

function Example() {
  const [count, setCount] = useState(0);

  function handleClick() {
    setCount(count + 1);
  }

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={handleClick}>
        Click me
      </button>
    </div>
  );
}
```

🤖 And there you have it! A brief overview of why some React developers are annoyed by Hooks. Just remember, as with any tool, use them wisely and with caution. And always be ready to adapt and learn new things! 😎
Ts Interface vs Types
Tags: typescript
Published: 2023-03-31 21:08:02


{%- # TOC start -%}
- [Difference between Interface and Types in Typescript](#difference-between-interface-and-types-in-typescript)
  * [1. Syntax:](#1-syntax)
  * [2. Usage:](#2-usage)
  * [3. Summary](#3-summary)
{%- # TOC end -%}

## Difference between Interface and Types in Typescript.

In TypeScript, both interfaces and types are used to define the shape of an object or a function, but they have some differences in their syntax and usage.


### 1. Syntax:

Interfaces are declared using the interface keyword, followed by the name of the interface and its properties.
Types are declared using the type keyword, followed by the name of the type and its properties.

Here is an example of an interface and a type that define the same shape:

```
interface Person {
  name: string;
  age: number;
}

type Person = {
  name: string;
  age: number;
};

```


### 2. Usage:

An interface is a contract that defines the shape of an object. It specifies the names and types of properties and methods that an object must have in order to be considered a valid instance of that interface.

A type alias, on the other hand, is a way to give a name to a type so that it can be used in multiple places in your code. It's like a shortcut for a longer, more complex type.

Here is an example of using an interface to define a function parameter:

```
interface Greeting {
  message: string;
}

function greet(person: Greeting) {
  console.log(`Hello, ${person.message}!`);
}

```
### 3. Summary

In summary, both interfaces and types are used to define the shape of objects or functions, but interfaces are typically used for defining contracts while types are often used to define aliases or more complex types. Choosing which one to use depends on the specific use case and personal preference.
How to generate midjourney level images for free (forever) in cloud?
Published: 2023-03-31 21:07:21

The answer is simple you can use my [colab notebook](https://github.com/norflin321/ml/blob/main/txt2img_diffusers_example.ipynb) 😄.

Сhange any hyperparameters if needed, then run 🤗.
It takes about **40 seconds** to generate one image.

If you wanna change a model just select one from [huggingface](https://huggingface.co/models?pipeline_tag=text-to-image&sort=downloads) then paste its name into `model_id` variable.

Enjoy!
C-section incision
Published: 2023-03-31 20:53:12

A [C-section incision](https://parentsqueries.com/c-section-incision-burning/) is a surgical cut made in the abdomen and uterus to deliver a baby. The incision is typically made horizontally across the lower abdomen and is closed with sutures or staples. Proper care of the incision site is important to prevent infection and promote healing. Women may experience some discomfort, swelling, and itching at the incision site, which is a normal part of the healing process. It is important to avoid strenuous activities and follow the doctor's post-operative instructions for a smooth recovery. In some cases, women may experience complications such as infection or excessive bleeding, and it is important to seek medical attention if there are any concerns.
Garuda Linux, my perfect distro
Published: 2023-03-31 20:48:25

I have for a long time, just like many linux enthusiasts being distro hopping till I came across garuda. I have found very little content outside the official website and I think guys are not talking enough about it.
The first most fascinating thing is the KDE Dr460nized Desktop Environment. I had been quite sceptical about KDE but this one is just next level and I think I have just fallen in love


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

It is simply amazing. Garuda was intended for linux gamers so i guess that's why it has exceptionally cool graphics.
Garuda is arch-based so that means that I get to use my favorite package manager, pacman.And I can also get to say

> I use arch btw

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vpcgoovccc949j3ml3yv.png)
Garuda was made for perfomance and very easy installation as well as maintenance. The more reason you need to switch to Garuda.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/csn4wziuhu6q8hc1rw3p.png)
Unlocking Your Future in Software Development: A Beginner's Guide
Tags: beginners, programming, career
Published: 2023-03-31 20:47:51

Welcome to the exciting world of software development! Whether you're a total beginner or have dabbled in coding before, starting a career in software development can be daunting. But fear not, with the right mindset, resources, and guidance, you can turn your passion for technology into a fulfilling and rewarding career.

First things first, start by learning the basics of programming. Don't worry if you're not a math whiz or have never written a line of code before. You can find plenty of online resources that cater to different learning styles, from interactive platforms like Codecademy and Khan Academy to more traditional classroom settings like Udemy.

Once you've got the basics down, it's time to choose your area of focus. Do you want to build websites and user interfaces? You might be interested in front-end development. Do you prefer working with databases and server-side technologies? Then back-end development might be more your thing. Or maybe you want to do a bit of everything and become a full-stack developer.

Regardless of your area of focus, the key to success in software development is to build a portfolio. Create projects that showcase your skills and knowledge in software development. These can range from simple web apps to more complex systems. Share them on platforms like GitHub, LinkedIn, or your own website so potential employers or clients can see what you're capable of.

Staying up-to-date with new technologies and frameworks is crucial in the software development industry. Follow tech blogs, attend conferences, and participate in online forums and communities. This will not only keep you informed but also help you network with other developers and professionals in the tech industry.

Speaking of networking, building relationships with others in the industry can open up new opportunities, from finding your first job to getting mentorship and support from experienced developers. Attend meetups, conferences, or join online communities to meet other developers and learn from their experiences.

Finally, remember that practice makes perfect. Keep honing your skills and building projects to gain more experience. Set goals for yourself and challenge yourself to learn new things. With hard work, dedication, and a willingness to learn, you can turn your passion for software development into a successful career. So go ahead and take that first step today!
What We Learned about Self-Taught Success From Brittney Ball: CodeNewbie Podcast
Tags: codenewbie, career, podcast, beginners
Published: 2023-03-31 20:44:01

_(This post is a repost from one we did two weeks ago that got deleted!)_

Two Wednesdays ago on our podcast, [Brittney Ball](https://twitter.com/Brii_toe_knee)), Documentation Engineer at Meta, came on and discussed her journey in the tech industry with @saronyitbarek! Brittney shared her experience going from being a homeless single mom living in a shelter to a Software Engineer. She talked about her journey to get to where she is today, the role a viral tweet played in kick-starting her coding journey, tips for those who are self-taught to stand out when job searching and what a Documentation Engineer is.

Listen to the full episode below!

{% embed https://www.codenewbie.org/podcast/from-homeless-single-mom-to-software-engineer %}

After wrapping up the episode, we contemplated a handful of noteworthy insights and tips that we believe are valuable to highlight and pass along to all of you!

1. **At the end of the day, everything is always either a lesson or a blessing.**
2. **Choosing fewer new things to learn may help you focus in and persevere in the long run.**
3. **Find a community of people who can relate to what you are going through while you are developing along your career/coding journey! Community is everything.**
4. **Find a system for creating content that helps you not be overwhelmed (scheduling content is a godsend!).**
5. **Never quit opening doors for others!**

***

If you listened— what did you learn?

Send us your thoughts below and don't forget to give it a listen here or wherever you listen to your podcasts! 💜
Impersonating a google service account
Published: 2023-03-31 20:39:54

PS: this blog is not very clear, just a reminder for myself in the future, when I encounter something similar. Sorry!

- Create a google cloud project
- Enable Drive API
- Create service account credentials
- Login as admin in your domain and
- Follow the steps here:

https://developers.google.com/identity/protocols/oauth2/service-account#httprest

## install 
npm init 
npm install googleapis 
npm install google-auth-library 

create a file `index.js` and replace the email and credentials path below:  
```
const { google } = require('googleapis');
const { GoogleAuth } = require('google-auth-library');
const fs = require('fs');

async function listFiles(auth) {
  const drive = google.drive({ version: 'v3', auth });

  try {
    const response = await drive.files.list({
      pageSize: 10, // Adjust this value to control the number of files returned per request (max: 1000)
      fields: 'nextPageToken, files(id, name, mimeType)',
    });

    const files = response.data.files;
    if (files.length) {
      console.log('Files:');
      files.forEach((file) => {
        console.log(`${file.name} (${file.id})`);
      });
    } else {
      console.log('No files found.');
    }
  } catch (error) {
    console.error('Error fetching file list:', error);
  }
}

async function main() {
  const SERVICE_ACCOUNT_FILE = 'YOURCREDENTIALS.json'; // Replace with the actual path to your service account credentials JSON file

  const auth = new GoogleAuth({
    keyFile: SERVICE_ACCOUNT_FILE,
    scopes: ['https://www.googleapis.com/auth/drive'],
    clientOptions: {
      subject: 'EMAIL@DOMAIN.COM' // Replace with email to impersonate
    },
  });

  const client = await auth.getClient();
  listFiles(client);
}

main();
```

It was hard to find the right way, so that's why I wrote this blog to help myself and others!
FREE AWS Cloud Project Bootcamp Week 5 Part 6
Tags: aws, cloud, awscommunity, 100dayofcloud
Published: 2023-03-31 20:36:21

[90/100] #100DaysOfCloud Today, I completed the Week 5 of the FREE AWS Cloud Project Bootcamp by Andrew Brown.

Here's what was left that I completed:
- Implemented (Pattern E) Updating a Message Group using DynamoDB Streams. In this, I was able to start a new conversation and send a message.

This week was quite difficult and took me a lot of days to complete. I am lagging behind Week 6 as well. There was lot to implement and there were quite a lot of errors and took days to get it fixed especially because I had got help from others a bit slower. It was one hectic week. Tried solving one error and another one pops up. In the end, I am happy to complete it.

Checkout what I did for Week 5 :[GitHub](https://github.com/aaditunni/100DaysOfCloud/blob/main/Journey/090/Readme.md)

You can watch the Bootcamp through this YouTube playlist : [FREE AWS Cloud Project Bootcamp playlist](https://youtube.com/playlist?list=PLBfufR7vyJJ7k25byhRXJldB5AiwgNnWv)