teleren/devto huggingface dataset:
which is better to brute force a zip file, fcrackzip or hashcat?
Tags: tutorial, linux, tooling, opensource
Published: 2023-06-03 23:02:17

I've had my fair share of experience with cracking zip files, so I'll be happy to share my thoughts with you.

Now, when it comes to brute-forcing a zip file, both fcrackzip and hashcat are popular tools that can get the job done. However, they have their own strengths and weaknesses, so it ultimately depends on your specific requirements and preferences.

Fcrackzip is a straightforward and user-friendly tool. It's quite efficient when the password for the zip file is weak or easily guessable. It uses a [dictionary attack](https://y3llowl4bs.com/cracking-wpa-with-oclhashcat-gpu-on-windows/), where it tries a list of commonly used passwords or a custom wordlist to crack the file. If the password is relatively simple, fcrackzip can often break it quickly.

On the other hand, Hashcat is a more powerful and versatile tool. It supports various attack modes, including brute-force, dictionary, and mask attacks. It utilizes the processing power of your graphics card (GPU) to accelerate the cracking process, making it significantly faster compared to fcrackzip in certain scenarios. However, using Hashcat may require more technical knowledge and setup.

Now, as for which one is better, it really depends on your specific situation. If you're dealing with a simple password and want a straightforward solution, fcrackzip could be a good choice. But if you're looking for more advanced features and faster cracking speeds, Hashcat might be worth exploring.

Remember, though, that brute-forcing a zip file can take a considerable amount of time and resources, especially if the password is complex. It's always a good idea to ensure you have the legal authority to access the contents of the zip file before attempting to crack it.

I hope this sheds some light on your question! If you have any more doubts or need further assistance, feel free to ask. Good luck with your endeavors!
Public C# methods VS public Go functions 🤺
Tags: go, csharp, programming, tutorial
Published: 2023-06-03 22:55:28

In **C#** to create a public method you must use this:

```csharp
public void CreateBook(Book book){
   //do something
}
```
In **Go** to create a public function you must use this:

```go
func CreateBook(product *structs.Product) error {
   //do something
}
```

Note that in C# it is necessary to use the reserved word `public` and to create a private method, `private` is used. 

In C# they are called Access Modifiers, there are others, you can check the complete list here: [C# Access Modifiers - Reference](https://learn.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords /access-modifiers).

In Go to differentiate public from private functions, the initial of the function name is used. 

For public functions, capital letter is used. Example: _**C**reateBook()_.

For private functions use lowercase initials. Example: _**c**reateBook()_.
Techinical Debt; what is it?
Tags: discuss, tutorial, beginners, learning
Published: 2023-06-03 22:45:08

Imagine you're building a house. You want to finish it quickly, so you take some shortcuts along the way. You use low-quality materials, skip some important steps, and don't do thorough testing. The house is functional, but it's not built to last and has several issues.

Technical debt is like those shortcuts in software development. When developers rush to meet deadlines or take quick solutions, they accumulate technical debt. They might write code that is not well-structured or lacks proper documentation. They may skip optimizing performance or addressing underlying issues. These shortcuts make the software work for now, but over time, they create problems, like bugs, slower performance, and difficulty in adding new features.

Just as a house with shortcuts needs maintenance and repairs, software with technical debt requires extra effort and resources to fix and improve it in the future. So, technical debt is the consequence of taking shortcuts during development, which leads to additional work later on to fix and improve the software.

Acknowledgement: this post was written with the help of, but not by ChatGPT.
Azure Mobile App
Published: 2023-06-03 22:43:15

Azure Mobile App is a mobile application developed by Microsoft that provides users with the ability to manage and monitor their Azure resources directly from their mobile devices. It is available for both iOS and Android platforms.


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

With the Azure Mobile App, users can perform a variety of tasks related to their Azure resources, including:

**Monitoring:** Users can view the health status, metrics, and logs of their Azure resources, such as virtual machines, web apps, databases, and more. They can also set up alerts to receive notifications about any issues or changes in resource health.

**Resource Management:** The app allows users to manage their Azure resources, including starting or stopping virtual machines, scaling up or down web apps, and managing storage accounts. Users can also perform basic administrative tasks like restarting virtual machines and deleting resources.

**Troubleshooting:** The app provides access to troubleshooting and diagnostic tools for Azure resources. Users can analyze logs, run queries, and track performance metrics to identify and resolve issues with their resources.

**Notifications and Alerts:** Users can configure notifications and alerts for their Azure resources. They can receive push notifications on their mobile devices when specific events or conditions occur, such as resource health changes, alerts triggered, or deployment status updates.

**Azure Cloud Shell:** The app includes an integrated Azure Cloud Shell, which is a browser-based command-line interface for managing Azure resources. Users can execute commands and scripts directly from the mobile app.

Overall, the Azure Mobile App offers a convenient way for Azure users to stay connected and manage their resources on the go, providing flexibility and convenience in managing their Azure infrastructure from their mobile devices. You can download the Azure mobile app for iOS or Android from their respective stores.
The Use of the Azure Mobile app
Tags: cloudcomputing, azure, mobileapp, microsoftcloud
Published: 2023-06-03 22:35:25

#Introduction# 
Users of the Azure Mobile App may manage and monitor their Azure resources while on the go. It offers a practical method for accessing and managing numerous Azure cloud services features from mobile devices like smartphones and tablets. Developers can easily and quickly build up a mobile backend using Azure Mobile Apps to offer access to data and backend services from anywhere. It works with a wide range of clients, including Windows, iOS, and Android operating system. It offers a wide range of capabilities, including push notifications, structured storage, offline syncing, authentication and authorization, and analytics. 

![Azure mobile App](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nugehic18a8layorq13r.jpg)

The Azure Mobile App has the following major applications and features:

1. Resource Management: Users may use the mobile app to directly manage their Azure resources. It also involves Autoscaling and Manual scaling i.e. scaling up or down resources, managing storage accounts, configuring network settings, and starting, stopping, and restarting virtual machines.

2. Resource monitoring: Via the Azure Mobile App, users can monitor the performance, availability, and general health of their Azure resources. Users can proactively find and fix problems due to the notifications and status updates it offers in real-time.

3. Alert management: Users may configure and control alerts for their Azure resources using this app. To ensure timely knowledge of important occurrences, they can establish custom rules and thresholds to get notifications when certain criteria are satisfied.

4. Security and Identity: Users may monitor and manage Azure Active Directory (AD) resources, including as user accounts, groups, and application registrations, under the security and identity tab. This aids in controlling access and safeguarding Azure resources.

5. Cost management: The Azure Mobile App offers information on how much Azure resources are used for and how much they cost. To successfully manage expenditures, users may track their spending, check billing information, set up budgets, and get warnings.

6. Resource Discovery: Users may explore and discover a variety of Azure resources and services with the app. They may access pertinent documentation and support data, inspect the configurations of the resources, and do particular resource searches.

7. Service Health: Users may remain up to current on Azure upgrades, planned maintenance, and service interruptions. The app gives users access to information on the general condition of Azure services and regions.

In conclusion, Users may easily and conveniently stay connected to their Azure resources and carry out necessary administration tasks while on the go with the help of the Azure Mobile App. Users can react rapidly to any changes or issues due to the increased flexibility and agility of managing Azure services.
Docker Notlarım :
Tags: turkish, docker
Published: 2023-06-03 22:23:54

Merhaba arkadaşlar,
Docker öğrenirken aldığım notları paylaşmak istedim, temelleri konu alan bir yazı olacak bu sebeple.

# Docker nedir ?

Öncelikle container nedir bunu tanımlamak lazım sebebi ise aslından docker, uygulamarı(programları) containerlar halinde tutmamızı sağlayan open source bir teknolojidir.

### Şimdi container ne demek ?
Container, uygulamarı ve ya programları configurasyon ve bağımlıklıklarıyla(dependencies) izole bir şekilde tutan yapıya denir.

Container'lar, os(operating system) bilgisi içermezler.
Aşağıdaki resimde de görüleceği üzere container'lar os level'inin üzerinde çalışır.

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

Peki docker'ın amacı uygulamaları izole bir şekilde tutan container'lar üretmekse bir container nasıl oluşturulur ?

Bunun cevabını verebilmek için bazı terimleri açıklamam lazım.

Öncelikle container'lar çalışan yapılardır ve bu çalışan yapıların kalıplarına ise images diyoruz yani bir container çalışan bir image'dir diyebiliriz. Veya images'lere container'ların template'leri/kalıpları diyebiliriz.

Yani container'lar çalışan image'lardır.

Ek bilgi : 
Docker Registry image'lerin tutulduğu bir portal olarak düşünebilirisiniz, docker hub gibi örneğin. Git ve github ile benzetme yapıcak olursak : _git repolarına-images_ ve _Docker Registry-github_ ile eşleşme yapılabilir.

Not : Bu serinin bir sonraki yazısında bir dotnet projesinin nasıl Dockerfile yaratılır, image yaratılıp daha sonra bu image'den bir container nasıl ayağı kaldırılır göstereceğim.

### Kısaca genel yapıya bakalım :
#### Bir image nasıl yaratılır ?
öncelikle projenin bulunduğu dizinde bir Dockerfile yaratılır.

> docker image

komutuyla image yaratılır komut hakkında yardım almak için.

> docker image --help

yazabilirsiniz.

#### Docker container nasıl ayağı kaldırılır.
aşağıdaki komu ile ile bir container, verilecek olan spesifik image template ile ayağı kaldırılır.
> docker run 

komut hakkında yardım almak için :
> docker run --help

yazabilirsiniz.



Bir sonraki yazımda default bir dotnet projesi üzerinden, docker image nasıl yaratılır ve container'ı nasıl bu image template'i üzerinden ayağı kaldırılabileceğini dair örnek vereceğim.



Kaynakça : 
[knowledgehut](https://www.knowledgehut.com/blog/devops/devops-containers)
[ibm](https://www.ibm.com/docs/en/linux-on-systems?topic=linuxonibm/com.ibm.linux.z.ldvd/ldvd_c_docker_host.htm)
How to integrate Cypress (with GUI) on Vue project using Docker
Tags: vue, docker, testing
Published: 2023-06-03 21:56:18

Hey! How are you ? I hope you doing well :)

This time I will show you how to run Cypress inside a Docker container (with GUI option), so you can make your e2e tests without need to install Cypress dependencies (browsers) in your host machine!

-----

## Pre-requisits:

- Docker
- X11 server
- Vue project

I recommend you to use Linux. If you are using Windows I recommend you to use WSL2.

## Let's do this!

-----

## Step 1 - Create docker-compose file for your project
Go to root project folder and create a file called: `docker-compose.yml`. Copy/paste this code:

```
version: '3.8'
services:
  app:
    image: node:20.1.0
    container_name: vue-project
    working_dir: /vue-app
    volumes:
      - ./:/vue-app
    command: bash -c
      " npm install
      && npm run dev"
```

This code creates a container with Node 20 for your Vue project.

`command`: this option runs `npm install` and `npm run dev` after. Make sure you have `dev` script on your *package.json* or just change the script here for your context.

## Step 2 - Create docker-compose file for Cypress
Go to root project folder and create a file called: `docker-compose-e2e.yml`.

Put this code into this file:

```
version: '3.8'
services:
  cypress:
    image: cypress/included
    working_dir: /e2e
    container_name: vue-project-e2e
    entrypoint: "cypress open --project ."
    volumes:
      - ./tests/e2e:/e2e
      - /tmp/.X11-unix:/tmp/.X11-unix
    environment:
      - DISPLAY
```

This code create Cypress service with official Cypress Docker image that you can find on https://hub.docker.com/.

`entrypoint: "cypress open --project ."`: It means this container will run this command when startup. Basically this command run Cypress inside the current folder.

`- ./tests/e2e:/e2e`: Creates a volume only for e2e tests folder. This is important because the code above will break without this. You can change the volume name on your host machine as you want.

`- /tmp/.X11-unix:/tmp/.X11-unix`: This is the basic GUI structure for Linux to make the connection between container and host for Cypress GUI can works.

`- DISPLAY`: It's Cypress enviroment variable for display GUI.

## Step 3 - Running Cypress with GUI
Run this command:
`docker compose -f docker-compose.yml -f docker-compose-e2e.yml up --exit-code-from cypress`

You can put this into your *package.json* to make easy to use.

Now you are ready to create your own E2E tests. I will not cover Cypress configuration this time, maybe later if you like this post! ;)

-----

Nice, right ?! :)
If you like this tutorial, please like, follow, and comment.

Thank you and I see you next time! ;)
Power of Web3 Unveiled: Reasons to Dive In As a Developer
Published: 2023-06-03 21:41:24

If you're a developer there is no way that you have not heard of web3. I am not gonna explain the in and outs of blockchain/web3 in this post because most of you know this and if you don't there are plenty of resources available for the same. 

In this post, let's explore why it's high time you should start learning and building on the next generation of the internet now without giving it any second thought.

**1. Join the revolution in its early phase.**

Web3 is still in its early stages, which means that there is a lot of opportunity for developers to get involved and help shape the future of the internet. If you are a developer who is looking to make a real impact, Web3 is the place to be.

**2. Opportunity to make build something fascinating.**

Web3 is a new and exciting platform that allows developers to build applications that are truly groundbreaking. You can build applications that give users more control over their data, applications that are more secure and resistant to censorship, and applications that are simply more fun and engaging.

**3. AI might replace some developers, but web3 developers seem safe.**

Artificial intelligence (AI) is rapidly changing the tech industry, and some experts have predicted that AI will eventually replace many jobs, including some development roles. However, Web3 developers are in high demand, and it is unlikely that AI will replace them anytime soon. This is because Web3 development requires a unique set of skills and knowledge that AI does not yet have.

**4. Huge scope to make money.**

There is a lot of money to be made in Web3. Developers can earn money by building and selling decentralized applications (dApps), investing in cryptocurrencies, and staking tokens. The potential rewards for Web3 developers are significant, and this is one of the reasons why so many people are excited about the future of Web3.
Web3 is genuinely fun & amazing. Building on Web3 is a challenging and rewarding experience. You will have the opportunity to learn new things, work with cutting-edge technology, and be a part of something truly groundbreaking. If you are looking for a new challenge, Web3 is the perfect place to start.

**Start building on web3 today!**
[HUGO]: How to use variables from .env
Tags: hugo, env, security
Published: 2023-06-03 21:27:33

The initial task you need to accomplish on Hugo is how to add variables from .env to JavaScript when building the site using **hugo server** or **hugo --gc --minify** after deploying on Netlify.
And what I understand after researching for this:

- touch .env file and add variables with names that start with HUGO_PARAMS_ as required [read](https://discourse.gohugo.io/t/access-netlify-environment-variable-in-shortcode/37692/12)

- Add to config.toml

```
[security]
  enableInlineShortcodes = false
  [security.funcs]
    getenv = ['^HUGO_']
```

- Add to Netlify Deploy Environment variables from .env

- Add to \layouts\_default\baseof.html something like this

```
<script>
const apiKey = "{{ getenv "HUGO_PARAMS_FIREBASE_API_KEY" }}";
//console.log('apiKey', apiKey);
</script>
```

- Deploy that
That's all, it will be a success.

To run it locally, you will need to write all the variables in the following format:

```
env HUGO_TITLE="Some Title" hugo server
```
(I couldn't find any other way, and it's terribly inconvenient)
[read](https://github.com/gohugoio/hugo/issues/6276)

---
Sources: [1](https://gohugo.io/getting-started/configuration/#configure-with-environment-variables) [2](https://gohugo.io/functions/getenv/) [3](https://gohugo.io/about/security-model/#security-policy) [4](https://discourse.gohugo.io/t/access-netlify-environment-variable-in-shortcode/37692/11)
Nvidia launches Neuralangelo an AI framework to create 3D models of objects from videos
Tags: ai, machinelearning, news
Published: 2023-06-03 19:56:29

Nvidia which recently touched a market cap of 1 trillion dollar has become one of the biggest companies in the world. On the 1st June it launched a framework for 3d surface reconstruction of objects from just their videos using neural networks.

According to their official website Neuralangelo is defined as 

> Neuralangelo is a framework for high-fidelity 3D surface reconstruction from RGB video captures. Using ubiquitous mobile devices, we enable users to create digital twins of both object-centric and large-scale real-world scenes with highly detailed 3D geometry.

To know more about it please visit the link - https://research.nvidia.com/labs/dir/neuralangelo/ 

The capabilities of this framework can be seen in the following youtube video 

{% embed https://youtu.be/Qpdw3SW54kI %}
Engineering Game Manifest
Tags: gamedev, softwareengineering, leadership, learning
Published: 2023-06-03 19:52:09

## Blueprint of Our Future
Our world is built by engineers, visionaries who transform the realm of imagination into tangible reality. In 2023, software engineers are at the forefront, crafting the blueprint of our future. The complexity and sophistication of their discipline are unparalleled, making it one of the most intricate fields in today's rapidly evolving world.

## Gaming Industry: An Engineering Game Void
Strangely enough, the gaming industry seems to be trailing behind in providing authentic and engaging engineering games. The market is awash with games of all genres and styles, yet a significant void exists when it comes to games focused on engineering, particularly software engineering. There is a distinct lack of hands-on, interactive experiences that effectively simulate the complex processes and challenges of engineering projects.

## Filling the Gap
This gap needs to be filled. The significance of engineering in our lives and its role in shaping our future underscores the importance of making this field more accessible, engaging, and comprehensible to a broader audience. This accessibility can be achieved through the medium of gaming, offering a platform that combines entertainment with education.

## Vision for an Authentic Engineering Game
I envision a game that incorporates the core pillars of engineering – innovation, system simplification, and customer satisfaction. It will not just be a game about building structures or solving puzzles, but a comprehensive simulation of real-life engineering scenarios. Players will be immersed in the world of engineering, tackling the complexities of managing software projects, devising strategies to reduce system complexity, and brainstorming innovative solutions.

## The Game's Goal
Most importantly, this engineering game will aim to foster a deeper appreciation of software development among players. It will encourage them to think critically about the role engineering plays in our world today and its potential in the next fifty years. The ultimate goal is to inspire more individuals to explore engineering as a career, contributing to a future built on the backbone of sound and innovative engineering practices.


[Original article
](https://mitrapunk.com/engineering-game/)

[The Game on Steam](https://store.steampowered.com/app/2436030?utm_campaign=dev_game)
multiple DevC++ projects
Tags: programming, c, cpp
Published: 2023-06-03 19:50:33

I have several projects that I want to make from existing source code files from a C++ book in one folder. If I make a project and then install source files I will have a makefile for this project.  Since I have several source files in the same folder I don't think making more than one project in the same folder will work out well because of multiple makefiles in the same folder. Any ideas on this predicament?
syd/wt1v