teleren/devto huggingface dataset:
Good alternatives to Heroku
Published: 2024-05-26 00:23:30

A while ago, I attempted to deploy a side project on Heroku, and, to my surprise, a lot had changed on the platform. Basically, Heroku's free-tier service was no longer available. This was not only bad news for me, but also for every Rails developer who had side projects running there.

So, I went to Twitter to express my concerns about these changes and received many replies suggesting good alternatives. As a result, I have compiled all these suggestions here for you and for my future reference

#### Here's the list:
1. [Digital Ocean](https://www.digitalocean.com/) -
Good prices, documentation and they have something similar to Heroku with App Platform. Good for small and big projects.

1. [Hetzner](https://www.hetzner.com/de/) -
Very similar to Digital Ocean, you can create VPS, databases, load balancers and more. Good prices and it can handle both big and small projects.

1. [Vercel](https://vercel.com) -
Never used but and it seems very specific for Frontend developers.

1. [Fly.io](https://fly.io/) -
Very similar to Heroku too, easy to use and support for multiple stacks/languages.

1. [Pocketbase](https://pocketbase.io/) -
Never used before but it says in their home page the following: "Open Source backend for your next SaaS and Mobile app in 1 file". Seems porwerful.

1. [Planetscale](https://planetscale.com) -
Directly from their website: "PlanetScale is a MySQL-compatible serverless database that brings you scale, performance, and reliability — without sacrificing developer experience."

1. [Render](https://render.com/) -
I think render is more like a cloud agnostic builder/runner platform, this means that your application needs to be hosted somewhere else.

1. [Railway](https://railway.app/) -
Language agnostic and for projects big and small. Never used but it seems very easy to use like Heroku.

1. [Subpabase](https://supabase.com/) -
Like Planetscale this is only for databases. It is an open source Firebase alternative for building secure and performant Postgres backends with minimal configuration.

1. [Oracle Cloud](https://www.oracle.com/cloud/free/) -
Oracle Cloud offers a free-tier for a year.

1. [AWS Amplify](https://docs.amplify.aws/) -
Very easy to use, connects to your github repository and can also create review apps based on branches.

1. [Cyclic](https://www.cyclic.sh/) -
"Connect your GitHub repo. We will build, deploy and manage the hosting."

And last but not least, [Netlify](https://www.netlify.com/), which is the one I use to host this website(for free). [Hugo](https://gohugo.io/) + Netlify is a powerful combination.

If you have any suggestions that I might have missed, feel free to post in the comments.
Desvendando o Futuro do Desenvolvimento de Aplicativos com .NET MAUI
Tags: csharp, xamarinforms, beginners, softwaredevelopment
Published: 2024-05-26 00:01:12



No mundo dinâmico e em constante evolução do desenvolvimento de software, a busca por frameworks eficientes e versáteis é incessante. É nesse contexto que o .NET MAUI (Multi-platform App UI) surge como uma verdadeira revolução, proporcionando uma plataforma unificada para a criação de aplicativos nativos que funcionam em diversas plataformas. Neste artigo, vamos explorar as vantagens e inovações que o .NET MAUI traz para os desenvolvedores e como ele pode transformar sua abordagem ao desenvolvimento de aplicativos.

 O que é o .NET MAUI?

.NET MAUI é a evolução do Xamarin.Forms, projetado para simplificar o desenvolvimento de aplicativos que podem ser executados em Android, iOS, macOS e Windows. Ele unifica as diferentes APIs e frameworks de UI em uma única base de código, permitindo que os desenvolvedores escrevam uma vez e executem em qualquer lugar. Com .NET MAUI, você pode criar interfaces de usuário nativas, garantindo desempenho e experiência de usuário excepcionais em todas as plataformas suportadas.

Principais Benefícios do .NET MAUI

1. Desenvolvimento Unificado: Com .NET MAUI, você pode utilizar uma única base de código C# para desenvolver aplicativos que funcionam em várias plataformas, reduzindo significativamente o tempo e os custos de desenvolvimento.

2. Desempenho Nativo: Aproveitando o poder das APIs nativas, .NET MAUI garante que os aplicativos tenham desempenho e aparência nativa em cada plataforma, proporcionando uma experiência de usuário de alta qualidade.

3. Componentes Reutilizáveis: A arquitetura modular do .NET MAUI permite a criação e reutilização de componentes, facilitando a manutenção e evolução dos aplicativos.

 Inovações e Recursos do .NET MAUI:

-Suporte a MVU (Model-View-Update): Além do padrão MVVM (Model-View-ViewModel), .NET MAUI oferece suporte ao padrão MVU, proporcionando maior flexibilidade na escolha da arquitetura de aplicativos.

-Gráficos e Desenhos com SkiaSharp: Integração com SkiaSharp permite criar gráficos e animações complexas, oferecendo uma experiência visual rica e interativa.

- Integração com Blazor: .NET MAUI suporta Blazor, permitindo que os desenvolvedores criem interfaces de usuário utilizando componentes web e tecnologias modernas, como o WebAssembly.

Conclusão:
.NET MAUI representa um grande avanço no desenvolvimento de aplicativos multiplataforma, oferecendo uma combinação poderosa de eficiência, flexibilidade e desempenho. Para os desenvolvedores, isso significa a possibilidade de criar aplicativos robustos e atraentes com menor esforço e maior produtividade. Ao adotar .NET MAUI, você está se posicionando na vanguarda da tecnologia, pronto para enfrentar os desafios do futuro com confiança e inovação.

Aproveite para explorar o .NET MAUI e descobrir como ele pode transformar seus projetos e impulsionar sua carreira no desenvolvimento de software. O futuro é multiplataforma, e com .NET MAUI, você estará preparado para criar aplicativos que encantam e surpreendem em qualquer dispositivo.
DISCOVERING ZAP: An Interesting New Part Of The BLAST Ecosystem (Blockchain World)
Tags: block, web3, blastecosyste, zap
Published: 2024-05-25 23:17:18

With blockchain technology, we know how fast it has been and all the amazing ecosystems that have been built on it. All of these ecosystems tend to create and beautify a decentralized world. Now, ranging from layer 1 ecosystem Ethereum, which we are calling the father of all blockchain ecosystems, to layer 2 ecosystems.

This article will brief you on layer 2 ecosystems and introduce you to ZAP, a project on layer 2 ecosystems.

**Layer2 Ecosystems**
The overwhelming load on the layer 1 ecosystem led to the breakthrough of layer 2 ecosystems such as Optimum,Polygon, and Blast, etc.

This intervention of layer 2 has made the decentralized world:

- Eco-friendly.
- Faster Transaction
- Lower fees 
- Increased Scalability


**ZAP On Blast**

**Blast**
Blast is a layer 2 ecosystem, the only Ethereum L2 with a native yield for ETH and stablecoins.

The baseline interest rate on existing L2s is 0%, so by default, the value of your assets depreciates over time. but on Blast, your balance compounds automatically and earns Blast rewards on top.

Blast is an EVM-compatible, optimistic rollup that raises the baseline yield for users and developers without changing the experience crypto natives expect.

I know its quite complex; that's where ZAP comes in.

**ZAP**
ZAP is not concerned with your skill level—only your desire to learn. The project is guaranteeing there's something for everyone, unlike the source ecosystem, where it seems only developers and SMEs benefit.

ZAP is a community-driven token launch protocol built to alleviate current problems in the token launch space and provide value to both founders and investors.

**ZAP's Plan**
Token launch platforms face challenges in four categories:

Token-gated launchpads require high capital

Lottery-based launchpads rely on chance

Permissionless launchpads lack controls,

Airdrops can be manipulated.

These issues affect democratization, fair allocation, risk exposure, and value accrual in early-stage investing.

**Why ZAP**
With the introduction of the Blast chain, the token launch market is growing. Now, long-term participation in the ecosystem is encouraged by the network's native yield, which unlocks additional value.

ZAP combines the powerful features of Blast with a set of new raise mechanisms to provide more value to founders and investors and democratize early-stage investing.

**Conclusion**
It goes beyond the limits that the Layer 1 ecosystem has not been able to overcome over time.

This indeed tells us that in no time, with the fast pace of advancement in technology and the blockchain, we will be very close to a complete decentralized world with a fair economy.
志田 橄榄球
Published: 2024-05-25 22:57:16


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ryn55br67a1tc3jb7y57.jpg)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l35hi6zd0cdhlqjb3r2p.jpg)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jwwo97yh9lavo180lh83.jpg)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vg0r28o8vgwjtf0jvydk.jpg)
[Game of Purpose] Day 7
Tags: gamedev
Published: 2024-05-25 22:52:18

Today I learned about Nanite system, how to use, debug and import it from store.

I also learned how to create blueprints. It's nice that there are `Cast To *` nodes which expose properties form other blueprints.


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





{% youtube https://youtu.be/_4ZCc38gWQQ %}
I give up on AngularFire
Tags: angular, v18, webdev, javascript
Published: 2024-05-25 21:56:09

I just worked really hard to rip AngularFire (`@angular/fire`) out of my codebase.

If you don't know, AngularFire used to be awesome. This was best around 2019-2020, but after being under-served and failing to fully finish several migrations (the Firebase SDK now uses a modular approach), it's kind of a mess.

I tried and failed to update from v6 up to v16, v17, and beyond, because I wanted to use Angular 18. This didn't work (`ng update` would refuse to update to v16 because it forces only updating one major at a time, which is a bit silly), so I ended up deciding to rip it out.

## Steps to remove
* Remove `@angular/fire` from your package.json
* Swap out the `AngularFireModules`for your own keys
```
providers: [
  { provide: BUCKET, useValue: '...'},
  { provide: FIREBASE_APP, useFactory: () => initializeApp({...})}
```
* Create a service that calls `initializeApp` from `firebase/app and save your `FirebaseApp`. 
```
constructor(@Inject(FIREBASE_APP) private fbApp: FirebaseApp) {
```
* Create (or use the same) a service for each of the Firebase modules you want to use, and then get a persistent handle on the service you want.
```typescript
db = getDatabase(this.fbApp);
storage = getStorage(this.fbApp);
auth = getAuth(this.fbApp);
```

Here's [the commit on the fluin.io repo](https://github.com/StephenFluin/fluin.io/commit/2d14ebb82fd47ac0b217267847ed48ca3c379cc0).
Typing env variables on typescript
Published: 2024-05-25 21:20:53


As a backend developer, I've been working with typescript, on some projects we are required to use different types of environment files, the most common is using environment files, but there are some specific cases where we need to use other types because the tools that we use requires a yaml, JSON or other file formats, we already have a perfect tool like [dotenv-yaml - npm](https://www.npmjs.com/package/dotenv-yaml) or [dotenv - npm](https://www.npmjs.com/package/dotenv). But something comes to my mind, what if we have a package that can support any env files 🤔...

So I made a try, and I created [ts-env](https://github.com/wmartzh/ts-env), we can manage different types of env files, currently supporting `YAML`, 'TOML', 'JSON' files


![default_config](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52oszl6559np0pi15em7.png)



## Typing

It also supports typing the `process.env` which helps a lot to know which variables we have on the env file.

![type_config](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nxu5lkxoo4bjdkhcl5rj.png)



So we can have a lint suggestion on the editor


![suggest_lint](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r2u5ha2pljxgbu8fwcop.png)




## Conclusion

I don't know if this is a real problem, if it is not, at least was interesting doing int, so let me know what do you think
Code is for Humans not for Computers
Tags: programming
Published: 2024-05-25 21:11:34



![if it works don't touch it](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qodzh3uuwkuvc7j3osxb.jpeg)
When I started learning programming the first rule I learned was "_if it works don't touch it_ "Then I just realized that %70 of our time spent coding is spent reading the code. That first rule looks like has some issues.

A couple of days ago I watched a presentation related to this topic and the content in it was opposite what the first rule says. Here is a brief overview.

**If you don't know why your code works, you have no hope of fixing it when it breaks.** 

When you don't understand how the code works and need to fix it.

An idea will come which is _it'd be faster if I just rewrote it_. This will fix the problem but if any more bug exists in the code base again since you don't understand the code base you need to rewrite it again and again.

This slows down the development progress. because of that most of the code bases are rewritten hundreds of times. if your code has to be rewritten to be fixed. improved, or extended, you failed. the only way to ensure your code survives is to make sure it's readable.

The problem is we are writing our code primarily for the computer. Not for humans but instead the code should communicate ideas with other people. Readability directly impacts your ability, and that of everyone else, to do their job.

**Readability isn't just a good idea or nice to have. it's the whole point.**

The one thing we will always be better at than the computer is empathetic communication with other people.

I am leaving the link for the presentation [here](https://frontendmasters.com/teachers/kyle-simpson/code-is-for-humans/) it is worth checking it out.
COOL CMD Features
Tags: development, coding
Published: 2024-05-25 20:52:23

Hi,
This post is about some cool things you can do with curl in cmd.
First you have to make sure you have a windows 10 or above computer as Curl sometime would not be available in os below windows 10.

1.Rick roll in Curl
type. : curl ASCII.live/can-you-hear-me

2.Dancing parrot
type: curl parrot.live

Hope this would be fun !!!!!
Time-Series Mastery: Techniques for Precise Predictive Modeling
Tags: smazoomcamp, finance, modeling, python
Published: 2024-05-25 20:00:15

As a participant in the #SmaZoomcamp, I've delved into the intriguing world of time-series predictions, gaining valuable insights and practical knowledge along the way. In this blog post, I'll reflect on the key learnings and techniques explored during the program.

Framing Hypotheses and Practical Predictions
One of the initial lessons emphasized framing hypotheses and formulating heuristic rules for practical predictions. Understanding the underlying principles behind time-series data and establishing hypotheses based on trends, seasonality, and other patterns are fundamental steps in predictive modeling.

Unraveling Time-Series Data
The program provided a deep dive into unraveling time-series data, focusing on techniques such as trend analysis, seasonality decomposition, and identifying the remainder component. These techniques play a crucial role in understanding the inherent structure of time-series data, enabling more accurate predictions and informed decision-making.

Regression Techniques and Data Relationships
Regression techniques emerged as powerful tools for uncovering data relationships. By applying regression analysis, we gained insights into how different variables interact and influence the outcome, paving the way for more nuanced predictions and actionable insights.

Binary Classification for Growth Direction
A highlight of the program was exploring binary classification models to determine growth direction. This approach enabled us to classify data points into distinct categories, such as positive or negative growth, providing a clear direction for decision-making and strategy development.

Further Exploration: Neural Networks in Analytical Modeling
For those interested in advanced techniques, the program offered insights into neural networks' role in analytical modeling. Neural networks have shown remarkable capabilities in handling complex data structures and uncovering nonlinear relationships, making them a valuable asset in predictive modeling scenarios.

In conclusion, my journey with the #SmaZoomcamp has been enlightening and empowering, equipping me with practical skills and techniques for time-series predictions. From framing hypotheses to leveraging advanced regression and classification methods, the program has broadened my analytical toolkit and deepened my understanding of predictive modeling in the context of time-series data.
Overcoming Coding Challenges: My Experience and Solution
Tags: webdev, javascript, beginners, programming
Published: 2024-05-25 20:00:02

As a seasoned website developer, I've encountered various coding challenges throughout my career. One particular pain point I faced recently was optimizing database queries for improved performance in a large-scale web application, which is crucial for my role in coding and also relevant to jobs in the tech industry.

The issue stemmed from inefficient SQL queries that were causing significant delays in data retrieval, affecting the overall speed and responsiveness of the application. After thorough analysis and testing, I identified the problem areas and implemented optimized query techniques to enhance performance.

Here's an example of how I tackled this issue:
`-- Original inefficient query
SELECT * FROM products WHERE category_id = 1 AND price > 100;

-- Optimized query using indexing
CREATE INDEX idx_category_price ON products (category_id, price);
SELECT * FROM products WHERE category_id = 1 AND price > 100;
`
By creating an index on the columns used in the WHERE clause, I reduced the query execution time significantly, resulting in faster data retrieval and improved user experience.

This experience taught me the importance of constantly optimizing code and leveraging best practices to overcome coding challenges effectively. It's a valuable skill that not only enhances the performance of applications but also demonstrates expertise in database management, a key aspect of [tech jobs](https://jobsincentralqueensland.au/) today.

As developers, we continually learn and adapt to evolving technologies to deliver optimal solutions and stay ahead in the ever-changing tech landscape.
Buttons with CSS Effects
Tags: css, svg, webdesing, sass
Published: 2024-05-25 19:48:09

## Buttons with CSS Effects

Hello, dev.to community! 🚀

I want to share with you my project on [CodePen](https://codepen.io/Rincon/full/zardaq), where I have created 5 examples of animated buttons using CSS. These buttons feature roll-over effects utilizing SVG and CSS and have received a lot of positive attention with many views and comments. Here are some highlights:

- **Roll-over Effects**: Each button has a unique roll-over effect that adds dynamism and style to web interfaces.
- **Using SVG and CSS**: The effects are achieved by combining SVG for scalable vector graphics and CSS for animations.
- **Pug and Sass**: I used preprocessors like Pug for HTML and Sass for CSS, which allow me to write code more efficiently and in an organized manner.

### Key Learnings
- **Pug**: Simplifies writing HTML with a cleaner syntax.
- **Sass**: Makes CSS management easier with variables, nesting, and mixins, improving code maintainability.

### Benefits
These buttons are not only visually appealing but also enhance the user experience when interacting with the page. I invite you to explore the examples and see how you can integrate them into your own projects.

### What's Next?
I'm always looking for new ways to improve and learn. I'd love to hear your feedback and suggestions!

[Explore my project on CodePen](https://codepen.io/Rincon/full/zardaq)
Use Cases of the Power Platform:
Published: 2024-05-25 19:47:32

Sales and Marketing: Organizations can use the Power Platform to analyze sales data, automate lead management processes, and create custom applications for sales and marketing teams.

Operations and Finance: Power BI [Microsoft 365](https://www.mrsharepoint.guru/) can be used to track key performance indicators (KPIs), Power Automate can automate invoice processing, and Power Apps can streamline inventory management processes.

Human Resources: Power Automate can automate employee onboarding processes, Power Apps can create custom HR applications, and Power Virtual Agents can provide self-service support for HR inquiries.

Conclusion:
In conclusion, the Power Platform is a versatile suite of tools that empowers organizations to analyze data, automate processes, and build custom applications to drive digital transformation and innovation. With its low-code/no-code approach, the Power Platform enables users across various business functions to work more efficiently, collaborate more effectively, and achieve more together.
Botones con efectos CSS
Tags: codepen, css, animation
Published: 2024-05-25 19:44:15

## Botones con efectos CSS

¡Hola, comunidad de dev.to! 🚀

Quiero compartir con ustedes mi proyecto en [CodePen](https://codepen.io/Rincon/full/zardaq), donde he creado 5 ejemplos de botones animados con CSS. Estos botones tienen efectos de roll-over utilizando SVG y CSS, y han tenido una gran acogida, con muchas visitas y comentarios positivos. Aquí algunos puntos destacados:

- **Roll-over Effects**: Cada botón presenta un efecto de roll-over único que añade dinamismo y estilo a las interfaces web.
- **Uso de SVG y CSS**: Los efectos se logran combinando SVG para gráficos vectoriales escalables y CSS para las animaciones.
- **Pug y Sass**: He utilizado preprocesadores como Pug para HTML y Sass para CSS, lo que me permite escribir código de manera más organizada y eficiente.

### Aprendizajes Clave
- **Pug**: Simplifica la escritura de HTML con una sintaxis más limpia.
- **Sass**: Facilita la gestión de CSS con variables, anidamiento y mixins, lo que mejora la mantenibilidad del código.

### Beneficios
Estos botones no solo son visualmente atractivos, sino que también mejoran la experiencia del usuario al interactuar con la página. Los invito a explorar los ejemplos y probar cómo pueden integrarlos en sus propios proyectos.

### ¿Qué Sigue?
Siempre estoy buscando nuevas formas de mejorar y aprender. 
¡Me encantaría escuchar sus comentarios y sugerencias!

[Explora mi proyecto en CodePen](https://codepen.io/Rincon/full/zardaq)
:has() in CSS
Published: 2024-05-25 19:12:51

Hi everyone! I recently learned the usefulness of :has() in CSS. It can style an element if any of the things we’re searching for inside it are found and accounted for. It’s like saying, “If there’s something specific inside this box, then style the box this way AND only this way.” Definity going to give it a try in my next web project!