teleren/devto huggingface dataset:
Starting a new chapter
Tags: programming, productivity, python, blog
Published: 2023-02-17 01:22:12

Hi, everyone! 👋

I am very glad to be part of this community. Let me introduse myself. 

I am Răzvan, self-taught software developer based in Romania. The programming languages that I am working with are JavaScript, Python, Swift, MongoDB, PostgreSQL, SQLAlchemy and Odoo. 

I decided to start a blog here where to talk about my experience in learning programming by myself, giving advices, talking about subjects like: “How did I get my first job?” “What do I think it’s important for a Software Engineer”, “Which programming language is the best and why?” and topics like: “Programming”, “Coding”, “New Technologies” and many many others. 

I hope my future posts will help new software developers or even new developers to find another perspective or even to inspire them! 

Also you can find me on my instagram! I didn’t post for a long time but I am thinking to coming back to my community! Link to my instagram -> https://instagram.com/rzv.dev?igshid=YmMyMTA2M2Y=

Good luck and I hope you’ll never get bugs in your code! 🫶🏻
Deploy playwright on Heroku
Tags: playwright, heroku, node
Published: 2023-02-17 01:52:39

I found a solution to use playwright on Heroku, since the [playwright buildpack](https://github.com/playwright-community/heroku-playwright-buildpack) is outdated.

**Note**
This is for someone who is still getting below error even you installed buildpack to Heroku
```
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers:              ║
║                                                                         ║
║     npx playwright install                                              ║
║                                                                         ║
║ <3 Playwright Team                                                      ║
╚═════════════════════════════════════════════════════════════════════════╝
```

In short,

Add these 2 buildpack (The order is really important, apt should be first):
![Buildpacks](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7bf09dvi6ncy8bzsehbx.png)


Add `Aptfile` at same as `Procfile` if you have one:
```
libgtk-3-0
libasound2
libxcomposite1
libxdamage1
libxfixes3
libxrandr2
libxtst6
libatk1.0-0
libdbus-glib-1-2
libwayland-server0
libx11-xcb1
libxcursor1
libxi6
```

(Optional if you not already doing)
Add engines (`package.json`):
```json
  "engines": {
    "node": "16.x",
    "yarn": "1.x" // Could be npm, choose for your environment
  },
```

That's it.
Saucy
Tags: product, webapp
Published: 2023-02-17 01:48:44


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


Saucy is (Diversity x Infinity) ^ ∞. Join the SaucyFam today! Get started & subscribe @ [https://sau.cy](https://sau.cy)

Saucy delivers infinite values to you for any price you want monthly, weekly, or daily. There are infinite reasons to love Saucy and want to subscribe to it, which ultimately you can find yourself. In every small & major update, Saucy continues to find imaginative ways to bring new things to Saucy as a platform. Saucy is the most powerful force in the universe. Anything & everything imagined can happen here. Never doubt its power. Always fear its potential.

I believe the values we consume are too expensive. Saucy is $10/month, week, or day minimum, up to $1 million. Why? It delivers infinite value, and you decide what price you want to pay for it.

Netflix is $10/month, and going to Walt Disney for a day might cost you $150 or so for a 1 day pass for yourself. These things people do all the time, but I believe Saucy is a much more efficient and better way of living life.
Securing Your S3 Buckets with Powerful Monitoring Tools
Tags: security, devops, aws, s3
Published: 2023-02-17 01:02:39





With the amount of data stored on cloud storage systems like Amazon S3, security is of paramount importance. It is essential to ensure that no malicious actors can access your data, and that any access is monitored and tracked. This can be done through the use of powerful monitoring tools. These tools can detect any unauthorized access, as well as provide detailed logs of who accessed what data and when. In addition, they can also alert you to any suspicious activity, allowing you to take immediate action.

In this post, we will look at some of the most popular monitoring tools for S3 buckets, their features, and how to set them up.

## Popular Monitoring Tools

The following tools are the most popular for monitoring S3 buckets:

- AWS Cloudwatch
- CloudSploit
- Sumo Logic
- Splunk

### AWS Cloudwatch

Cloudwatch is Amazon's all-in-one monitoring tool. It provides a wide range of features, including real-time monitoring of S3 buckets, detailed logs, and alerting functions. It can also provide graphical representations of your data, making it easier to analyze.

### CloudSploit

CloudSploit is a cloud-based security scanning tool. It can scan your S3 buckets for various security issues, such as unauthorized access, weak encryption, and misconfigured access control. It also offers detailed logs and alerting functions.

### Sumo Logic

Sumo Logic is a cloud-based log analytics tool. It can monitor and analyze your S3 buckets in real-time, and provide detailed logs of who accessed what data and when. It also offers alerting functions, allowing you to take immediate action when needed.

### Splunk

Splunk is a cloud-based log analysis tool. It can monitor and analyze your S3 buckets in real-time, and provide detailed logs of who accessed what data and when. It also offers alerting functions, allowing you to take immediate action when needed.

Read More
[Securing Your S3 Buckets with Powerful Monitoring Tools ](https://www.bitslovers.com/securing-your-s3-buckets-with-powerful-monitoring-tools/)
"What the hell were they thinking?"
Tags: github, git, productivity, programming
Published: 2023-02-17 00:37:46

"The hardest part of code reviews is figuring out what the hell they were thinking." I used to think commit messages were good enough, but there's too much noise on every platform that enables code reviews - #github, #gitlab, #bitbucket ...even newer start-ups don't solve the problem without you doing more work...
How to filter SharePoint List Calendar Views?
Tags: sharepoint, sharepointonline
Published: 2023-02-17 00:27:58

Here is a simple way to set filters for List **Calendar Views**.
I have this scenario where I have a global holiday list storing holidays of different countries.

The users want a **separate calendar for some countries**, for example in this scenario, a calendar showing only China holidays. Notice there is no 'filter' option here on creation.

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

Once the list is created, on the top right corner is a 'Filter' function, we would intuitively think allow us to filter easily. That is however not the case.

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

---


Here's how to do it.

On the top right corner, click **'Settings'**, then **'List Settings'**.

![List Settings](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7cfr8lp6qzomlxpd3s5w.png)

Scroll down to the **'Views'** section.
Click on your specific view, in this case 'China Holidays' view.


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

Scroll down to the **'Filter'** section and here is where you can specify your filter!

![Filter](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dh9u66zrzjfjrs4ggezt.png)
Trigger webhooks on database changes 🛎️ ⚡️
Tags: opensource, postgres, go, react
Published: 2023-02-17 00:25:22

We built an [open source tool](https://github.com/inqueryio/inquery) that brings real-time functionality to Postgres.

Many of the modern database platforms (Firebase, DynamoDB, Hasura, Supabase) offer some pretty awesome features; however, most teams are running their relational databases in AWS RDS (or a similar cloud offering). As a result, they’re left with a few choices: migrate their existing database to a new platform, build these capabilities out internally, or (most commonly) don’t take full advantage of the database.

Our utility for Postgres triggers webhooks when rows are inserted, updated, or deleted. It uses database triggers that send websocket messages to a Go application. This application then calls any configured webhooks with a JSON payload that includes specified values from the database row.

[![Inquery Data Flow](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uc4f5i6wy9opvakpispy.png)](https://github.com/inqueryio/inquery)

### Use Cases

- Send notifications: Slack, Email, Text Message, Push Notification
- Call serverless functions: AWS Lambda, Google Cloud Functions, Azure Functions
- Trigger analytics events: Segment, Mixpanel, Amplitude
- Stream data real-time: Snowflake, BigQuery, Clickhouse, Redshift

Thanks for reading! I'd love any feedback or ideas - feel free to reach out!

🐱 [Github](https://github.com/inqueryio/inquery)
🦜 [Twitter](https://twitter.com/inqueryio)
🌐 [Website](https://inquery.io)
✉️ [Email](hey@inquery.io)
Push notifications on safari mobile
Tags: pwa, apple, safari
Published: 2023-02-17 00:22:21

---
title: Push notifications on safari mobile 
published: true
description: 
tags: pwa, apple, safari, discuss
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-02-17 00:20 +0000
---

We have push notifications on safari (iPhone and iPad) with 16.4 beta 1. Will PWAs be back?

![Safari push notification api](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/efm5j8q70qij8j0z7623.jpeg)
Fragment: getContext vs requireContext
Tags: android, kotlin, java
Published: 2023-02-17 00:16:22

**TLDR: use requireContext only when you are sure fragment is attached to its host(onResume, onViewCreated, etc).**

## The problem

![getContext vs requireContext](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aj3bcgbd1yptiv9mbwrc.png)

Android team annotated some sdk methods with NonNull and Nullable in support library in 27.1.0. That change leads to warnings and errors like on the picture above.

## Why did they do this?

At first sight it looks like adding more and more pain to android apps development. But actually this annotations help us to decrease crash rate.

getContext can return null when fragment isn’t attached to its host. Let’s take a look at two examples.

```Java
@Override
public void onResume() {
    super.onResume();
    Resources resources = getContext().getResources();
}
```

First sample shows us that as long as fragment is attached to its host(in onResume for example) it’s safe to use getContext without nullability checking.

```Java
@Override
public void onResume() {
    super.onResume();
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            final Resources resources = getContext().getResources();
        }
    }, TimeUnit.SECONDS.toMillis(5));
}
```

The second one reveals potential NullPointerException. If after 5 seconds fragment isn’t attached to host, app is crashed.

So getContext Nullable annotation can prevent bugs like in the second sample. But it causes a useless warning in the first sample in Java and an error in Kotlin.

## How should we fix this?

Firstly we should fix potentials bugs.

1. Find all places where fragment can be detached at some point of time
2. Change code like in the sample below

In Java:

```Java
Context context = getContext();
if (context == null) {
    // Handle null context scenario
} else {
    // Old code with context
}

```

In Kotlin:

```Kotlin
val context: Context = this.context ?: return // or if block
```

Finally replace the rest with requireContext() which returns NonNull Context instead of getContext(). But keep in mind that requireContext() will throw an exception if fragment isn’t attached to its host. So you should use requireContext() with respect to fragment lifecycle.

## Wrong fixes

In Java:

```Java
1.
// requireContext() does the same
Context context = getContext();
if (context == null) {
    throw new IllegalStateException("");
}

2.
// Warning supressing only hides the real problem
private void doSomething(@NonNull final Context context) {
}

@Override
public void onResume() {
    super.onResume();

    //noinspection ConstantConditions
    doSomething(getContext());
}
```

In Kotlin:

```Kotlin
// It is similar to requireContext() but with NullPointerException
val context: Context = context!!
```

## Other similar methods

1. getActivity vs requireActivity
2. getHost vs requireHost
3. getFragmentManager vs requireFragmentManager
Networking on AWS - Part 1
Published: 2023-02-14 19:47:58

Networking on AWS is an essential topic for anyone looking to create and deploy applications in the cloud. It is an essential component of any AWS deployment, and it is critical that you have a good understanding of how it works, what options are available, and how to configure it to meet your needs.

In this blog post, we will take a closer look at networking on AWS, starting with the basics.

Amazon Virtual Private Cloud (VPC)

The Amazon Virtual Private Cloud (VPC) is the foundation for networking on AWS. It is a virtual network that provides complete control over your network configuration. You can customize your VPC by creating subnets, configuring route tables, and setting up security groups.

Subnets

A subnet is a range of IP addresses in your VPC. Each subnet must be associated with a route table that controls the traffic flow between subnets.

Route Tables

A route table is a set of rules that determines where network traffic is directed. You can configure your route tables to send traffic to the internet or to other subnets within your VPC.

Security Groups

Security groups act as a virtual firewall that controls inbound and outbound traffic to and from instances in your VPC. You can configure security groups to allow traffic from specific IP addresses or other security groups.

Internet Gateway

An internet gateway allows instances within your VPC to connect to the internet. It is an essential component if you want to deploy applications that require internet access.

Elastic IP Address

An Elastic IP address is a static IP address that you can associate with an instance in your VPC. This allows you to maintain the same IP address even if you stop and start the instance.

In conclusion, AWS networking is an essential component of any deployment in the cloud. Understanding the basics of VPCs, subnets, route tables, security groups, internet gateways, and elastic IP addresses is critical to ensuring that your applications are secure, reliable, and performant. In the next part of this series, we will take a closer look at how to set up and configure a VPC in AWS.
Content & Tooling Team Status Update
Tags: puppet, content
Published: 2023-02-17 18:58:53

---
title: Content & Tooling Team Status Update
published: true
date: 2023-02-17 00:00:00 UTC
tags: puppet, content
canonical_url: https://puppetlabs.github.io/content-and-tooling-team/blog/updates/2023-02-17-status-update/
---

## Hello

Hey all!

Not much to say this week, we’ve all just been working along in the background progressing on our backlogs, so this blog is gonna be kept short and sweet.

Anyway, gonna get back to it, I hope you’ve all had a great week and we hope to have more to tell you next time!

## Community Contributions

We’d like to thank the following people in the Puppet Community for their contributions over this past week:

- [`puppetlabs-apache#2385`][puppetlabs-apache-pr-2385]: “Fixes mod::proxy allow\_from parameter inconsistency #2352”, thanks to [pebtron][pebtron]
- [`puppetlabs-apache#2384`][puppetlabs-apache-pr-2384]: “Fix example code for apache::vhost::php\_values”, thanks to [gcoxmoz][gcoxmoz]
- [`puppetlabs-postgresql#1400`][puppetlabs-postgresql-pr-1400]: “deprecate old code managing sysconfig files”, thanks to [SimonHoenscheid][SimonHoenscheid]
- [`puppetlabs-postgresql#1399`][puppetlabs-postgresql-pr-1399]: “convert ERB templates to EPP”, thanks to [SimonHoenscheid][SimonHoenscheid] and the following people who helped get it over the line ([ekohl][ekohl])
- [`puppetlabs-postgresql#1396`][puppetlabs-postgresql-pr-1396]: “Cleanup Systemd drop-in file handling”, thanks to [SimonHoenscheid][SimonHoenscheid]
- [`pdk#1207`][pdk-pr-1207]: “Add Puppet validator for plans”, thanks to [jay7x][jay7x]
- [`pdk-templates#494`][pdk-templates-pr-494]: “(maint) Updates checkout action”, thanks to [mhashizume][mhashizume]
- [`puppet-lint#84`][puppet-lint-pr-84]: “Correct typo on index”, thanks to [davidsandilands][davidsandilands]
- [`puppet-lint#76`][puppet-lint-pr-76]: “Updating doc links to centre on puppet-lint to work on githubpages”, thanks to [davidsandilands][davidsandilands] and the following people who helped get it over the line ([ekohl][ekohl])

## New Module / Gem Releases

The following modules were released this week:

- [`puppetlabs-concat`](https://github.com/puppetlabs/puppetlabs-concat) (`7.3.1`)

- [`puppetlabs-apache`](https://github.com/puppetlabs/puppetlabs-apache) (`9.1.2`)

- [`puppetlabs-iis`](https://github.com/puppetlabs/puppetlabs-iis) (`9.0.0`)

- [`puppetlabs-service`](https://github.com/puppetlabs/puppetlabs-service) (`2.3.1`)
Can Value Stream Management Solve DevOps‘ Struggles?
Tags: devops, programming, productivity, podcast
Published: 2023-02-16 23:41:58

A decades-old physical goods manufacturing concept is being applied to modern dev teams with great results. What can software development learn from the past?

Value Stream Management (VSM) has been a focus of business and manufacturing for years but big tech has only recently taken notice.

Steve Pereira, a.k.a. "The VSM Guy", joins us to talk about what engineering leaders can learn from VSM, its impact on individual and team workflow, how it differs from Agile and DevOps, and why its emphasis on the creation and delivery of value represents an opportunity for dev teams everywhere.

{% spotify spotify:episode:08p57ch0ofvCn2k6Qgqcow %}

## Episode Highlights:
* (2:28) What is Value Stream Management?
* (9:03) How can engineering managers apply VSM to their org?
* (17:26) Applying VSM to individual contributors
* (23:36) DevOps vs VSM
* (30:49) Mapping
* (36:23) Intentionally engineering flow

***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 VOF4KxlV4go %}

### Want to cut code-review time by up to 40%? Add estimated review time to pull requests automatically!
*gitStream is the free dev tool from LinearB that eliminates the No. 1 bottleneck in your team’s workflow: pull requests and code reviews. After reviewing the work of 2,000 dev teams, LinearB’s engineers and data scientists found that pickup times and code review were lasting 4 to 5 days longer than they should be.* 

*The good news is that they found these delays could be eliminated largely by adding estimated review time to pull requests!*

### Learn more about how gitStream is making coding better [HERE](https://linearb.io/blog/why-estimated-review-time-improves-pull-requests-and-reduces-cycle-time/?utm_source=Substack%2FMedium%2FDev.to&utm_medium=referral&utm_campaign=gitStream%20-%20Referral%20-%20Distribution%20Footers).

![Start using gitstream today!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xg1l6hxt134px501bf7d.png)
How to (not) be a mentor to a marginalized person
Tags: mentoring
Published: 2023-02-16 23:37:18

3 key lessons I took away from a 1h coaching session with [Kim Crayton](https://www.kimcrayton.com/).

## The line between mentoring and gaslighting a marginalized person is thin.

I cannot give advice on how to navigate the hierarchy of the company because I do not share the lived experience of my mentee. My white male privilege grants me safety that doesn’t require me to be constantly strategic about my interactions with others.

**Example:** I cannot tell a marginalized mentee to “just have an honest conversation” with their manager. There are dynamics at play that I cannot understand.

## Being a mentor is like feeding a hungry person.

There is a power dynamic at play that mentors need to acknowledge. Asking for something is not the same as asking a peer.

**Example:** Asking my mentee for advice based on their lived experience is emotional labor. But they might agree despite their discomfort because they fear I could withhold my mentoring.

## My mentee is a target for people who wish me harm.

It comes down to one of [Kim’s guiding principles](https://www.kimcrayton.com/guiding-principles/): prioritize the most vulnerable. I must understand and create strategy that acknowledges that when I speak out about marginalization at GitHub, I will upset people. But due to being prioritized, these people may target the most vulnerable; the very individuals I seek to protect.

**Example:** when I speak out about marginalization at GitHub it will upset people with power. They will go after the most vulnerable people that I care about.

---

I highly recommend to follow Kim on [Mastodon](https://dair-community.social/@KimCrayton1) or [Twitter](https://twitter.com/KimCrayton1), and buy her new book: [Profit Without Oppression](https://www.kimcrayton.com/profit-without-oppression/) on from your local or independent bookseller.
A brand new Beginning
Tags: beginners, devjournal
Published: 2023-02-16 23:28:25

This is my first devjournal post. Having started my 2-month crash course in c# and the basics of IT as a whole, through an intermediate company, I now find myself falling face first into the wondrous world of IT.

Awaiting my first junior position at a suitable location, I find myself with the time to write blogs and work on both my portfolio and (newly acquired) skill sets.

So far I have developed a digital portfolio website, both as a display product but also as a demonstration of HTML development. This can be found at https://portfolio.angryjarl.tv/

Furthermore I have properly set up my Github environment, and made an account on this website. In the following weeks and months, I hope to post my developments and journeys at least once a week here.

its a brand new world of knowledge and tech-magic, and I can't wait to dive further into it!