teleren/devto huggingface dataset:
power bi course certification
Published: 2024-03-13 13:00:25


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v4uy9sfcpovofr8yygtq.jpg)Power BI is a powerful tool that has revolutionized the way data is analyzed and presented in business organizations With its 
user-friendly interface, advanced features, and ability to integrate with various data sources, Power BI has become an essential 
skill for professionals working in the field of data analysis In order to fully utilize this tool and add value to their job roles,
it is important for individuals to enhance their knowledge through a Power BI course certification
   But who exactly can benefit from a[ Power BI course certification](urhttps://qualitythought.in/power-bi/l) The simple answer is – everyone! Whether you are an aspiring data analyst or already have experience in this field, taking a Power BI course and obtaining a certification can open up new opportunities for career growth and advancement
    Professionals working in industries such as finance, marketing, healthcare, retail, or any other sector where data plays a crucial role can greatly benefit from a Power BI course certification With the increasing amount of data being generated every day, there is an 
ever-growing demand for skilled individuals who can effectively analyze this information and make informed business decisions By learning how to use Power BI effectively through specialized training courses and gaining certification, these professionals can improve their analytical skills and stay ahead in their respective fields
     Power BI is one of the most in-demand business intelligence tools in the market today With its powerful data visualization capabilities 
and user-friendly interface, it has become a favorite among businesses looking to make sense of their data And if you’re looking to take your career to the next level, obtaining a Power BI course certification is an opportunity you definitely don’t want to miss out on
SQL CRUD Operations
Published: 2024-03-15 01:00:47

**(C)REATE**

Creating is for inserting information in your tables, this is where you specify how your data is going to represent in table or "entity". It starts with the column names that is going to be inserted, followed by the values that need to be inserted. the end results it enter a new row in your table

```
`INSERT INTO tbl_name (column_name_one, column_name_two)
VALUES (column_value_one, column_value_two)`
```

**(R)ETREIVE**

this is used for quering, or selecting data from a particular table you are looking to retrieve. In your select statement you can specify what the data is stored by selecting what columns you want to display.

```
`SELECT * FROM tbl_name`
```

the "*" selector you see shown above will display all columns that is structured in that entity. You can specify what columns you want to see just by specifying a particular column shown below

```
`SELECT column_name FROM tbl_name`
```

Conditional Statements

You can also retrieve data from your database by using conditional statements. Using conditional statements, it returns records from your tables that will display records that have a match from what condition you are specifying 

Shown below is an example using the "WHERE" clause to specify quering your data based on a condition.

There are also cases when you need to use aggregated functions in your SELECT statement, in this case the WHERE clause won't recognize how to run conditions off of what aggregated function you are using.
This example shown below, this query is using the COUNT() aggregate function, and its using the "HAVING" clause to execute this condition correctly.

There will also be cases when there are going to be similarities in your data, and you need to find a way to group and associate those similarities. The example shown below, this query is grouping the similarities of "column_name" and grouping them by that column while displaying "column_name_two" with that group

Another case to similiaries in your data. if you need to retrieve data (such as text, string) it would be beneficial querying data if a sub strings contains a certain text. Shown below is a query executing a condition if "column_name" contains a substring. In return it will return a list of records where it finds a match. 

Using the LIKE clause in this query, you specify your wild card (%).
In this scenario its telling the LIKE clause that "column_name" has a pattern of "substring"

**(U)PDATE**

This is used to modify current records in your table. When updating records, you can run a query to update all records, or update records based on a condition (i.e. WHERE clauses). It is all based on your business needs on what functionality are you trying to achieve. Shown below this query is updating "tble_name" using a condition to specify what record to update. 

**(D)ELETE**

This is where you are removing tables from a table, you can remove all records from a table
Key Overview of IP Whitelisting
Published: 2024-03-12 15:17:52


# Whitelisting IPs

### Table of Contents

- [What's a whitelist?](#whats-a-whitelist-)
- [What does IP whitelisting mean?](#what-does-ip-whitelisting-mean)
- [How do I whitelist an IP address?](#how-do-i-whitelist-an-ip-address)
- [Understanding IP packets](#understanding-ip-packets)
- [Why is IP whitelisting a smart business move?](#why-is-ip-whitelisting-a-smart-business-move)
- [Advantages of IP whitelisting](#advantages-of-ip-whitelisting)
- [Drawbacks of IP whitelisting](#drawbacks-of-ip-whitelisting)
- [Getting started with IP whitelisting using VPN ](#getting-started-with-ip-whitelisting-using-vpn-)

### What's a whitelist? 
A whitelist is a list of entities or items that are explicitly allowed or granted permission. In the context of digital security, it often refers to a list of approved elements, such as IP addresses or applications, that are permitted to access a particular resource or system.

### What does IP whitelisting mean?
IP whitelisting is a security measure where only specific IP addresses are authorized to access a particular system, network, or online resource. It establishes a list of approved IP addresses, ensuring that only those addresses can interact with the designated service.

### How do I whitelist an IP address?
To whitelist an IP address, you typically configure the security settings of a system or network to explicitly allow access from that specific IP address. This can be done through administrative controls or settings within the relevant security infrastructure.

### Understanding IP packets
IP packets are fundamental units of data in Internet Protocol communication. They contain information such as source and destination IP addresses, protocol details, and the actual data being transmitted. Understanding IP packets is crucial for comprehending how data is exchanged across networks.

### Why is IP whitelisting a smart business move?
IP whitelisting is a smart business move as it enhances security by restricting access to authorized entities. This helps prevent unauthorized access, protects sensitive information, and reduces the risk of security breaches, ultimately safeguarding the integrity of business operations.

### Advantages of IP whitelisting
The advantages of IP whitelisting include heightened security, control over access, protection against unauthorized activities, and the ability to create a more tailored and secure environment for users or systems with approved IP addresses.

### Drawbacks of IP whitelisting
While effective, IP whitelisting has drawbacks, such as the potential inconvenience of managing and updating the whitelist regularly. Dynamic IP addresses, difficulties in accommodating remote users, and the administrative overhead of maintaining the list are some of the challenges.

### Getting started with IP whitelisting using VPN
To initiate IP whitelisting using a Virtual Private Network (VPN), one can begin by configuring the VPN to assign specific IP addresses. These designated IPs can then be added to the whitelist of the target system, allowing secure and controlled access through the VPN connection.
Angular Mock HttpErrorResponse Example
Tags: angular, typescript
Published: 2024-03-15 00:28:17

Easy way to create Mock HttpErrorResponse with Angular

Insert into your Service 
```
import { HttpErrorResponse } from '@angular/common/http';

  public simulateForbiddenError(): Observable<any> {
    return throwError(new HttpErrorResponse({ status: 403 })).pipe(delay(3000));
  }

  public simulateBadRequestError(): Observable<any> {
    return throwError(new HttpErrorResponse({ status: 400 })).pipe(delay(3000));
  }

  public simulateGatewayTimeoutError(): Observable<any> {
    return throwError(new HttpErrorResponse({ status: 504 })).pipe(delay(3000));
  }

```
Use 
```
this.myService.simulateForbiddenError().subscribe({
 next: (data) => {
    // Handle the data
    console.log(data);
 },
 error: (error) => {
    // Handle the error
    console.error(error);
 },
 complete: () => {
    // Handle completion
    console.log('Observable completed');
 }
});
```
Devin VS Software Engineers
Tags: devin, ai, softwareengineering, chatgpt
Published: 2024-03-15 00:16:32


Devin, the "AI Software Engineer," is here. Should we be panicked? Will our jobs vanish?



The short answer is **NO**.



Should we call it an AI software engineer or an AI software engineer assistant?



Well, **YES**.




The same panic that swept through everyone, especially in the tech field, when ChatGPT launched is resurfacing now, but even more strongly. Why?



Well, there are several reasons for the panic:



1.) ChatGPT only had textboxes for writing prompts, while Devin has its own Terminal, Browser, and Code-Editor.

2.) If we receive an incorrect output from the code generated by ChatGPT, we can input the error message and obtain a new output. However, Devin debugs and builds on its own.



But should we be panicked or consider switching fields?



NO.



What can we do?



1.) When ChatGPT emerged, a new field was unlocked: Prompt Engineering. Similarly, for Devin or any AI, providing the correct prompts would make the difference. Therefore, we need to learn and perfect that skill.

2.) If you have zero knowledge about coding, no AI currently can assist you. You need to consider AI as your assistant and code alongside it to increase your efficiency.

3.) Don't panic. Instead, continuously upgrade your skills, make AI your friend, and utilize it as your assistant while coding.
[Javascript] Short Circuit
Published: 2024-03-15 00:14:41

O puro creme da doidera, o short circuit, é como se fosse "um resumo" de condicionais. Ele funciona assim:

return '' || null || false || 'chaves' || 'chapolin'

Sempre que for false, ele pula pra próxima, e sempre que for true, ele para aonde está. Então no caso acima:

'' é false (ele vai pro próximo)
null é false (vai pro próximo)
false é false (:clown: ele vai pro próximo)
'chaves' é true (então ele vai parar aqui e exibir no return, chaves).

Um exemplo mais pratico e usual agora:

authStore.userInitials || ''


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


No caso, se essa primeira variável for true, ele já para ali mesmo, e exibe o que tem dentro dela. Mas se ela for false, ele vai pra seguinte… que é ''.
DevX Status Update
Tags: puppet, community
Published: 2024-03-20 18:28:55

---
title: DevX Status Update
published: true
date: 2024-03-15 00:00:00 UTC
tags: puppet,community
canonical_url: https://puppetlabs.github.io/content-and-tooling-team/blog/updates/2024-03-15-devx-status-update/
---

## Happy Friday

If you live anywhere close to Ireland, I hope you are ready for St. Patricks day. I sure am, and I’m happy as well to be getting a wee extended weekend. Don’t be surprised if we are not answering the phone on Monday. We likely are not physically able to do so. Anyways, let’s get to this weeks updates.

## PDK-Templates

I have 99 bugs. Grab one, patch it out. Now I only have 123 bugs. You probably already know how the song goes for those working in software development. Nevertheless, we still have to fix them little problems. This week we have completed fixing some unintended behaviour related to PDK-Templates, where the design was being a bit cheeky and slacking on its duties to allow Rubocop rules to be overriden via .sync.yml. It is all good now..

## Team building hike

Last wednesday, our entire DevX team went out on a team building exercise to the local hill for a wee hike. Now, the weather wasn’t our best friend and the pathway could have done with a few more security precautions (mostly to protect people from uncontrollably rolling down an entire mountain) but we still had plenty of fun. Dropping a wee picture of the event.

 ![](https://puppetlabs.github.io/content-and-tooling-team/images/hike.jpeg)

## Community Contributions

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

- [`puppetlabs_spec_helper#444`](https://github.com/puppetlabs/puppetlabs_spec_helper/pull/444): “puppet-syntax: Validate Hiera keys”, thanks to [bastelfreak](https://github.com/bastelfreak)
- [`puppetlabs_spec_helper#441`](https://github.com/puppetlabs/puppetlabs_spec_helper/pull/441): “puppet-syntax: Validate hiera keys”, thanks to [bastelfreak](https://github.com/bastelfreak)
- [`ruby-pwsh#292`](https://github.com/puppetlabs/ruby-pwsh/pull/292): “Fix empty string nullification”, thanks to [Clebam](https://github.com/Clebam)

## New Gem Releases

- [`puppetlabs_spec_helper`](https://rubygems.org/gems/puppetlabs_spec_helper) (`7.1.0`)
Modules Status Update
Tags: puppet, community
Published: 2024-03-20 18:29:25

---
title: Modules Status Update
published: true
date: 2024-03-15 00:00:00 UTC
tags: puppet,community
canonical_url: https://puppetlabs.github.io/content-and-tooling-team/blog/updates/2024-03-15-modules-status-update/
---

## Hello Again!

Hello again, and happy Friday to y’all. Although we don’t have much to share from the Modules team in Pune, the team remained dedicated to ongoing work in Forge, so expect something new soon. Till then, stay tuned and keep your contributions coming.

## Community Contributions

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

- [`puppetlabs-firewall#1195`](https://github.com/puppetlabs/puppetlabs-firewall/pull/1195): “fix typos in documentation”, thanks to [corporate-gadfly](https://github.com/corporate-gadfly)
- [`puppetlabs-stdlib#1410`](https://github.com/puppetlabs/puppetlabs-stdlib/pull/1410): “(#1389) - pw\_hash with bcrypt not working on puppet master”, thanks to [TuningYourCode](https://github.com/TuningYourCode) and the following people who helped get it over the line ([tuxmea](https://github.com/tuxmea))

## New Module Releases

- [`puppetlabs-stdlib`](https://github.com/puppetlabs/puppetlabs-stdlib) (`9.5.0`)

- [`puppetlabs-inifile`](https://github.com/puppetlabs/puppetlabs-inifile) (`6.1.1`)
Google Cloud Region Latency in Google Apps Script
Tags: appsscript, googlecloud, latency
Published: 2024-03-16 06:03:43

---
title: Google Cloud Region Latency in Google Apps Script
published: true
date: 2024-03-15 00:00:00 UTC
tags: appsscript, googlecloud, latency
canonical_url: https://justin.poehnelt.com/posts/apps-script-gcp-region-latency/
---

Ever wonder what the ping time is to Google Cloud regions from Google Apps Script? Here are the results for my Apps Script project with the default project id. Timezone is set to `America/Denver`, but I don’t think that matters!

![Latency to Google Cloud Regions](https://justin.poehnelt.com/images/sf-547b20d0-651c-4b37-887d-a01e49684832-c9TSSR_m7A-1000.webp)

Here is a short and sweet snippet for measuring latency to Google Cloud regions in Google Apps Script.

```js
function ping() {
  const endpoints = JSON.parse(
    UrlFetchApp.fetch("https://gcping.com/api/endpoints").getContentText(),
  );
  const results = Object.entries(endpoints).map(([k, v]) => ({
    stats: latency(v.URL),
    endpoint: k,
  }));
  console.log(
    JSON.stringify(
      results.sort((a, b) => a.stats.average - b.stats.average),
      null,
      2,
    ),
  );
}
function latency(url, iterations = 5) {
  console.log(url);
  const executionTimes = [];
  for (let i = 0; i < iterations; i++) {
    const startTime = performance.now();
    UrlFetchApp.fetch(url);
    const endTime = performance.now();
    executionTimes.push(endTime - startTime);
  }
  // Calculate statistics
  const min = Math.min(...executionTimes);
  const max = Math.max(...executionTimes);
  const totalTime = executionTimes.reduce((sum, time) => sum + time, 0);
  const average = totalTime / iterations;
  return {
    min: min,
    max: max,
    mean: average,
    median: executionTimes.sort()[Math.floor(executionTimes.length / 2)],
    // times: executionTimes,
  };
}
globalThis.performance = globalThis.performance || {
  offset: Date.now(),
  now: function now() {
    return Date.now() - this.offset;
  },
};
```

This is a followup on the work done by [GCPing](https://gcping.com/) and [Ivan Kutil](https://www.kutil.org/2019/06/how-to-measure-latency-between-google.html) in 2019.
[Git] Códigos mais usados no dia a dia
Tags: git
Published: 2024-03-14 23:54:36

Hoje, compartilharei com você, os códigos do git que eu mais utilizo na minha rotina de trabalho em uma empresa sendo front-end. 

É importante lembrar, que caso você use o visual studio como seu editor de códigos, na aba esquerda dele, já tempos a opção visual de executar muitas das funções do git (sem precisar digitar linhas de código no terminal). 

De qualquer forma, acho bom como um dev, você dominar os principais códigos do git e suas funcionalidades.

Vamos a eles:

git branch - Ele vai trazer todas as branch criadas na sua máquina. (branchs são os repositórios onde você irá armazenar mudanças, criações de cada tarefa que deverá ser feita).

git checkout <nome da branch> - Este comando serve pra você trocar da branch que está para outra. (as vezes esse comando trava, caso você tenha arquivos pendentes de commit… ai você precisará resolver isso primeiro).

git checkout -b <nomequedaráparanovabranch> - O git checkout -b, cria uma nova branch a partir da que você está agora.
git fetch - Atualiza sua máquina, com as branchs que já foram criadas e estão no repositório.

git reset - - hard - Isso aqui precisou ser usado quando eu dei git pull origin numa branch errada rs. Ai ele me obrigada a resolver merges de uma branch nada a ver. Pra abandonar os merges usa-se esse code ai.

git commit nomedoarquivo.vue- (ou nome da pasta) - O git commit vai formar um "pack" pra que você suba determinados arquivos que criou ou mexeu, você pode especificar quais quer lançar nesse pack como no exemplo. (lembrando que ele apenas PREPARA o pacote, para subir o pacote ou comando precisa ser inserido).
No git commit, é possivel você nomear esse pack e ainda colocar uma descriação nele:
git commit -m "meu pack se chama pack"

git add . - Você também pode colocar um "ponto" (como ali no exemplo), que significa que você automaticamente pegará TODOS os arquivos criados e alterados, e fará um pack com TODOS eles.

git push - O push, vai pegar o pacote criado no commit. E vai subir ele para a branch que já foi criada.
Just trying to be better
Tags: python, udemy, beginners
Published: 2024-03-14 23:38:46

I’m learning Python and then would like to learn swift(apple user) 

I’m currently on section 12 of a Udemy course and I have learned more from this course then I have watching YouTube. 

I’m going to do the automation course after this course also 

I have a few projects in my mind that I would love to start
Experimenting with Modern UI Alternatives in Rails
Tags: rails, htmx, tailwindcss, phlex
Published: 2024-03-14 23:31:33

I embarked on an experiment with a Rails application using modern alternative tools and libraries. In this post, I'll walk you through the steps I took to set up a Rails template repository with the following technologies:

- Configuration with **[Bun JS](https://bun.sh/)** runtime for efficient JavaScript management.

- Integration of **[TailwindCSS](https://tailwindcss.com/)** for sleek UI design.

- Utilization of **[Phlex](https://www.phlex.fun/)** library to build views entirely in Ruby, eliminating the need for mixed template languages and replacing partials and view helpers with components.

- Implementation of **[HTMX](https://htmx.org/)** actions for dynamic content swapping without full page refresh.

### Setup Steps:

1. Installed bun js runtime (I used [mise](https://mise.jdx.dev/), btw)

2. Added necessary gems and generated some configurations:

{% embed https://gist.github.com/megatux/4b20c52314670fd5b392a77e0b689dba %}

3. Edited *Procfile* to remove bun css watch line and use *tailwindcss:watch* task.

4. Edited *application_layout.rb* to remove *javascript_importmap_tags* line.

### This is how it looks:

![application screen-shot showing some articles and an Add button](https://i.ibb.co/QH6xXCS/Grabaci-n-de-pantalla-desde-2024-03-14-23-20-58.gif)

![Server outputs](https://i.ibb.co/G9N8J04/Captura-desde-2024-03-12-19-49-16.png)

The Rails ***bin/dev*** command starts the three processes defined in the ***Procfile*** file. The Rails server, the Bun js runtime, and the TailwindCSS watcher.

### Some code highlights:

{% embed https://gist.github.com/megatux/ea1054e0559fd805878456047509cdc0 %}

The main application layout, in Ruby, has some header and footer definitions and a call to a Ruby *block* in the <main> tag. 

{% embed https://gist.github.com/megatux/8d0ac8cc15febde7b4bd35b443394e57 %}

The controller has an action for listing the Articles and the method to handle the POST to add a new Article.

{% embed https://gist.github.com/megatux/bba3d09388a13bcfe5390bcfdf12949a %}

The Index view has a title, an Add button, and the list of Articles. In a real app these Articles would probably be passed on initialization from a DB query outside this class.

{% embed https://gist.github.com/megatux/5740835713bca329ebdf43c377f62a1a %} 

The Article component just generates some random data. In a real app it would probably be populated from an Active Record object on initialization.

The full source repository [is available here](https://github.com/megatux/rails_sample_bun_tailwind_phlex_htmx).

By following these steps, I was able to leverage a modern UI frontend for a Rails application in a hopefully more maintainable way.

I plan to continue experimenting with these tools on more advanced topics like forms, websockets & SSE updates, filters, pagination, using JS interactivity, and more complex components.

Happy coding!