teleren/devto huggingface dataset:
Planning to launch a SaaS? You need to know this one little thing.
Tags: feedback, saas
Published: 2023-03-20 22:47:26

While this concept I'm about to explain applies to everyone running a software as a service business, it will be of real importance to developers.

It's developers like you and I that don't really take in consideration feedback from users and kind of create this idea in their minds of how the product should feel like and then go knee deep in it without too much hesitation.

I've done this, and paid a steep price for my ignorance.

After I started Eyelet.io it got some great feedback right off the bat so I raised some money and then doubled down on the development of the product.

I wanted to build this extensive, over the top segmentation feature that would make Eyelet.io a force to be reckoned with.

Or so I thought.

There was a huge flaw in my plan. Only I was interested in that level of segmentation. 

Fast forward 6 months and an outrageous amount of money spent and my segmentation feature did nothing for us.

The cruel thing about this whole story is that I knew how to avoid it, I was warned about this becoming a possibility yet I still did it anyways.

The only thing I had to do is: **ask for user feedback**.

## Doubling down on user feedback

Once I've figured out that there a lots of other people like me I figured out how to use Eyelet in order to wrong my own wrongs, and who knows, maybe I'll ensure that one less SaaS founders follows in my steps.

Using the Eyelet bots, I've created a simple NPS survey that doubles down on the feedback aspect.

Instead of collecting a simple numeric score that represents the NPS, I'm using the actual feedback of all the previous users. This way I can gauge the satisfaction with the product or feature but also create a way to offer help depending on the most popular issues.

So if they offer a good feedback, I can ask for a review on G2 or Capterra, but if they have a bad experience, instead of ending the survey there I can provide help in the form of a product tour, a link to a roadmap or perhaps give them the option to schedule a call with our support team.

Clever, right?

Here's a video I've made on this subject, if you find it useful consider dropping a like.

{% embed https://www.youtube.com/embed/sPbmruAGXuY  %}

Good luck, and I really hope you'll be smarter than I was.
[ANN] go-testdeep v1.13.0 is available
Tags: go, framework, testing, testdeep
Published: 2023-03-20 22:04:43

A new release of [go-testdeep](https://go-testdeep.zetta.rocks) has just been published.

As a remainder, [go-testdeep](https://go-testdeep.zetta.rocks) is a powerful golang tests framework, using a comparison engine of its own and providing 67 operators to compare anything, in any situation, at any nested level.

Major features in this release follow:
- 5 new operators are available, allowing to test wrapped errors ([ErrorIs](https://go-testdeep.zetta.rocks/operators/erroris/)), channels content ([Recv](https://go-testdeep.zetta.rocks/operators/erroris/)) and only some elements of slices/arrays ([First](https://go-testdeep.zetta.rocks/operators/first/), [Grep](https://go-testdeep.zetta.rocks/operators/grep/) & [Last](https://go-testdeep.zetta.rocks/operators/last/));
- [JSON operator](https://go-testdeep.zetta.rocks/operators/json/) reaches an unmatched level so far, making it definitely the best solution to do JSON comparisons in golang world;
- [unique anchoring feature](https://go-testdeep.zetta.rocks/faq/#how-does-operator-anchoring-work) is now available using a new generic way, a must! ;)
- others details can be found [on the release page](https://github.com/maxatome/go-testdeep/releases/tag/v1.13.0).

Enjoy!

Home: https://go-testdeep.zetta.rocks
Repo: https://github.com/maxatome/go-testdeep
Godoc: https://pkg.go.dev/github.com/maxatome/go-testdeep/td

PS: don't mistake [go-testdeep](https://github.com/maxatome/go-testdeep) for go-test/deep, both are a tests framework, but [go-testdeep](https://github.com/maxatome/go-testdeep) is much more powerful in every situations.
Zig in MKProj?
Tags: zig, programming
Published: 2023-03-20 21:32:21

When I first saw Rust, I honestly couldn't get my head to understand it, and I ignored it. But some time later, I found it again and started working with it, and after three years, I am still working with it and creating such complex programs with it. 

I've found myself interested in system programming languages focusing on memory safety. I am actively reading the updates in the Carbon language, but one language that's also having lots of progress is Zig. 

Zig sounds like one of those random variable names like foo and bar, but this isn't any arbitrary language. It's a brilliant one. It has got me so interested that I will be looking to try and have this language become the second official language in my portfolio project, MKProj. Although the start will be slow as I'll have to split my time to try and learn this while still maintaining my other priorities, I am committed to having this language be part of my portfolio project. 

Why am I so interested in this language, however? First is that it can easily be placed into a C/C++ project. Secondly, it is robust, 
an optimal language that can be used to build reusable, maintainable projects, and I am fascinated by how it chooses to handle edge memory cases, such as running out of memory or how values are allocated and deallocated. 

One usage I see myself having this be part of is my toy language, Mufi-Lang. If my progress in this language goes well, I'll look into maintaining my version of Zig. But this is all speculation. For now, the first thing is to start learning...

If you're interested in Zig, I recommend looking at the [official site](https://ziglang.org/) for more information.
What's the difference between Nuxt js and Vite?
Tags: frontend, node, vue, react
Published: 2023-03-20 21:29:51

Nuxt.js and Vite are both front-end development tools, but they have different purposes and use cases.

Nuxt.js is a progressive web application (PWA) framework based on Vue.js. It helps developers build high-performance, server-side-rendered applications quickly and easily. Nuxt.js provides a lot of built-in features and functionality that makes it easy to create scalable and maintainable applications, such as automatic code-splitting, file-based routing, and server-side rendering.

On the other hand, Vite is a build tool that is designed to improve the development experience for modern web applications. Vite is fast and flexible, and it is optimized for building single-page applications (SPAs) and static sites. Vite is particularly useful for prototyping, because it has fast build times and can hot-reload changes instantly.

In summary, Nuxt.js is a complete front-end framework that provides a lot of built-in features for building scalable and maintainable PWAs, while Vite is a build tool that is optimized for building fast, lightweight SPAs and static sites.
Mis primeras 5 semanas en DEVELTREX
Tags: java, devjournal, motivation, springboot
Published: 2023-03-20 21:18:00

Durante mis primeras 5 semanas en Develtrex, he tenido la oportunidad de aprender mucho sobre el desarrollo de aplicaciones web y la implementación de microservicios. En particular, he adquirido experiencia en la creación de servicios REST con Spring Boot, así como en la configuración de MongoDB y en el flujo de trabajo con SCRUM. También he aprendido a realizar pruebas unitarias para garantizar la calidad de mi código y la fiabilidad de los servicios que desarrollamos.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4dgb4urvw22bpljii9aq.png)
Con respecto a los microservicios me he familiarizado con la suite de tecnologías de Spring Cloud que se complementan a Spring Boot, al día de hoy nos encontramos trabajando en un proyecto donde implementamos distintos microservicios que se comunican entre sí, para su registro hemos utilizado Eureka Server, también Spring Cloud API Gateway para monitorizar y el enrutamiento de los microservicios, las configuraciones de todos los proyectos se ha implementado un server de configuración donde se centralizan todas las configuraciones para ello se utilizó (Spring Cloud Config Server), en esta instancia aprendí que es importante definir diferentes archivos de configuración según la instancia en que se encuentre el proyecto, el cual fue trabajado en base a una arquitectura modular.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hbq8l57ug8wdyq147z7k.png)
En Develtrex, he tenido la oportunidad de trabajar en proyectos reales y de colaborar con un equipo de desarrolladores, donde todos trabajamos con el fin de un objetivo lo cual me ha ayudado en mejorar mis habilidades blandas. Esto me ha permitido mejorar mis habilidades de programación y aprender de las mejores prácticas del sector. Estoy emocionado de seguir creciendo y aprendiendo en Develtrex, y estoy agradecido por la oportunidad de trabajar en una empresa que valora el desarrollo profesional y la innovación tecnológica. Muchas gracias a Jofrantoba por la oportunidad.

Comparto los siguientes repositorios con algunos de los proyectos realizados :

- [Microservicios,EurekaServer,ConfigServer, API Gatewat, etc.](https://github.com/OxalcVasquez/icl)

- [Implementación de Zuul con Spring Boot](https://github.com/OxalcVasquez/Zuul2-SpringBoot)

- [Modular Backend App](https://github.com/OxalcVasquez/devolnew)

- [Implementación de Eureka Server](https://github.com/OxalcVasquez/EurekaServer)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9fagv9tko9gj2gen9zl5.png)
How can I make a dynamic image overlay like this using PHP or node.js?
Tags: help
Published: 2023-03-20 21:17:33

How can I use PHP or node.js to add an overlay and dynamic text for cover images?

The frosted/blurred overlay background is dynamically generated using either PHP, or node.js image manipulation. The dynamic text on top of that is the easy part for me. 

It appears the blurred background of the overlay is a zoomed version of the image on the right side. 

I start with a base cover image. I can do the text and everything else, but it's the blurred transparent overlay background that I have issues understanding how they did it. the skewed/angle and frosted/blur to be specific.

any ideas how this was made using php or node.js?

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wfpqeco8goil43po5ebe.png)
StackFoss: The Ultimate Q&A Platform for Open-Source Enthusiasts
Tags: news, opensource, community
Published: 2023-03-20 21:09:55

[StackFoss](https://www.stackfoss.com) is a Q&A platform that is focused on open-source development and programming languages. It is a vibrant community-driven platform where developers can share knowledge, learn, and collaborate with one another. StackFoss offers a range of features to its users, including:

1. Question and Answer Forum — StackFoss has a forum where users can ask questions and get answers from the community. Users can also vote on the best answers to help others find the most helpful responses.

2. Tags — Users can tag their questions and answers with relevant keywords to make them easier to find.

3. User Profiles — StackFoss has user profiles that display a user’s activity on the platform, including their questions, answers, and contributions to the community.

4. Reputation System — Users can earn reputation points by asking and answering questions, which helps to build their credibility within the community.

5. Open-Source Focus — StackFoss is dedicated to open-source development and programming languages. This means that users can find information on a wide range of open-source technologies and get help with specific open-source projects.

[StackFoss](https://www.stackfoss.com) differs from other Q&A platforms because of its focus on open-source development and programming languages. Unlike other platforms that cover a broad range of topics, StackFoss is dedicated to helping developers find answers to specific technical problems related to open-source technologies. This makes it a valuable resource for developers who are working on open-source projects.
So much to worry bout with online scam
Published: 2023-03-20 21:01:15

If you've been a victim of cybercrime, you know how frustrating and overwhelming it can be. That's where cyb3rnub comes in. As a specialized cyber security firm, they have the expertise to investigate and reimburse victims of Bitcoin fraud, internet dating scams, and data theft. Their team is dedicated to helping individuals and businesses recover losses, and their commitment to customer service is second to none. I highly recommend xxx to anyone who may be in need of similar services. Don't let cybercrime ruin your life - contact Cyb3rnub/net today for the help you need.
AI Replaces Managers: The End of Human-Led Software Teams
Tags: management, idea, ai, career
Published: 2023-03-20 20:58:49

Lets imagine scenario where AI replaces the role of a Engineering Manager, the transition could look like this:

**Initial meeting and requirement gathering:** A virtual meeting is set up with the involvement of the lead engineers, QA team, product designer, and the product manager. The AI, acting as an intelligent assistant, joins the meeting to understand the requirements and record relevant information.

**Requirement analysis and clarification:** The AI assistant reviews the product requirements and proactively clarifies any ambiguous points by asking relevant questions to the team members.

**Risk assessment and roadblock identification:** The AI assistant analyzes the requirements and identifies potential roadblocks, risks, and dependencies.

**Effort estimation and resource allocation:** The AI assistant uses historical data to estimate the effort required for each task. It then recommends a resource allocation plan, taking into account the skills and availability of the team members.

**Task creation and prioritization:** The AI assistant generates a list of tasks with detailed descriptions and breaks them down into smaller, manageable sub-tasks. It then assigns priorities to each task based on factors like dependencies, business value, and risk.

**Project planning and timeline creation:** The AI assistant creates a project plan, including a detailed timeline with milestones and deadlines. This plan is shared with the team for review and adjustments as needed.

**Monitoring progress and adjusting scope:** During the feature development, the AI assistant monitors the team's progress by analyzing data from various tools like version control systems, issue trackers, and time tracking systems(?). It can detect deviations from the plan and suggest corrective actions, such as re-allocating resources or adjusting the scope.

**Communication and reporting:** The AI assistant ensures that all team members are kept informed about the project's progress and any changes to the plan. It can generate regular status reports and share them with stakeholders, highlighting any potential risks or issues that need attention.

**Post-release analysis and improvement:** Once the feature is released, the AI assistant gathers feedback from users, team members, and other stakeholders. It analyzes this feedback and suggests improvements for future projects, such as process optimizations or technology updates.

In this scenario, the AI assistant effectively takes on the responsibilities of a Engineering Manager, allowing the team to focus on their core competencies while ensuring efficient project execution.
Javascript Factory Design Pattern
Tags: javascript, designpatterns, factory, programming
Published: 2023-03-20 20:58:11


Design patterns are templates or solutions for common software development problems.

Design patterns are divided into three categories.
1. Behavioral 
2. Creational
3. Structural

The factory pattern is a creational design pattern that provides a generic interface for creating objects.

EX:- 
 

```
function Developer(name , experience) {
    this.name = name;
    this.type = "Developer";
    this.experience = experience;
}
function Tester(name, experience) {
    this.name = name;
    this.type = "Tester";
    this.experience = experience;
}
function EmployeeFactory() {
    this.create = (name, type) => {
        switch (type) {
            case 1:
                return new Developer(name,4);
                break;
            case 2:
                return new Tester(name,6);
                break;
        }
    }
}

function say() {
    console.log("i am " + this.name + " i am a " + this.type +" and having a "+ this.experience +"years of experience ");
}

let employees = [];
const employeeFactory = new EmployeeFactory();
employees.push(employeeFactory.create("Sam", 1));
employees.forEach((employee) => {
    say.call(employee);
});
```
As you can see, we have created developer and Tester objects with their names. Using this pattern you could create as many objects you require each with their own name and experience.
Review posting
Tags: beginners, programming, backend
Published: 2023-03-20 20:29:43

##1. Basic coding words

**Object** has states and behaviors.
**Class** describes the attributes and behaviors of the object.
instantiate: creating an object using the "new" keyword.
(Class는 새로운 object를 만드는 것이고 그 만드는 것을 instantiate라고 한다.)
Class 안에는 attributes, methods 들이 있고, 이 class에서 만든 object들은 이 attributes들과 methods를 가진다.

**primitive type** is predefined by the language such as int or boolean. If the Class creates a new object, it has the class type which was defined in the Class.

##2. Relationship between Variables, Objects, and Memory

**Application** is a set of commands that a computer can execute to provide functions for the users.
**Memory** is the place where the executed application resides. Memory allocated to the application is internally divided into several areas.
&rarr;**Identifier**: name given to entity(이름)
&rarr;**Variable**: name given to location(실제 메모리 위치)
**CPU** is the computational unit that executes commands.

**Stack memory**
Whenever a function or method is called, a stack frame is stacked in the stack memory.

**Heap memory**
Heap memory is used during the creation of an object, and stack memory is also used for it. However, in the stack memory, there is "this" which points to the heap memory's address.

##3. How can multiple programs be executed?
**Process** is a program that is running on a computer. Each process is assigned an independent memory space.
**Thread** is a unit of execution. A process can have more than one thread.

**Multi-tasking**: The multiple processes and threads are sharing a core and executing very short CPU time slices alternatively.
**Multi-processing**: A system that utilizes two or more processors or cores.
**Multi threading**: A single process executes multiple tasks(dual threads) simultaneously. Each core executes one task in parallel.

##4. What is context switching?
**Context Switching**
The process of replacing a running process/thread with another process/thread on a CPU/core.
**- Process context switching**
→ additional processing related to virtual memory addresses is performed. MMU TLB

**- Thread context switching**
→ memory-related processing is not needed because memory is shared within the same process
TIL 3/20/23
Published: 2023-03-20 20:56:43

Today I have continued to work in ruby. I have worked on integers, float, and strings. I am currently struggling with Integers and float. Today my teacher assistant cleared up what gets.chomp means. Apparently I have been using it all wrong.

Currently I am on float and this is my question to complete:
# Output ten divided by 3 rounded to 3 decimal places

I feel like I am overthinking it. I have tried different variations but I cannot figure out how to round it to the 3rd decimal.
My answer at the moment is: p 10 / 3.round(3).to_f
the output keeps coming out as 3.333333333333

I will work on figuring this out tonight!
A Simple Health Check Tool
Tags: opensource, blog, github, healthchecks
Published: 2023-03-20 20:45:26

# health-checks
A Simple Health Check Tool

## Background
CloudFlare provides Health Checks but you have to be on a paid plan. [Vultr](https://helloacm.com/out/vultr) provides Free-Tier VPS (512 MB, 1 Core, 10 GB SSD, 2 TB Bandwidth).

This lightweight VPS does not have much RAM - so it cannot run heavy applications, but this (health check) tool should be a good use case for it.

## Acknowledgement
Most code at the "init commit" is done by [ChatGPT](https://helloacm.com/chatgpt-designs-a-health-check-tool-in-node-js-to-run-on-free-vps-instance/). Thank you!

## How to Run?
No docker - as you probably can't run docker on it. You can either run it in `screen` or `pm2` so that it will stay in background.

### Config.json
Change `config.json.sample` to `config.json` and modify the content necessary - which should be pretty straightforward.

### Run Health-Checks
Simply Run `node health-checks.js`,

Example:

![image](https://user-images.githubusercontent.com/1764434/226456987-049768c5-f00d-4bd8-9829-7455de428a77.png)

In case of failures:

![d59cb84041082bcf257cadacf9f434d](https://user-images.githubusercontent.com/1764434/226457048-a378637f-9cba-4d5e-a830-4ec05330207b.png)

You should get an email, if configured correctedly.

![efcef2260e1f5815890b0035ecfcba7](https://user-images.githubusercontent.com/1764434/226457115-dcf56438-f820-4df8-868f-a4454aacdb6e.png)

## TODO:
Configure a max email per period (PR welcome)

## Support
If you find this useful, [why not buy me a coffee](https://justyy.com/out/bmc)? Thanks!

**Github: https://github.com/DoctorLai/health-checks**

<hr/>

### [Steem](https://steemyy.com) to the Moon!
1. You can swap the STEEM/SBD to USDT (TRC-20) via [Steem2USDT](https://steemyy.com/steem2usdt.php)
2. Register a free STEEM account at [here](https://steemyy.com/reg.php)


https://justyy.com/png/whale.png
Teaminal - Agile without the overhead
Tags: agile, saas, scrum, kanban
Published: 2023-03-20 20:14:10

Teaminal is an agile meeting tool for distributed teams. It lets you run your team's standup, retro, sprint planning, and backlog refinement meetings asynchronously in Slack, Teams, or email. It also has deep integrations with tools like Jira, Asana, GitHub, and GitLab, so you can see your team's recent activity alongside status updates and in retros.

Get started for free!

[https://www.teaminal.com](https://www.teaminal.com)