teleren/devto huggingface dataset:
How to Build Java Applications Today #62
Tags: java
Published: 2022-04-07 17:52:46

## TL;DR

Java 18 is here, zero-day exploit hits Spring Boot, Kotlin, Postgres, Jakarta EE, and Flutter lose job ad mentions, Quarkus is #3 in job ad mentions for the first time, and I spoke at QCon London.

***

## README

Welcome to my newsletter “How To Build Java Applications Today”! If you like it, then [subscribe to it on Substack](https://bpfnl.substack.com)! Or read it on [dev.to](https://dev.to/ksilz/series/11995) or [Medium](https://ksilz.medium.com). Even better: Share it with people who may be interested.

***

## Next Issue: Wednesday, May 4, 2022

My newsletter is published on the first Wednesday of every month.

***

## Stand-Up
This issue is late because I gave a talk at QCon London and updated all job charts, I spoke at JavaLand in Germany and the Google Developer Group Milton Keynes.

**[Read Stand-Up](https://betterprojectsfaster.com/guide/java-full-stack-report-2022-04/stand-up)**

***

## Technology Index 

Popularity trends: Kotlin, Postgres, Jakarta EE, and Flutter are the “losers of job ad mentions” this month. Quarkus is #3 in job ads mentions for the first time (behind Spring Boot & Jakarta EE). Also, see my recommendations for a JVM language, a database, a back-end framework, a web framework, and a mobile app framework.

**[Read the Technology Index](https://betterprojectsfaster.com/guide/java-full-stack-report-2022-04/the-index)**

***

## Release Radar

OpenJDK, Micronaut, Eclipse, VS Code, and Netbeans had major releases. Maven, Gradle, Spring Boot, Quarkus, and DropWizard had minor ones.

**[Read the Release Radar](https://betterprojectsfaster.com/guide/java-full-stack-report-2022-04/release-radar)**

***

## New & Noteworthy

Java 18 is here, zero-day exploit hits Spring Boot, and Java Heap Deep Dive, Part 2.

**[Read New & Noteworthy](https://betterprojectsfaster.com/guide/java-full-stack-report-2022-04/new-noteworthy)**

***

## About

Karsten Silz is the author of this newsletter. He is a full-stack web & mobile developer with 23 years of Java experience, author, speaker, and marathon runner. Karsten got a Master's degree in Computer Science at the Dresden University of Technology (Germany) in 1996.

Karsten has worked in Europe and the US. He co-founded a software start-up in the US in 2004. Karsten led product development for 13 years and left after the company was sold successfully. He co-founded the UK SaaS start-up "[Your Home in Good Hands](https://yourhomeingoodhands.co.uk/)" as CTO in 2020. Since 2019, Karsten also works as a contractor in the UK.

Karsten has [this newsletter](https://bpfnl.substack.com/), a [developer website](https://betterprojectsfaster.com/), and a [contractor site](https://ksilz.com/). He's on [LinkedIn](https://www.linkedin.com/in/ksilz/), [Twitter](https://twitter.com/karsilz), [Xing](https://www.xing.com/profile/Karsten_Silz/), and [GitHub](https://github.com/ksilz). Karsten is also an [author at InfoQ](https://www.infoq.com/profile/Karsten-Silz).
Welcome Thread - v168
Tags: welcome
Published: 2022-04-07 17:44:45

---
title: Welcome Thread - v168
published: true
description: Welcome to DEV! A thread of hellos and intros.
tags: welcome
canonical_url: 
---

![The word hello over a rainbow](https://media.giphy.com/media/Ypx8S3zCF6AGyML4gz/giphy.gif)

### Welcome to DEV!

1. Leave a comment below to introduce yourself! You can talk about what brought you here, what you're learning, or just a fun fact about yourself.

2. Reply to someone's comment, either with a question or just a hello. 👋 

**Great to have you in the community!**
Buy and Sell Stocks-I and II
Tags: leetcode, java, datastructure, stocks
Published: 2022-04-07 17:39:33

Problem link : https://leetcode.com/problems/best-time-to-buy-and-sell-stock/submissions/
[Twitter](twitter.com/insanity_xi) | [LinkedIn](linkedin.com/in/swapnilg671)

This is basic array question helps you to understand arrays better 

part -1: buying and selling is allowed once 

in this we will assume maximum profit zero initially and buying price maximum. We will iterate the array of prices, if we find the minimum buyprice less than the previous buying price we will update the buy price, for this we will use if statement `if(prices[i]<buyprice>){ buyprice =price(i);}` this loop will execute only if price[i] value is smaller than the buyprice, or we can use the java Math.min class of java.

Similarly, we update the maxProfit if our maxProfit is more than price[i]-buyPrice or previous maxProfit. for this either we can use else if statement or ` MaxProfit= Math.max(MaxProfit, prices[i]-buyPrice);` 
```
class Solution {
    public int maxProfit(int[] prices) {
        int MaxProfit=0;
        int buyPrice= Integer.MAX_VALUE;
        
        for(int i=0; i< prices.length; i++){
            if(prices[i]<buyPrice){
                buyPrice= prices[i];
            }
         // else if(MaxProfit<prices[i]- buyPrice){
         //    MaxProfit= prices[i]-buyPrice;
            //}
            MaxProfit= Math.max(MaxProfit, prices[i]-buyPrice);
        
            
    }
        return MaxProfit;
    }
}
```
Day-61 Training At Ryaz
Tags: javascript, webdev, beginners, programming
Published: 2022-04-07 17:22:56

- Date:7/04/2022
- Day:Thursday

Today, I started at about 10:30 am as I was in progress to do the java script cource so, I started with it and firstly the instructor started with the strings and template literals like to declare string in java script we use same double quotes as we use in ther programming languages and he taught that if we want to write string in different lines so, while declaring the string we have to write them as well in different lines after this he started with the if/else statements so, like all the other programming languages have their if/else blocks so, java script also follow the same rules for if else blocks if we want the certain things to be in the condition so, we use if/else statements and after I got to learn about boolean data type as it returns true and false respectively and after this the instructor started with the type conversion from other types to boolean after this the instructor taught about difference between == and === as the operator === is used to match the exact with the given number as it checks as eg 12===12 so it returns the result as true and after this I learnt about logical operators i.e &&,|| etc and after this I learnt about the ternary operator as we use the if else and with operator so, ternary is used to declare the statement in one line with multiple ? and : operator. so, this way I was able to do second part completely and this way my day ended up and now I would begin with DOM. and events.
Writing Tests
Tags: webdev, beginners, programming, discuss
Published: 2022-04-07 17:21:23

I have been spending some time looking around on the forums and have found that a lot of people talk about learning to implement creating tests for their code as one of the things they whish they started learning sooner. I am still fairly new to programming and a majority of the time naively just look for the code to have the outcome I'm looking for without testing. Although that's definitely not best practice and was wondering if anybody had any resources or tips on how to learn and improve writing tests for your code.
Open API Spec for Wordle
Published: 2022-04-07 17:19:04

In order to have a dictionary of words to pull from for the Wordle game, we need to connect to an API that provides us with 5-letter dictionary words. 

We will be using the [Random Words API](https://random-word-api.herokuapp.com/all) to first give us a repository of all dictionary words. From here, we will specify that we want to pull only 5-letter words for our game. In the past we have been able to do this by specifying it in the URL (like an example project we have done with NASA Images API), but we are still working through figuring out this aspect of the API. 

As we start to build our API spec documentation in our repository, we will be adding fields to the JSON file to specify details about this API that we are using. As of right now, we are building out the information field and paths field. 

### Info Field
The information field in the specifications document requires fields for the title of the API and the version. Other fields such as license, contract, and terms of service are optional but valuable fields to identify.

### Paths Field
The paths field defines the relative paths to the API endpoint. These paths are appended to the end of the URL to help build out the entire, expanded URL. 

Our start of the document can be found in the [GitHub repository](https://github.com/abbeylyle4/Final-Project-Word-Game/tree/main) called "openapi.json".

You can find more info about the spec doc fields [here](https://swagger.io/specification/#:~:text=The%20OpenAPI%20Specification%20(OAS)%20defines,or%20through%20network%20traffic%20inspection.)
My Visual Studio Code Extensions
Tags: vscode
Published: 2022-04-07 17:07:34

## This is my Visual Studio Code Extensions 

1. Wakatime - I use this Extension for my Wakatime Activity for my GitHub Readme 

2. Bracket Pair Colorizer - Customization of my vs code 

3. Live Server - I used Live Server for my Projects like : Website Development  

4. Live Share - Using it for Share my code and team coding with my friends 

5.Docker - Docker Extension used for DockerFile 

6.Material Icon Theme - Icon Theme for my Vs Code .

Hope you love my post !
:)
Introducing the First XRP Ledger Campus Ambassadors
Tags: xrpl, xrp
Published: 2022-04-07 17:04:52

The XRP Ledger Foundation and Ripple are excited to introduce the inaugural XRP Ledger Campus Ambassador program! Last February, 20 students from around the world were selected to share their blockchain knowledge and grow the XRP Ledger (XRPL) community across their respective campuses.

To date, they have hosted dozens of events, workshops and meetups; attended global conferences; planned hackathons across multiple universities; created educational content; and organized blockchain and crypto research reports. They’ve also achieved the enormous feat of engaging 1,000 new community members to further educate on the expansive capabilities of blockchain technology and the XRP Ledger.

As Campus Ambassadors, these students have brought their peers together to explore the many possibilities and applications of blockchain and crypto technology to empower others to start building on the XRPL. Ambassadors have also had the opportunity to connect with students on other campuses and share ideas between their blockchain clubs.

Hailing from more than 20 campuses worldwide — from Cape Town to Toronto, São Paulo to Beijing, and universities across the U.S. — the enthusiasm from the Campus Ambassadors is palpable.

“I have a sense of fulfilment in knowing that I am playing my part in educating young people in Southern Africa and exposing them to the boundless opportunities that blockchain brings about,” says Titose Chembezi of the University of Cape Town, who was also awarded an [XRPL Grant](https://xrplgrants.org/) for working on [Nautilus Wallet](https://www.ntls.io/). She adds, “I love the room for creativity, and it is also empowering to know that we have the backing of [resources](https://xrpl.org/docs.html) from the XRPL Community”.

The XRPL Campus Ambassador program has seen strong interest from the next generation of developers to continue building awareness around the XRPL as a sustainable, efficient blockchain and contribute to its evolution alongside new technologies.

The first cohort of the XRPL Campus Ambassador program will run until May 2022 with the next round of applications going live this summer. Follow along on the #students channel on Discord to stay up to date on the latest developments, and drop your comments in the thread below to help us welcome these newest members to the XRPL community. 

For those interested in meeting with the broader community, join the [XRPL Community Meetup page](https://www.meetup.com/pro/xrpl-community/) to attend events hosted by the Ambassadors and other community members!
Transcribe voice using Deepgram SDK , NestJS and SolidJS
Tags: hackwithdg, solidjs, nest, node
Published: 2022-04-07 16:58:15


[Template 1: Build Challenge]: # (Select this submission template if you have built an application using Deepgram for this hackathon.)


### Overview of My Submission
Transcribe voice of selected file. Build with SolidJS in frontend , NestJs in backend and Deepgram SDK Nodejs.




### Link to Code on GitHub

#### Backend
{% embed https://github.com/harshmangalam/deepgram-dev-hackthon-nodejs-backend %}

#### Frontend
{% embed https://github.com/harshmangalam/deepgram-dev-hackthon-solidjs-frontend %}
Decoding Elon Musk’s 9.2% stake in Twitter
Tags: productivity, career, ankitgupta, mrankitgupta
Published: 2022-04-07 16:31:09


**Let’s understand this with the help of timeline.**

👉 March 26, 2022 tweet, Musk accused Twitter of “failing to adhere to free speech principles”.

👉 And further he said he was giving “Serious thought” to building his own social media platform that would compete with Twitter.

👉 Musk’s tweet back in Jan, 2021 saying “Use Signal” which was later retweeted by former Twitter CEO Jack Dorsey.

👉 Jack Dorsey have constantly came in support for him in the past as well.

👉 March 14, 2022, Elon Musk acquired his 9.2% Twitter stake shown by regulatory filing with the Securities & Exchange Commission.

👉 Musk was already Twitter’s largest outside individual shareholder when he publicly criticized the platform on March 26, 2022.

👉 March 25, 2022, Musk launched a Twitter poll asking this question: “Free speech is essential to a functioning democracy. Do you believe Twitter rigorously adheres to this principle?” To which more than 70% of respondents voted “No,”.

👉 April 4, 2022, Elon Musk’s Twitter stake purchase was revealed in a regulatory filing.

👉 April 4, 2022, Twitter stock surged by 27% as Musk’s purchase was revealed & kept climbing after the company announced Musk’s director board seat.

👉 April 4, 2022, Musk tweeted a poll asking his followers if they’d want an edit button on Twitter, with more than 73% of respondents replying “Yes”.

👉 April 5, 2022, Twitter announces Elon Musk as the 12th board of director after taking a 9.2% stake to which Jack Dorsey voiced his support on his tweet. “I’ve wanted Elon on the board for a long time,” Dorsey later added.

👉 April 5, 2022, Musk speaks about his vision of making significant improvements to Twitter in coming months!

**Conclusion:**

👉 Elon Musk could use his new position to push back against the company’s content moderating policies.

👉 In coming months, we are going to see some big changes on Twitter as Musk have constantly criticized the platform for lack of freedom of speech.

👉 Musk has even suggested that Twitter’s algorithm become “open source” as a way of promoting transparency over how the platform displays and promotes tweets. That idea could gain traction among Twitter’s board members, as Dorsey has endorsed it in the past.

👉 Twitter’s rapid addition of Musk to its board shows that now its leadership is willing to entertain his ideas after being single largest individual share holder.

👉 Elon Musk’s entrepreneurial mindset. He is among one the smart entrepreneurs of this century who knows it well, how to get the things done as per his will.

Thanks for reading till the end! Hope it helps…
Do leave your views in the comment.

---

_Connect me on Twitter for regular updates on such informative contents or just to say Hi! 👇
@_ [**MrAnkitGupta_**](http://twitter.com/MrAnkitGupta_)

_I'll be happy to connect you on my socials_ 👇
[**Ankit Gupta**](ankitgupta.bio.link)

_Happy Learning!_
My First Python Project (Blackjack)
Tags: python, codecademy, beginners, programming
Published: 2022-04-07 16:25:39

Hey there.

I'm a newly minted lawyer who is already looking for something new. I've dabbled with coding a few times in the past. I even had professors in the past suggest that I switch my major to computer programming, but I didn't listen. But now I've decided to seriously pursue programming on my own time via Codecademy. This was the final project for the CS 101 course. My first "real" project took me a few hours and a lot of googling. Here it is!

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


The Code: https://github.com/TeddyRyan/Blackjack

I used __init__ for the individual card values, values, and suits. My name loops through 2 lists (suits and cards) and appends them to the deck list. It also uses the cards to navigates the card value dictionary. 

Once the deck is generated the game begins.

The blackjack method starts by creating empty lists for the player and dealer hands, zeroing the participant scores, and stating that neither actor has a blackjack. The cards are dealt and it checks if anyone has a blackjack. If the player does it moves on to the dealer. If the dealer has a blackjack it waits to reveal it until the player has played. I also took care to adjust the value of an ace should it cause a bust. The player loops through the game hitting until he stands. If he busts the game will end on the spot. 

I read that some casinos allow the dealer to chase the player even if the dealer has a 17 or more. So if the player has 20 the dealer will hit on 17 to try and get 20 or 21.

The end of the program makes a number of comparisons between the cards. If one player has a blackjack and the other does not, that player wins. If neither has a blackjack then the player with a greater score (that is still <= 21) wins!

If you have any critiques on it I would love to hear them!
Event loop
Tags: javascript, node, react, webdev
Published: 2022-04-07 16:17:35

This is my first dev blogpost and doesn't matter if it is just couple of sentences. Couple of sentences are still better than not writing at all. This week I'm writing brief about Event Loop

## Event Loop

Javascript engine runs chunks of JS code on a single thread process. Usually it co-exists with hosting environment like Browser or Node JS. Typical job of the JS engine is to just run the chunks on-demand basis. Overall orchestration of when to run a chunk of code is handled by the hosting environment **Event Loop** . 

Event Loop as the name says it is loop which iterates over the events. Each iteration of the loop is called as **Tick** in which it tries to execute the events scheduled in the callback queue. These events are nothing but the callbacks functions. Imagine you are fetching a resource over REST API and it is an asynchronous event and when it is complete in due time you would like your function invoked with response of API. This function is nothing but the Callback which gets executed by the event loop when the API is successful.

There are other different queues other than callback queues in the Event loop like Job Queues and there is special way timers(setTimeout) are handled in Event loop.
 
![Hosting Environment and Javascript Engine](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uqkm7uvqgdiep24qajwa.png)
Documentation is highly valued, but often overlooked
Tags: opensource, github, tutorial, programming
Published: 2022-04-07 16:01:56

In open source projects, documentation is highly valued, but often overlooked.

1. When you encounter documentation problems, help a maintainer and open a change request to improve them.
2. Licenses are by far the most important type of documentation for users and contributors.
3. Documentation helps build engaged communities.
4. When communicating about a project, use language that is clear and accessible to people who are not born English or do not read English fluently.

This survey was initiated by Github in 2017, but many issues are still relevant in 2022.

We are an open-source project; please feel free to comment if you have any tips for improving documentation.

Source : https://opensourcesurvey.org/2017
Learn and How to Learn
Tags: beginners, webdev
Published: 2022-04-07 15:57:54


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

learn and how to learn is different consep, learn it's meaning you learn something, example I learn vue js and nuxt js for one week. and how to learn is a technique for study something. example while I Study Vue js firstly I reading the official documentation after that I Watching tutorial just find as simple.

learning for me is important skill for programmer because programmer need fast learner right ? yes, technology so fast grow up.

how I learn ?
okay this my technique, "learning something is not instant need a process maybe one week, maybe one month, maybe a years" remember that word.

firstly choose what I want learn, example vuejs, start with small question and try find the answer with that. example.
the frequent question always I ask. used "what, why, how".

1. what is vuejs ?
2. what is SPA ?
3. what is component ?
4. what is props ?
5. how props is work ?
6. how to make component rendering ?
7. why I should used vuejs ?
8. ...

so that's some part question help me to learn basic knowledge about the topic what I want to explore. and then what the next ? try find roadmap for learning the topic, or make roadmap by yourself. next find tutorial from internet you can used free course or paid cource choose whatever you want.

after that this step mixing between reading official documentation and practice in every day, just focus. and remember in head "how it's work?" and "why it's not work?".

and repeat from step one, keep critical thinking.
[PRESALE] Deploying Elixir: Advanced Topics
Tags: elixir, aws, azure, gcp
Published: 2022-04-07 12:50:20

---
title: [PRESALE] Deploying Elixir: Advanced Topics
published: true
description: New Elixir book "Deploying Elixir: Advanced Topics"
tags: elixir, aws, azure, gcp
//cover_image: https://direct_url_to_image.jpg
canonical_url: https://blog.miguelcoba.com/presale-deploying-elixir-advanced-topics
---
I have a new Elixir book for you:

**"Deploying Elixir: Advanced Topics"**

![Book cover](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7wyjp9hh67hk51i4qmo.png)

## What is it about?

I'll show you how to deploy to:

- AWS
- Azure
- GCP

You'll deploy like a PRO using:

- clustering

- Kubernetes orchestration

## Tell me more

This book expands on my previous book "Deploying Elixir".

Many of you asked me to write about common scenarios used in the Enterprise! 🏭 

Well, I did it! 💪

If you want to deploy your application like the PROS in the Industry do, this book is for you! 🎯

## When it will be released?

The book will be published on **May 3rd, 2022**! 🗓️

But as a **SPECIAL, TIME-LIMITED OFFER** you can get **35% off** the final price if you purchase it on **PRESALE**.

⚡ [Get it on PRESALE and save 35% off the final price](https://miguelcoba.gumroad.com/l/advancedtopics) ⚡