teleren/devto huggingface dataset:
PostgreSQL - What is Parallel Query Processing?
Tags: postgres
Published: 2023-07-27 23:19:07

Organizations use tons of data! On traditional PCs from the past, processing such vast amount of information will literally blow it up. Luckily Nowadays, CPUs have a vast amount of cores available. Applications are now able to send queries in parallel to databases. 
When it comes to reporting queries that work with a vast number of table rows and data, the ability of a query to utilize multiple CPU threads/cores can significantly improve the speed of its execution. Hence, parallel query execution is a powerful tool that enables faster processing of large data sets.

## How is this achieved in PostgreSQL? 
Well, it is implemented by utilization of more then one CPUs to process a single query. It is analogous to making more than one person to work on single task to speed it up.

To make use of Parallel Query processing in PostgreSQL, you need to use the `SET max_parallel_workers_per_gather=4` command. 

The above command sets the maximum number of parallel workers that can be used by a single Gather or Gather Merge node in a query plan.

## Benefits of using Parallel Query Processing
It is quite understandable and easy to figure it out by now that parallel query processing is extremely beneficial, especially for large databases. 
Following are some of the most prominent advantages you can get: 

- Faster Query Execution

- Increased Efficiency

- Easy of working with large databases and complex queries. 

## Conclusion
PostgreSQL aids developers and database managers working with huge databases by providing the option to process queries in parallel. This can enhance work productivity and make queries faster. You can learn more about this through [Postgres documentation on Parallel Query](https://www.postgresql.org/docs/current/how-parallel-query-works.html)
Playwright HTML Report
Tags: playwright, html, opensource, testing
Published: 2023-07-27 23:17:32

A few days ago I wanted to generate a modern and complete html report for my Playwright project. I tried to find something good for me already ready to use, but I couldn't. So I created playwright-report.

To install playwright-html, use the command below:

```
npm i -D playwright-html
```

After the installation, you need to configure your project to use playwright-html as your report. Edit the file `playwright.config.ts` with the information below:

```
import { PlaywrightTestConfig } from '@playwright/test';

const config: PlaywrightTestConfig = {
  reporter: [
    ['playwright-html', { 
      testFolder: 'tests',
      title: 'Playwright HTML Report',
      project: 'QA Tests',
      release: '9.87.6',
      testEnvironment: 'DEV',
      embedAssets: true,
      embedAttachments: true,
      outputFolder: 'playwright-html-report',
      minifyAssets: true,
      startServer: true,
    }]
  ],
}
```
There is no mandatory option for playwright-report, so if you want, just remove all options.  If you want to use, follow the description of each option:

| Name | Default Value | Mandatory | Description |
| --- | --- | --- | --- |
| testFolder | tests | no | Folder of the test files |
| title | Playwright HTML Report | no | Title of the report that will be shown at the top of the page |
| project | | no | Project name |
| release | | no | Release version |
| testEnvironment || no | Test environment of the execution |
| embedAssets | true | no | Embed or not the assets to the HTML report file |
| embedAttachments | true | no | Embed or not the attachments to the HTML report file |
| outputFolder | playwright-html-report | no | Output folder where the HTML will be saved |
| minifyAssets | true | no | Minify or not the assets |
| startServer | true | no | Start or not the server to serve the HTML report |

[playwright-html](https://gitlab.com/rodrigoodhin/playwright-html) on Gitlab.

If you encounter any errors, go to playwright-html repository and open an issue.

If you have any suggestions, feel free to comment.

I hope you Enjoy this tool!
Agents with Character - Future- proofing AI through dynamism
Tags: flutter, development, mobile, ai
Published: 2023-07-27 23:16:20


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

In order to capitalise on the rapid pace of change in AI, a pragmatic, future inclusive approach is required. That means building something that can be extended, pivot and upgraded.

 This is one such approach i've been doing with my latest product that supplies you with a team of AI agents that gamify productivity and expand via plugins.

More detail on my progress at present can be found in my in the video below. 
{% embed https://youtu.be/1XiLDQo0--A %}

Anyway, I've been working on AI projects for over 20 years and I wanted to share a few thoughts on my attempts to integrate various AI models into a single app:  

- **Redundancy**: What happens when a service like GPT3.5 goes down or the app goes offline? Redundancy is the solution. My  approach is to build redundancy in layers such as:
  - PRIMARY MODEL
  - SECONDARY MODEL (Backup)
  - Offline lightweight model
  - Cached responses
  - Conditional logic
  - Failover logic
    

- **Rapid Recalibration**: Big companies often claim they've perfected their systems. Yet, I've witnessed them struggle when new customer features roll out. For example, when customers are given the ability to add aliases to a database. The solutions I've found include:  

  - Future-proofing ML data design (to minimise impact on retraining times)
  - Incremental training
  - Test first and fail fast - let your developers experiment with adding new fields and see how the model responds.


- **Plugins and Expansion**: One of the best IDEs out there is VScode, what makes it so powerful is unlike older IDEs which are monolithic and static design from release. VSC completely pivots based upon the plugins you use. This along with other powerful plugin dominated tools such as jenkins inspired me to apply this same idea to AI agents. Rather than throwing away all the integrated code, I write the integration functions that can re-plumb themselves as things change down the line.

Anyway, this has been just a few brain farts - if you are interested to know more, let me know!
What tools and resources are available to a GitHub Campus Expert?
Published: 2023-07-27 22:40:42

People, People, People are always the most valuable resource.
You will be added to the Slack channel where all GitHub Campus Experts from around the world can be found. You will then have access to tools that will allow you to submit resource requests and collaborate with GitHub Staff and other Campus Experts. GitHub will send you great goodies, such as the ones seen below.

You can construct something bigger than yourself with the help of a network of outstanding individuals and GitHub.
Thank you for taking the time to read this article. I can't thank GitHub enough for the amazing materials it's provided.
Creating shimmer animations using flutter
Published: 2023-07-27 22:38:42

One of the best user experience in any application is a loading indicator, ever used youtube and saw a loading indicator that tells you some is coming??

One of the best package for shimmer loading is fade_shimmer, and we will be using it in this example.

`https://pub.dev/packages/fade_shimmer`

Install this package in to your project and let's start right away

Fade shimmer package have a Widget named FadeShimmer which receives the following properties. 👇🏽

height: Height of the single shimmer
width: Width of the single shimmer
radius: defines border radius of the single shimmer
millisecondsDelay: delay time before update the color
fadeTheme: defines the UI mode of the shimmer

Write the following code into your project 

```
import 'package:fade_shimmer/fade_shimmer.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Shimmer effect',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const HomeScreen(),
    );
  }
}

void doStuff() {}

class HomeScreen extends StatelessWidget {
  const HomeScreen({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final highlightColor = Color(0xFF696C80);
    final baseColor = Color(0xFF4B4D5C);
    return Scaffold(
      backgroundColor: const Color(0xFF353535),
      body: SafeArea(
        child: ListView.builder(
          padding: EdgeInsets.only(top: 20),
          itemBuilder: (_, i) {
            final delay = (i * 300);
            return ShrimmerCard(
                delay: delay,
                highlightColor: highlightColor,
                baseColor: baseColor);
          },
          itemCount: 20,
        ),
      ),
    );
  }
}

class ShrimmerCard extends StatelessWidget {
  const ShrimmerCard({
    Key? key,
    required this.delay,
    required this.highlightColor,
    required this.baseColor,
  }) : super(key: key);

  final int delay;
  final Color highlightColor;
  final Color baseColor;

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(20),
      child: FadeShimmer(
        height: 15,
        width: 150,
        radius: 20,
        millisecondsDelay: delay,
        highlightColor: highlightColor,
        baseColor: baseColor,
      ),
    );
  }
}

```

Save and run this file and you will see the following output

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

By using shimmer loader provides best user experience of the app to your users.
What good is it to become a GitHub Campus Expert?
Published: 2023-07-27 22:37:05

Have you ever considered creating an enriching community where you can meet like-minded peers and have fun together? Or maybe you want to create a lot of activities for your campus so that everyone gets enthusiastic and joins hands? What would you do? Who would you turn to for assistance? What about the money, most importantly?

This is where the GitHub Campus Expert Program comes into play. We have a terrific group of dedicated people all around the world, supported by GitHub, who will help you establish a stronger Technical group for your Campus. If you believe your campus lacks a strong technological community, don't wait for someone to lead the charge; take the initiative yourself.
Leaders are created rather than born.

Finally, everyone wants to know the solution to this question.
The 46th Day of the 100 Days of Code Challenge
Published: 2023-07-27 22:34:41

Hey everyone! Today was a pretty nice working day.

Acted on all the comments in the code review I got on the real-time transcription I'm working on, made the codebase cleaner and refactored a lot of componenents within it.

However, I had some problems with the socket timing out. Which makes sense, because when I loaded a large transcription model, it took some time and the server was unresponsive during that time. It's not a good practice to have your server be unresponsive at all, so I got to threading. I absolutely love the threading library in Python and I honestly don't know if I've started to abuse it!

I created a separate thread for the initialization to solve it.

However, during this initialization, the client can disconnect from the socket. So I also considered this situation and didn't proceed to creating the stream if it'd been done.

Since the application provides graceful shutdown of the stream, which means that the client will receive the transcriptions of the remaining audio data when they request to stop the stream, it needs to wait for the stream to finish transcribing. However, this blocks the server. So offloaded that to a different thread as well.

However, during that time, the client may disconnect as well. Which will lead to clashing operations. So I had to keep track of two things:

- Is the client disconnecting?
- Is the client ending the stream?

If the client is doing both, the first one they requested is the leader and the operations won't clash.

It was pretty amazing to see how all this played out to keep a clean and responsive server (main thread). I believe that this directly paves the way to multi-client support, which is what I'll be exploring tomorrow with this application!

Happy coding everyone!
How do I go about becoming one?
Published: 2023-07-27 22:34:27

If you were as delighted as I was after reading the above and want to know how you may become one, 

This is the first place you should go to get started on your path to becoming a campus expert. When you select Start, GitHub will take some time to prepare everything for training. You will get all instructions on your training and submissions as soon as it is completed. It took me roughly a month to finish my training; GitHub has no submission deadlines; you may submit them at your own speed. After you have completed your submissions, you must be patient and wait for a reviewer to review them.
What exactly is a GitHub Campus Expert?
Published: 2023-07-27 22:32:47

People learn more effectively when they can study alongside a network of like-minded peers. With GitHub training and assistance, a school Expert strengthens the technological community on their school. After completing the course and becoming a GitHub Campus Expert, you will have access to GitHub resources and assistance, such as merchandise, sponsorship, and the ability to attend events such as the company's annual conference, GitHub Universe.
What you should know about GitHub Campus Expert
Published: 2023-07-27 22:30:55

This essay is for anyone who has no clue what the GitHub Campus Experts program is or even what GitHub is, or if you've seen these terms someplace and want to shed some light on what they are.

What exactly is GitHub?
GitHub is a platform for hosting code that allows for version control and collaboration. It allows you and others to collaborate on projects from anywhere. If you're new to technology and haven't utilized Github yet, I assure you it'll be a joy and make your life a lot easier.

GitHub Education provides resources and events to students, instructors, and schools to help mould the future generation of software development. As part of GitHub Education, GitHub provides a range of classes. The GitHub Campus Experts Program is one example.
This Week's Undiscovered (7/27/23)
Tags: spotlight
Published: 2023-07-27 22:14:46

---
title: This Week's Undiscovered (7/27/23)
published: true
description: A curated selection of posts published within the last week that are just waiting to be discovered.
tags: spotlight, 
series: This Week Undiscovered
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/toiq286x75hefzypiiiy.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-07-27 22:02 +0000
---

Introducing **This Week's Undiscovered**, a curated selection of amazing posts published within the last week that are just waiting to be discovered.

The goal is to shed light on hidden gems within DEV's community that haven't yet received the attention they may deserve 🌱

Hope you enjoy it!

## Security News Weekly Round-Up

@ziizium highlights some really important bits of security news that you might not have been aware of! 

{% embed https://dev.to/ziizium/security-news-weekly-round-up-21st-july-2023-46fn %}


## Master Your RAM ⚡ To Increase the Life of Your Hardware

It can be tough to get good performance from old or faulty hardware. If you’re forced to make the most of what you have, try these Linux tips from @aminnairi. 

{% embed https://dev.to/aminnairi/master-your-ram-to-increase-the-life-of-your-hardware-31c4 %}


## I Built a Silly Cloudflare Worker Web Service That Helps You Do Math

@krofdrakula set out to learn something new and mash up two things they've been playing around with — language parsing and serverless functions. The result?

{% embed https://dev.to/krofdrakula/i-built-a-silly-cloudflare-worker-web-service-that-helps-you-do-math-58n2 %}


## Safe Route Param Injection in Angular With a Decorator

Let’s work with @bwca and delve into a powerful technique that leverages TypeScript's type-checking capabilities and a custom decorator to enhance the safety of extracting route parameters in Angular.

{% embed https://dev.to/bwca/safe-route-param-injection-in-angular-with-a-decorator-1lk7 %}


## Simple Bash Loading Animation 

No shenanigans here, just a simple loading animation tutorial from @pencillr!

{% embed https://dev.to/pencillr/simple-bash-loading-animation-4i1o %}


## What Is Platform Engineering (And What Is It Not?)

In this post from @thenjdevopsguy, you’ll learn all about what Platform Engineering is and the critical differences between Platform Engineering and other popular titles.

{% embed https://dev.to/thenjdevopsguy/what-is-platform-engineering-and-what-is-it-not-2jb8 %}

Let us know if we missed anything; share your predictions for the next top talent in the comments!

<a href="https://www.freepik.com/free-photo/golden-number-one-with-gold-crown-top-floor-champion-winner-yellow-background-by-3d-render_25829004.htm#query=spotlight%20on%20a%201&position=38&from_view=search&track=ais">Image by DilokaStudio</a> on Freepik
Day 792 : Thursday
Tags: hiphop, code, coding, lifelongdev
Published: 2023-07-27 21:55:06

_liner notes_:
- Professional : Started the day with a couple of team meetings and a company wide meeting. The team meetings went pretty quick because most of the team is working a big event in Germany. In between meetings, I was exchanging messages with team members. One was a tech review of a blog post and demo application I made to make sure what I say and did made technical sense and really captured the feature I'm showcasing. Got some good feedback and made adjustments and got the okay. On another message thread, there's some guardrails I want to add to another demo application to prevent not disconnecting from a SIP call so I ran some ideas by some folks. Got some feedback and got another good idea. I implemented both and it looks like everything is working. Helped out with some community questions. Pretty good day.

- Personal : So I bought a trickle charging device for my van so that the battery wouldn't die because I don't really drive much. Plugged it into the cigarette lighter and the device said that it was at 80% and charging. Cool. It went to flashing 100% so I waited a little longer. Decided to test to see if the car would start. Unplugged everything and nope. The thing is that for the cigarette charger to be "live" the car has to be on. Not sure if the van drained faster than the device could charge. No clue. I attached the device directly to the battery so that I would have to have the van on. After a couple of hours, the device said full. I tried to start the van and it did! Awesome. I need to find a connector that I can keep on the battery and then connect the device whenever I need. We'll see what I can find.

![Tall stone structures in Arches National Park, Utah USA against a star filled night sky](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ge2cxzs6cwpqj0q392hy.jpg)

Going to eat dinner. It's Thursday, so I'm going to go through Bandcamp and pick up some projects and get my posts ready to share to social media tomorrow. I want to work more on the front end of my side project. I've got it to where it makes a call to the backend to get the sessions. I need to work on the cards to display the data and then the various details pages. Will probably watch some anime if I have time.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube YxaNYGeaOjc %}
Writing a NES game day 15, scrolling?
Tags: 6502, assembly, nintendo, gamedev
Published: 2023-07-27 21:45:39

As I am kind of stuck with backgrounds and how to put them, I have to decide something: 

As it is a platoform game, I have two possibilities for scrolling and movement.

The first one is like you do in Megaman (or Rockman if you like the japanese version) where you have to walk from the beggining to the end of the screen to have a new one appearing.

The second one is the way games like Ghost And Goblins work. It seems like you are moving but you are always in the middle of the screen and the background is what moves.

I need to decide...
AI Tooling For Your Dev Team: To Adopt or Not to Adopt?
Tags: ai, programming, machinelearning, podcast
Published: 2023-07-27 21:45:15

Amid the escalating buzz surrounding AI tools, many development teams grapple with deciding which ones suit their needs best, when to adopt them, and the potential risks of not doing so. As AI continues to pose more questions than answers, the fear of falling behind the competition lurks for many.

This week's episode of Dev Interrupted aims to dispel these uncertainties by welcoming CodiumAI’s founder & CEO, Itamar Friedman. In one of our most illuminating discussions this year, Itamar pierces through the AI hype, explaining what AI tools bring to the table, how to discern the ones that would truly augment your dev teams, and the strategies to efficiently identify and experiment with new tools.

Beyond the allure of AI, Itamar doesn't shy away from addressing its pitfalls and adversarial risks. He also probes into the future of the developer's role in an increasingly AI-driven landscape, answering the question: “Will there be developers in 10 years?”

{% spotify spotify:episode:3hZU7LVYYNaZ05cjv0ePgo %}

## Episode Highlights:
* (2:40) Founding CodiumAI
* (8:25) Will there be developers in 10 years?
* (11:20) What kinds of AI tools are popping up?
* (15:00) Core capabilities of AI
* (19:30) Finding AI tools to solve pains you don't know you have
* (23:00) Enabling your team to use AI
* (26:45) Falling behind the competition
* (33:00) Pitfalls of AI
* (38:30) Adversarial risks of AI
* (43:45) Experimenting with new tools
* (47:40) Measuring the success of AI tools
* (50:15) Will AI replace or empower us?

[Read the full episode transcript
](https://devinterrupted.com/podcast/ai-tooling-for-your-dev-team-to-adopt-or-not-to-adopt/)

---

***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 oXU-evwN7yU %}

---

### 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)