teleren/devto huggingface dataset:
My first Blazor app
Published: 2024-04-09 20:35:17

---
title: My first Blazor app
published: true
description: Create PDF forms with fake data for the fields
tags: 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2024-04-09 20:30 +0000
---

I hosted my first Blazor app - it was quite a learning experience. Sharing here the URL https://www.bitsplus.ai/ in the hope that I can get some feedback as appropriate.
ABEND dump #9
Tags: news, newsletter
Published: 2024-04-09 20:32:11

Welcome to the **ABEND dump**, the issue where I share the most interesting content I’ve been reading, listening to, and watching lately.

I’m back from vacation and trying to get back on track with my reading and writing habits. Here’s a sneak peak:


![The Sphere in Las Vegas — the ultimate emoji, isn’t it cute? XD](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2n7n0imue7cr46k6nwfw.jpg)

_The Sphere in Las Vegas — the ultimate emoji, isn’t it cute? XD_

Want to check the previous issue? Read it here:

{% embed https://dev.to/bitmaybewise/abend-dump-8-71b %}

---

## [CACM Is Now Open Access](https://cacm.acm.org/news/cacm-is-now-open-access-2/)

> More than six decades of CACM’s renowned research articles, seminal papers, technical reports, commentaries, real-world practice, and news articles are now open to everyone, regardless of whether they are members of ACM or subscribe to the ACM Digital Library.

## [You too could have made curl](https://youtu.be/kCJmAyUr1j4)

{% embed https://youtu.be/kCJmAyUr1j4 %}

It’s inspiring to see people doing what they love for so long!

Daniel seems to dedicate an awful amount of time to cURL, IMHO. However, he seems to enjoy it, so as long as it’s not harmful to your life somehow, it’s ok, I think. I don’t know if I’d have this tenacity. 

## [The Basics](https://registerspill.thorstenball.com/p/the-basics)

Thorsten Ball summarized a lot of good points when it comes to programming and being professional.

I like to think of them as the programmer’s commandments:

{% embed https://registerspill.thorstenball.com/p/the-basics %}

My favorite? “Make it a goal that people want to work with you”. There’s nothing better than working with people that you respect and get inspired by!

I’d augment the list with: **do not follow instructions blindly, be curious**. 

## [Inheritance gone wrong](https://twitter.com/Er_dward/status/1764021386618569004)

The most hilarious example I’ve ever seen of why you shouldn’t abuse using inheritance when programming on an object-oriented language. Now I know what to point people to when arguing about that hahaha.


[![inheritance gone wrong](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qgg47pwrs2lpqgrv3xne.png)](https://twitter.com/Er_dward/status/1764021386618569004)

https://twitter.com/Er_dward/status/1764021386618569004

---

If you liked this post, consider subscribing to my newsletter [Bit Maybe Wise](http://bitmaybewise.com/).

You can also follow me on [X](https://twitter.com/bitmaybewise) and [Mastodon](https://mastodon.online/@bitmaybewise).
Spring Data JPA: About Specification interface
Tags: spring, springdata
Published: 2024-04-09 20:13:40

# *org.springframework.data.jpa.domain.Specification* interface

The objective of Specification interface is to let developers make reusable Predicates objects to append into a query when needed. 

For example, to create a query of this entity.

```java
@Entity
@Table(name = "Customer")
public class Customer {

    @Id
    @Column(name = "custId")
    private Integer custId;
    @Column(name = "companyName", length = 40, nullable = false)
    private String companyName;
    @Column(name = "contactName", length = 30)
    private String contactName;
    @Column(name = "contactTitle", length = 30)
    private String contactTitle;
    @Column(name = "address", length = 60)
    private String address;
    @Column(name = "city", length = 15)
    private String city;
    @Column(name = "region", length = 15)
    private String region;
    @Column(name = "postalCode", length = 10)
    private String postalCode;
    @Column(name = "country", length = 15)
    private String country;
    @Column(name = "phone", length = 24)
    private String phone;
    @Column(name = "mobile", length = 24)
    private String mobile;
    @Column(name = "email", length = 225)
    private String email;
    @Column(name = "fax", length = 24)
    private String fax;

    // ignore getter and setter
}
```

In order to pass Specification criteria, please add *org.springframework.data.jpa.repository.JpaSpecificationExecutor* into the Repository interface.

```java
@Repository
public interface CustomerRepository extends JpaRepository<Customer, Integer>, JpaSpecificationExecutor<Customer> {
}
```

# null Specification

null Specification means no criteria.

```java
customerRepository.findAll((root, query, criteriaBuilder) -> null);
// it is equal to customerRepository.findAll();
```

# To get entities when a field is equal to something

To get entities whose "city" is equal to the value of the String variable "city".

```java
String city;
// ...
Specification<Customer> s = (root, query, criteriaBuilder) -> null;
if (Objects.nonNull(city)) {
    s = s.and((root, query, criteriaBuilder) -> criteriaBuilder.equal(root.get("city"), city));
}
customerRepository.findAll(s);
```

*and()* This is used for joining two Specification with AND clauses. The other one is *or()*.

# Add one more Specification

In addition to "city", "companyName" wants to look up also.

```java
String city;
String companyName;
// ...
Specification<Customer> s = (root, query, criteriaBuilder) -> null;
if (Objects.nonNull(city)) {
    s = s.and((root, query, criteriaBuilder) -> criteriaBuilder.equal(root.get("city"), city));
}
if (Objects.nonNull(companyName)) {
    s = s.and((root, query, criteriaBuilder) -> criteriaBuilder.equal(root.get("companyName"), companyName));
}
customerRepository.findAll(s);
```

Code about can work on cases from no query criteria to with "city" and "companyName" criteria.

# Other unnormal usage of Specification interface

You may do following
- to JOIN other entity
- to define complex sort if *JpaSpecificationExecutor.findAll(Specification<T> , Sort)* cannot suit your need
unsupported ambiguity between helper and component
Tags: ember, javascript, modern
Published: 2024-04-09 20:11:33

---
title: "unsupported ambiguity between helper and component"
published: true
description: an error you may encounter while modernizing your ember apps
tags: ember, javascript, modern
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-10-30 23:14 +0000
---

This error occurs when you're progressing towards a modern ember app and have the following situation in your embroider options:
```js
staticHelpers: true,
staticComponents: false,
```
and you reference a helper, such as `{{t}}` from [`ember-intl`](https://github.com/ember-intl/ember-intl).

Here is the full text: 
```
<path to source of issue>: 
  unsupported ambiguity between helper and component: 
    this use of "{{t}}" could be helper "{{ (t) }}" or
    component "<T />", and your settings for 
    staticHelpers and staticComponents do not agree. 
  Either switch to one of the unambiguous forms, 
    or make staticHelpers and staticComponents agree, 
    or use a "disambiguate" packageRule to work around 
    the problem if its in third-party code you cannot 
    easily fix. 
  in <path to source of issue>
```

To resolve, in your `ember-cli-build.js`, you want:

```js
 const { Webpack } = require('@embroider/webpack');

  return require('@embroider/compat').compatBuild(app, Webpack, {
    // ...
    staticHelpers: true,
    staticComponents: true,
    // ...
  });
```

When both of these options are true, there is no more ambiguity with curly syntax (`{{ }}`) -- if it exists, it will be either a helper or a component, we don't need to guess at runtime anymore.
Como obter certificação em C# de forma gratuita
Tags: csharp, certification, programming
Published: 2024-04-09 20:08:44

Obter uma nova certificação é sempre uma excelente oportunidade para fortalecer o conhecimento já adquirido e adquirir novos saberes que podem ser úteis no futuro.

Se você é um programador, independentemente do seu nível de experiência, e deseja validar seus conhecimentos em uma das linguagens de programação mais populares e versáteis do mercado, não pode perder esta oportunidade.

A plataforma [FreeCodeCamp](https://www.freecodecamp.org/), em parceria com a [Microsoft Learn](https://learn.microsoft.com/pt-br), está oferecendo a chance de obter uma certificação em C# de forma gratuita.

Para conquistar sua certificação, é necessário completar uma série de testes na plataforma de aprendizado da Microsoft, validá-los na plataforma FCC, tudo isso disponível em português. 

Ao concluir todos os testes, a plataforma FCC irá apresentar um exame com 80 questões de múltipla escolha. Ao alcançar a pontuação mínima para aprovação, você receberá seu certificado. Não perca essa oportunidade, [certifique seus conhecimentos em C#](https://www.freecodecamp.org/learn/foundational-c-sharp-with-microsoft/).
Welcome, Welcome
Tags: beginners, career, learning
Published: 2024-04-09 20:03:58

That's what I hear from the Dev.to community when I imagine seeing all of you at a meet and greet.  I'm new to this website.  I am enrolled in a coding bootcamp, and I will be embarking on a new career in the world of IT.  There is so much involved in the field of IT.  I look forward to finding my place in it (IT).
How to Quickly Combine PDF Files on Your Mac
Tags: macos, preview, pdf
Published: 2024-04-09 20:02:03

_I just wanted to start out by saying that this is an abridged version of my [original published version from April 27, 2022 that you can find on my website here](https://www.simplykyra.com/how-to-quickly-combine-pdf-files-on-your-mac/)._

---

Awhile back I realized I could combine different `PDF` files together using the built in `Preview` app that came on my Mac. I've since used this method when rearranging pages within a single `PDF` too!

To do this you first open the file(s) you want to adjust by selecting them, right-clicking on them, clicking `Open with`, and selecting `Preview`. 

![Image shows the dropdown after highlighting four files with the Preview option selected.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gi0rx0zvhde99kil95ap.png)

A different `Preview` window will open for each file and, by default for me, each will have their sidebar hidden. To move the pages around you will need that sidebar so go into `View` and select `Thumbnails` to show. Now you can see all the pages, in a thumbnail view, to the left of the current page. 

![Image shows the sidebar and page with the view menu open and thumbnails highlighted](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1uq0y6lefvvlx9qjzhgl.png)

Here you can click on any thumbnail and, while still clicking, drag it up or down to adjust the page ordering. If you want to combine two `PDF` files together you can drag the page(s) from its current window to where you want it in the new file.
 
![Image shows two overlapping windows with one page being dragged to the second one.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4x002z74h65lym0zqk56.png)

This is also a simple way to duplicate pages too with the copy and paste function. 

My file auto-saves when I close `Preview` so sometimes, if concerned, I copy the file, for a backup, before going through this process. That said, after saving and/or closing simply double-clicking on your file again will open it in your default `PDF` reader with all the page ordering changes made.

Hope you're having a wonderful day!

---

If you want the backstory and the full how to you can check out [this original and longer published version from April 27, 2022](https://www.simplykyra.com/how-to-quickly-combine-pdf-files-on-your-mac/) on my SimplyKyra website.
Crafting Unforgettable Digital Experiences, One Project at a Time
Tags: webdev, react, frontend, hiring
Published: 2024-04-09 20:01:45

I'm Seerat Awan, a front-end development expert committed to delivering exceptional user experiences. 

Read about how I can unlock your project's full potential: 

{% embed https://www.seeratawan.me/blog/hire-the-best-front-end-developer/ %}
Locally maintained Actions within repositories VS. Actions from GitHub Marketplace
Tags: github, githubactions, cicd, workflow
Published: 2024-04-09 19:56:48

Hello fellow developers,

We are student researchers from the University of Gothenburg and Chalmers University of Technology, Sweden. We are thrilled to invite you to participate in our research project, which focuses on the fascinating topic of CI/CD services provided by GitHub. This project is also an integral part of our thesis in Software Engineering.

Our project aims to explore the following research question:

**RQ1: What factors drive developers to rely on locally maintained Actions within their repositories, rather than utilizing Actions available on the GitHub Marketplace?**

_We are interested in understanding whether developers prefer to build their own GitHub workflows or leverage existing GitHub actions from the marketplace. Additionally, we aim to uncover the underlying reasons behind the observed differences in these approaches._

To achieve our research goals, we are conducting surveys across various programming platforms to gather valuable data that will help us address our research problem.

**Your participation is crucial to the success of our study, as your insights and experiences will contribute to a deeper understanding of this domain. Your responses will remain confidential and will be used solely for research purposes.**

**Survey Link:** https://forms.gle/uzggehno5N3g1Gjj9

_Join us in shaping the future of CI/CD practices on GitHub by taking a few moments to complete our survey. Your input will be immensely valuable!_

Thank you in advance for your participation and support!

Best regards, 
Student Researchers, University of Gothenburg and Chalmers University of Technology

This survey will take about 15 minutes to answer.
Empowering Self-Publishing: Our Experience Using TikMATE to Share Documents Online
Tags: agonsejfiu
Published: 2024-04-09 19:49:50

Photo credits: UNsplash

TikMATE is a powerful and versatile platform that empowers individuals to self-publish their documents online. With the help of its innovative document reader, TikMATE can convert a wide range of file formats, including PDFs, Word documents, and PowerPoints, into fully-functional web documents that can be easily shared on any webpage.

One of the key benefits of using TikMATE is that it eliminates the need for specialized software or platforms. This means that individuals can quickly and easily publish their documents online, without having to invest in costly software or spend hours trying to figure out complex publishing tools. In addition to its document conversion features, TikMATE also offers a range of other powerful tools and capabilities. For example, users can easily collaborate on documents with others, edit their documents in real-time, and receive feedback from other users.

TikMATE is also incredibly user-friendly, making it easy for individuals with varying levels of technical expertise to use the platform. Whether you’re a seasoned professional or a first-time user, you’ll find that TikMATE
is intuitive, easy-to-use, and highly effective. Overall, TikMATE is a powerful platform that offers a wide range of features and capabilities for individuals who want to self-publish their documents online. With its innovative document reader, user-friendly interface, and powerful collaboration tools, TikMATE is a must-have tool for anyone who wants to easily and effectively publish their documents online.//agonsejfiu
2024-04-08: Meetings galore
Tags: devjournal
Published: 2024-04-09 19:48:58

Truth be told, this last week wasn't super interesting. We are kind of in a lull at the moment due to waiting for the funds to roll in from investors, and the CEO is closing some deals, so we're kind of just feeling around for our plans for the future once he can become more involved again.

Last week started off with my generation of 3 different conversations that had a varying amount of pre-included example questions that the bot would draw "inspiration" from. One of the quirks of these LLM systems is that they tend to take the path of least resistance and will start quoting examples verbatim instead of just using them as a springboard, and it's very hard to circumvent this behavior without actually just getting in and fine-tuning it.

So my goal was to seeing how it responded to having zero example questions vs. the original 40 that the CEO had proposed vs. the 10 I'd whittled it down to. I think it gave a good insight as to how much freedom we want the bot to have. It seemed like it was going off on tangents more when there were no examples, but 40 felt too rigid. 10 is probably the sweet spot, even though it still struggles to come up with questions outside of the 10. Perhaps I could whittle them down even further.

Either way, beyond that, I spent my time learning more about machine learning. There's a good course by freeCodeCamp and likewise 3blue1brown has been releasing a series on Deep Learning revolving specifically around LLMs and it's very intriguing seeing all the math play out. I learned a lot from that. I'm also figuring out the best approach to how we want to feed in the fine-tuning data.

Thursday I met up with all three of the psychologists to discuss architecture again and also bring the newest one into the loop as to what we're going to be working on. I told him specifically that we want to curate some training data for conversations for the AI and his help as a specialist in what we're doing is perfect for that.

I read some articles on prompt engineering that were pretty useful and I incorporated some of the tips into the chat prompt and it worked better.

The next day I set out to work on making a prompt to generate a bunch of example conversations to work off of, kind of like I'd done at Lawgoat, but this time for the purpose of imbuing the language we desire. It's going to be a slog but it's important.

And that's pretty much all that happened last week. Till next time, cheers.
Maximizing Learning Potential: Our Hands-On Test of TestiIM’s Innovative Platform
Tags: agonsejfiu, agon, sejfiu
Published: 2024-04-09 19:47:13

TestiIM is a dynamic platform that has been designed to help graduates meet their needs and requirements for the Matura Test. Our philosophy is simple: we believe in providing guidance and advice to ensure that every graduate achieves a satisfactory result in the exam.

One of the key features of TestiIM is the wealth of information, instructions and rules that we provide to graduates. This information has been approved by the State Matura Commission and includes detailed explanations about the testing process. This includes important deadlines, general rules, information about the test center, time organization for the day of testing, and rules for receiving instructions for the test.

Our goal at TestiIM is to ensure that graduates feel confident and well-prepared for the Matura Test. We know that this is a critical exam, and that success on the test can have a significant impact on a graduate’s future. That’s why we have worked hard to create a platform that is comprehensive, easy-to-use, and effective in helping graduates achieve their goals. Whether you’re looking for guidance on test preparation, need help navigating the registration process, or just want to learn more about the Matura Test, TestiIM is here to help.

Our team of experts is always available to answer your questions and provide the support you need to succeed on this important exam. So if you’re a graduate preparing for the Matura Test, don’t go it alone. Sign up for TestiIM today and get the help and guidance you need to achieve your goals!//agonsejfiu
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5dbuneu4lg8gnfyz2wz7.jpg)
Stop worrying about the money and start doing SEO for your business!
Tags: freelanceseoexpert, seoexpertindubai, digitalmarketingexpert, seostrategistindubai
Published: 2024-04-09 19:36:07

Creating an online presence for your business is important in today's digital world, regardless of the size of the business. Competition to create an online presence and promotions for a business is on the rise, especially in a city like [Dubai](https://digitalnishad.com/freelance-seo-dubai-seo-expert-in-dubai/). For this, SEO is an irreplaceable factor. SEO helps all types of businesses improve their online presence, target the exact audience, and rank on the search engine page cost-effectively.

SEO helps to rank your website organically without spending a huge amount as we spend for marketing and promotion.SEO helps in:

1. Brings Organic Search Traffic to your Website
2. Generates Leads Cost-Effectively
3. Increases Brand Awareness
4. Gets You Ahead of the Competition
5. Optimizes Your Website for Mobile Users
6. Builds Trust

When compared to traditional marketing techniques SEO is the best option to get the exact audience with the highest conversion rate in Dubai. It helps to target the right audience and gain quality convertible leads with an affordable cost.

[Digita Nishad](https://digitalnishad.com/freelance-seo-dubai-seo-expert-in-dubai/) is one of the leading SEO strategists in Dubai with more than 8 years of experience.
CIbSE 2025
Published: 2024-03-18 13:21:04

Como vocês já sabem, o [CIbSE 2024 será em Curitiba](https://dev.to/fronteirases/27th-ibero-american-conference-on-software-engineering-cibse-2024-1g7h).

Agora sabemos também onde será o CIbSE 2025: Ciudad Real, Espanha.

> Estimados colegas, os anunciamos que desde 12 al 16 de mayo de 2025 el Grupo Alarcos organiza el [CIbSE 2025 (XXVIII: Conferencia Iberoamericana de Ingeniería del Software)](https://alarcos.esi.uclm.es/cibse2025/) en instalaciones de la [Escuela Superior de Informática (Ciudad Real)](https://esi.uclm.es/en/).
>
> Los General Chairs son José Antonio Cruz-Lemus y Marcela Genero del [Grupo Alarcos](https://alarcos.esi.uclm.es/) y los Program Chairs, Silvia Abrahao (Universitat Politècnica de València, España) y Andrea Delgado (Universidad de la República, Uruguay).
>
> Os avisamos con tiempo, así podéis escribir estupendos artículos para forjar un CIBSE muy potente 😉 y compartir agradables días en Ciudad Real.
>
> Mientras tanto nosotros iremos cuidando y mimando cada detalle para que sea otro CIbSE memorable!!!
>
> Un abrazo
> Marcela Genero y José Antonio Cruz-Lemus