teleren/devto huggingface dataset:
Working with resource group and a storage account in Azure
Tags: webdev, javascript, programming, beginners
Published: 2023-12-12 22:24:11

A resource group in Microsoft Azure is a logical container for resources deployed in an Azure environment. It organizes and manages Azure resources like virtual machines, storage accounts, networking components, and more. Resource groups enable the administration and organization of resources depending on their lifetime, deployment, and management needs.

To create a resource group

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

In an Azure portal, go to the search button and type Resource Group.
Go to +create


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

Give your resource group a name, select the region you will like to work with and it is advisable to work with a region that is closer to where you are working.
Click Review and Create 


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

When you deploy the resource group, it looks like the one above.

A storage account is a key Azure resource that allows you to store and manage various types of data in Microsoft Azure. Azure Storage provides a scalable and secure cloud storage solution for applications, virtual machines, backups, and other workloads.

To create a storage account,


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

Go to the Azure portal and search for storage accounts.
Click on + create.
Under the Basic tab, click on Resource Group.
Create a storage account name that must be unique in Azure.


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

Set the performance to standard
Review and create
Deploy and then go to resources.


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

Azure Storage redundancy copies your data so that it is protected from transient hardware failures, network or power outages, and natural disasters. If an outage renders the primary endpoint unavailable, then you can initiate a failover to the secondary endpoint to rapidly restore write access to your data


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

In the storage account, go to Data Management and select the redundancy blade.
Ensure Read access Goe redundancy storage is selected.


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

To create information on a public website that could be accessible without requiring customers to login.

In the Storage account, under the settings, click on the configuration blade.
Enable the Allow blob anonymous access.
Save
Speak With A Knowledgeable Wizard James Recovery Bitcoin Recovery Specialist
Tags: bitcoinrecovery, hackingservice, socialmediahack, webdev
Published: 2023-12-12 22:22:59

A worldwide authorised forensic company called WIZARD JAMES RECOVERY can assist you in getting back tokens or bitcoin that has been stolen.
WIZARD JAMES RECOVERY specialises in getting tokens and bitcoin back from scammers that have stolen them from you.
The cryptographic protocol guy used a decentralised recovery system to track the wallet balance using smart contract audit from the outsourced wallets on (wizardjamesrecovery(@ usa.com) extensive database built on blockchain technology, ensuring that no one could move your money without your permission. Feel free to get in touch with his team and thank me later
Hello world!
Published: 2023-12-12 22:02:58

Eu nunca tive um blog, mas sempre tive interesse em escrever mais sobre alguns assuntos que eu acho incríveis.

Então, como dizem popularmente, "antes tarde do que mais tarde". Inicio hoje o meu blog, e vou tentar escrever regularmente sobre assuntos que, espero eu, sejam úteis para alguém. Pretendo não apenas registrar algo, mas sim tentar trazer a minha experiência e visão sobre.
Progress Update: Navigating the Open Source Seas
Published: 2023-12-12 21:45:42

## Introduction
As I navigate the open source seas, contributing to the Microsoft CLI for Microsoft 365, the journey has been both challenging and rewarding. In this progress update, I'll share insights into the completion of one task and the ongoing efforts for the remaining two.

## Completed Task: Code Refactoring for "/logout" Route
I'm thrilled to announce the successful completion of the code refactoring for the "/logout" route. This task aimed to enhance the code structure by using `res.locals.reqClientData` as the source for client data and implementing a try-catch block for effective error handling. The [pull request #244](https://github.com/prasenjeet-symon/intellectia/pull/244) has been merged after addressing feedback and making necessary adjustments.

### Changes Made:
- Replaced direct accesses to `req.body`, `req.query`, and `req.params` with `res.locals.reqClientData`.
- Introduced a try-catch block for graceful error handling.
- Customized error messages and responses for meaningful feedback.
- Tested the refactored "/logout" route to ensure correct functionality.

The refactoring enhances the code structure, ensures consistent data retrieval, and introduces robust error handling, contributing to the overall reliability of the codebase.

## Ongoing Tasks

### 1. Enhancing Teams Integration with Microsoft CLI
The task involves adding a command to install an app in a Teams chat. Understanding the codebase and revising TypeScript knowledge took some time. After overcoming initial challenges, I've edited 5-6 files in the Microsoft CLI for Microsoft 365 project.

#### Current Status:
- Explored the project structure and dependencies.
- Raised a query regarding account connectivity and received guidance from the community.

#### Next Steps:
- Connect a developer M365 tenant for testing.
- Finalize and create test cases.
- Submit a pull request within the next 24 hours.

### 2. Upgrading Teams Apps at the User Level
This task requires implementing a new command to upgrade a Teams app for a specific user. Logic for the command is ready, and I'm in the process of creating test cases before submitting a pull request.

#### Current Status:
- Logic for the command is complete.
- Test cases for the command is complete.
- Submitted a Pull Request.

#### Next Steps:
- waiting for a maintainer's review.
- Make any required changes.

## Community Collaboration
The open source community has been instrumental in providing guidance and support. Special thanks to @Adam-it and others for their assistance and encouragement throughout the journey.

## Conclusion
As I continue sailing through the open source seas, each challenge brings new learning opportunities. The successful completion of the "/logout" route refactoring marks a significant milestone, and I look forward to contributing further to the Microsoft CLI for Microsoft 365.

Stay tuned for more updates on this exciting open source journey! Cheers to the collaborative spirit of open source development!
Automatically archive GitHub repos
Tags: github, automated, cleanup, powershell
Published: 2023-12-12 22:19:22

---
title: Automatically archive GitHub repos
published: true
date: 2023-12-12 21:37:12 UTC
tags: GitHub,automated,cleanup,Powershell
canonical_url: 
---

 ![Automatically archive GitHub repos](https://blog.disane.dev/content/images/2023/12/automatically_archive-github-repos_banner.jpeg)

Recently, I had the feeling that my GitHub repos were starting to get a bit too much. I haven't touched many of them for years, let alone actually used them properly. So I wanted to clean up all my repos and archive everything older than x months/years. But I didn't feel like going through 500 repos manually.  
  
This could be done quite easily with the GitHub CLI. To do this, the GitHub CLI must be installed:

[

GitHub CLI

Take GitHub to the command line

 ![Automatically archive GitHub repos](https://github.githubassets.com/favicon.ico)GitHub CLI

 ![Automatically archive GitHub repos](https://cli.github.com/assets/images/social-card.png)
](https://cli.github.com/?ref=blog.disane.dev)

## The script

As a Windows user, it made sense for me to just set up the script with PowerShell. In principle, the script only uses the GitHub CLI and retrieves all repos from the account (you have to be logged in, of course) and archives them or, if desired, switches them to `private`.

```
$org = "Disane87"
$limit = 400
$retentionDays = 182

(gh repo list $org -L $limit --json name,pushedAt) | ConvertFrom-Json | ForEach-Object {

    $repoData = $_;
    Write-Host "--------------------------------------------------"
    Write-Host "RepoName $($repoData.name)"

    $publishedDate = [datetime]::ParseExact($repoData.pushedAt, "M/d/yyyy H:mm:ss", $null)
    $timeDiff = New-TimeSpan -Start $publishedDate -End (Get-Date)

    if ($timeDiff.TotalDays -gt $retentionDays) {
        Write-Host "$($repoData.name) is older than $($retentionDays) days $($timeDiff.TotalDays)"

        gh repo edit "$($org)/$($repoData.name)" --visibility private
        gh repo archive $repoData.name -y
    }
}
```

In principle, you only need to enter your GitHub user name in the script and change the retention if necessary. By default, this is 182 days.  
  
If you do not want to set your repos to `private`, then simply comment this line out with `#`

```
gh repo edit "$($org)/$($repoData.name)" --visibility private
```

Et voila, your GitHub is cleaned up:

![Automatically archive GitHub repos](https://blog.disane.dev/content/images/2023/11/image-1.png)
backend generateStudent() id automatically
Tags: webdev, javascript, programming, beginners
Published: 2023-12-12 21:14:56

## 12-11 Complete generateStudent() utility

```js
//user.utlis.ts
import { TAcademicSemester } from '../academicSemester/academicSemester.interface';
import User from './user.model';

//findlast student ID
const findLastStudentId = async () => {
  const lastStudent = await User.findOne(
    {
      role: 'student',
    },
    {
      id: 1,
      _id: 0,
    },
  )
    .sort({
      createdAt: -1,
    })
    .lean();

  // eslint-disable-next-line no-undefined
  return lastStudent?.id.substring(6) ?? undefined; // Assuming id is a property of lastStudent
};

//generate student ID
export const generateStudentId = async (payload: TAcademicSemester) => {
  const currentId = (await findLastStudentId()) || (0).toString();
  let incrementId = (Number(currentId) + 1).toString().padStart(4, '0');

  incrementId = `${payload.year}${payload.code}${incrementId}`;
  return incrementId;
};

```

```js
//user.service.ts
  //set student role
  userData.role = 'student';

  //find academic semester info
  const admissionSemesterID = await AcademicSemester.findById(
    payload.admissionSemester,
  );

  // //set manually generated id
  if (admissionSemesterID != null) {
    userData.id = await generateStudentId(admissionSemesterID);
  }
  // userData.id = '202310002';
  //create a user
  const newUser = await User.create(userData);

```

```ts
//user.service.ts=> full code
import config from '../../config';
import { AcademicSemester } from '../academicSemester/academicSemester.model';
// import { TAcademicSemester } from '../academicSemester/academicSemester.interface';
import { TStudent } from '../student/student.interface';
import { Student } from '../student/student.model';
import { TUser } from './user.interface';
import User from './user.model';
import { generateStudentId } from './user.utils';

const createStudentIntoDB = async (password: string, payload: TStudent) => {
  //create a user object
  const userData: Partial<TUser> = {};

  userData.password = password || (config.default_pass as string);

  //set student role
  userData.role = 'student';

  //find academic semester info
  const admissionSemesterID = await AcademicSemester.findById(
    payload.admissionSemester,
  );

  // //set manually generated id
  if (admissionSemesterID != null) {
    userData.id = await generateStudentId(admissionSemesterID);
  }
  // userData.id = '202310002';
  //create a user
  const newUser = await User.create(userData);

  //crate a student
  if (Object.keys(newUser).length) {
    //set id, _id as a user
    payload.id = newUser.id;
    payload.user = newUser._id; //reference _id

    //create a new student
    const newStudent = await Student.create(payload);
    return newStudent;
  }
  //   return newUser;
};

export const UserServices = {
  createStudentIntoDB,
};


```
My passion for learning Programming L.
Published: 2023-12-12 21:14:00

No matter what happen, a man most eat to gain a surviving energy, so therefore in order to survived in todays competitive and more technological advanced society, man not need to waste a single period without thinking of a digital skills to learn to increase His or Her survival level to a six figure and above level, such as:

1. for gaining fast job
2. for self content creation
3. for organization etc.

In summary, this state of the art skills are no other than gain a programming skills, such as:

1.       Python
2.          Java
3.             C++
4.               JavaScript
4.                         R
4. Go etc.
Hide your own page views in Umami
Tags: webdev, webhosting, website, analytics
Published: 2023-12-12 22:19:31

---
title: Hide your own page views in Umami
published: true
date: 2023-12-12 21:13:35 UTC
tags: webdevelopment,webhosting,website,analytics
canonical_url: 
---

 ![Hide your own page views in Umami](https://blog.disane.dev/content/images/2023/12/hide_your-own-page-views-in-umami_banner.jpeg)

Some of you will no doubt be familiar with [Google Analytics](https://de.wikipedia.org/wiki/Google_Analytics?ref=blog.disane.dev) or [Matomo](https://matomo.org/?ref=blog.disane.dev)(formerly Piwik). They all have one thing in common: they collect data about users.

These statistics are very useful if you want to view the behavior of users on your own site and improve your site accordingly. You can no longer do without them if you want to understand your target group. Of course, you don't want to track your own page views.

Umami has set itself the goal of breaking the dependency on cloud solutions and wants to be a self-hosted alternative. You can find out exactly how this works with Umami and how to set up Umami in my article here.

## Umami tracks my own views ❓

I also had to sadly experience that Umami also tracks my own views and thus falsifies the statistics, sometimes significantly. This is stupid, nobody wants it and nobody likes it.

Unfortunately, there is hardly any documentation on this and I first tried to dynamically add the tracking script using the `referer` information in the JavaScript. But that's code that needs to be maintained (albeit not much). I don't want that.

![Hide your own page views in Umami](https://blog.disane.dev/content/images/2023/11/giphy.gif)

Unfortunately, the documentation is quite weak in this respect and didn't offer anything you might need.

## The solution 💡

But after hours of searching in various forums and a lot of research, a GitHub issue appeared where the supposed solution was described:

[

[Feature Request] Ignore visits based on hostname - Issue #1151 - umami-software/umami

I use a DynDNS pointing to my IP at home. By resolving this hostname Umami could get my IP and ignore my visits. Would such a feature be appreciated? I would be able to contribute the code.

 ![Hide your own page views in Umami](https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg)GitHubumami-software

 ![Hide your own page views in Umami](https://opengraph.githubassets.com/bb37bff97b3f0bce68ee7f523279f7f12ebc9c45a3c1a39846b6b8e4be9be5d4/umami-software/umami/issues/1151)
](https://github.com/umami-software/umami/issues/1151?ref=blog.disane.dev#issuecomment-1127151876)

The solution is simple, but not intuitive. Simply set the entry `umami.disabled` with the value `true` in the `localStorage` in the browser (for the website) and Umami will no longer be tracked in the browser.
Unpacking the Dunning–Kruger Effect in Software Development
Tags: programming, career, productivity, learning
Published: 2023-12-12 21:00:45

Today, I want to talk a little about psychological effects and _the Dunning-Kruger effect_ in particular – a cognitive bias that's not just evident in everyday life scenarios but also prominently observed in the IT and software development world. 

Recognizing and addressing this bias is crucial for navigating and overcoming the challenges it presents, thereby enhancing both our personal growth and professional prowess.

### So, what exactly is the Dunning–Kruger effect?

> At its core, the Dunning–Kruger effect refers to the cognitive bias where individuals with low ability at a task overestimate their capability. 

It's like a beginner chess player thinking they're ready for grandmaster competitions after winning a few casual games. The effect frequently arises from an inability to recognize one's own mistakes or shortcomings due to limited awareness or knowledge.

![Donald Trump representation of Dunning–Kruger](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ny7j9vh71d5mbewi8bcs.jpeg)

### How it Manifests in Software Development

Imagine writing your first program or designing your initial web page. The euphoria of that first success can lead to an inflated sense of ability. But as one goes deeper into more complex projects, one quickly realise there's **so much more** to learn..

Believing one's code is bulletproof when it might be riddled with bugs is a classic example of this effect in action. This overconfidence can lead to **skipped code reviews** or **a reluctance to seek feedback** – both critical for growth and error correction.

The bright side is that as developers climb the learning ladder and tackle tougher tasks, they usually **get a better** understanding of their abilities. This fresh self-insight is the root of genuine personal and professional development. So, when you see someone very confident, they're either just starting out or _a real pro_.

## Couple of words for IT Management

For those leading IT projects or teams, understanding the Dunning–Kruger effect is invaluable. Recognizing the signs of overconfidence can guide project trajectories and ensure that team members are equipped with the right resources and feedback mechanisms.

In the end, the Dunning–Kruger effect serves as a gentle reminder for all of us in the software development and IT world. It encourages humility, underscores the importance of continuous learning, and highlights the value of feedback. 

_By acknowledging this bias, we can better navigate our careers, make more informed decisions, and foster environments that champion growth and understanding._

**Explore more**
[Unpacking the Dunning–Kruger Effect in Software Development](https://iwooky.substack.com/p/dunning-kruger-effect)
[Think You're Rational? "Selective Perception" and "Confirmation Bias" don't agree with You!](https://iwooky.substack.com/p/selective-perception-confirmation-bias)
Restoring the Restoration: The Christian Church: What Went Wrong?
Tags: books
Published: 2023-12-12 20:58:47

“Restoring the Restoration”

Well-meaning (and perhaps some not so well-meaning) men have been trying to reform the church since the Apostles left this life. I know that many women were involved, but men’s cultural bias against women has left a void for many years, in all church movements, through the mistreatment of women in the church. There have been sects within the [Catholic church](https://a.co/d/fs2eMYrurl) that tried to restore the early church and eschewed the growing dominance of added Papal doctrines. The most aggressive attempts at reform of the Catholic church and restoration of the early church began almost the second Martin Luther nailed his 95 theses to the church door. Sadly, the numerous divisions between the Catholics and Protestants are not easy to keep up.

The writer examines restoration attempts by such men as George Fox in 1651, John Wesley, and others. This book focuses on these restoration efforts in the American Culture including the Methodists and the Baptists (who became many different sects themselves). The book notes Campbell’s view in the early 1800s in America that all attempts to restore the early church had failed because they tried to reform more than restore. So, the writer spends time on the purest of the restorationists, the “Stone-Campbell” movement. He examines the failures and successes of those movements that are now experiencing significant (30-40%) losses in membership since 1985. The author’s main intent is to reach the point in the book where he can discuss the FIX. If you are interested in having strong worship centers for Christ and enabling Christians to draw on the unlimited power of God for their lives - then THIS IS THE BOOK FOR YOU![](url)
Release Blog: Stylex Compilation Error Resolution in Next.js Project
Published: 2023-12-12 20:52:37

We are excited to announce a new release that addresses a compilation error encountered while using Stylex in our Next.js project. This release represents a collaborative effort to understand, troubleshoot, and implement effective solutions to ensure the seamless integration of Stylex for styling in our applications.

Release Highlights

1.** Root Cause Identification**
In this release, our team focused on identifying the root cause of the compilation error. Through careful analysis and controlled testing, we successfully replicated the issue, enabling us to gain deeper insights into the conditions triggering the error within the stylex.create() function calls.

2. **Documentation Review and Clarification**
Our developers revisited the Stylex documentation, paying meticulous attention to the sections related to dynamic values within stylex.create(). I compared the documented approach with our working solution and have clarified certain aspects to ensure better alignment between the documentation and actual implementation.

3. **Library Issue Report**
A comprehensive issue report has been prepared, detailing the observed inconsistency between the documentation and actual working solution. This report is submitted to the Stylex library maintainers, contributing to the improvement of the library for the benefit of the entire community.

**Conclusion**
This release represents a significant step forward in resolving the Stylex compilation error within our Next.js project. I appreciate the patience and collaboration of our community during this process. As always, your feedback is invaluable, and I encourage you to reach out with any questions or insights.

Though the maintainers have close the issue and taken this issue to solved in next issue with nextjs aliases but i have solved this bug and submitted a pull request.
sistema punto de venta para varias sucursales
Published: 2023-12-12 20:52:18

Descubre como llevar la administración de tu negocio con [Lidex EVO](https://www.lidexevo.com/), un programa punto de venta en línea para administrar varias sucursales, cajas y usuarios.
Además podrás llevar el control de bodega y manejo de inventario, gestionando almacenes desde cualquier lugar, desde cualquier dispositivo con acceso a internet 
 o con instalación local que te permite tener estabilidad sobre tu negocio. 
¡Adiós a las capturas dobles y traslados innecesarios, utiliza nuestra solución todo en uno y aborda tus necesidades de manera integrada!
Accede sin costo por 30 días en [www.lidexevo.com](https://www.lidexevo.com/)