teleren/devto huggingface dataset:
.NET Monthly Roundup - May 2023 - Build, C# 12, .NET 8 Preview 4, and more!
Tags: dotnet, visualstudio, microsoftbuild
Published: 2023-06-06 16:23:21

{% embed https://www.youtube.com/watch?v=eOU2Syrzny4 %}

Welcome to our May .NET Monthly Roundup with Jon Galloway! In just 3 minutes, Jon breaks down the latest news from the month of May 2023 that .NET developers need to know.

### Top links
📚[All the links](http://aka.ms/dnmr-2305)

📺Top Build Videos
➡️[Your home for Microsoft Build](https://build.microsoft.com/en-US/home)
➡️[Join the .NET Team at Microsoft Build 2023!](https://devblogs.microsoft.com/dotnet/microsoft-build-2023-and-dotnet/)
➡️[.NET at Microsoft Build 2023 - YouTube](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oV0mbay2wxFS_ZVRg6cxjdM)
➡️[Deep dive into .NET performance and native AOT](https://build.microsoft.com/en-US/sessions/28588f70-fb54-447a-b778-7ef02c8ffdf8?source=sessions)
➡️[Cloud-native development with .NET 8](https://build.microsoft.com/en-US/sessions/92aa8923-2720-49a4-81a3-d117f08488fe?source=sessions)
➡️[What’s new in C# 12 and beyond](https://build.microsoft.com/en-US/sessions/7bdbc522-10ed-4114-a0f1-afd45acbf7ee?source=sessions)
➡️[What's new in .NET 8 for Web, frontends, backends, and futures?](https://build.microsoft.com/en-US/sessions/da223f08-abb2-4f38-87de-0856ffa22317?source=sessions)
➡️[Kickstart your .NET modernization journey with the RWA pattern](https://build.microsoft.com/en-US/sessions/c4fe357e-2bb2-4201-a956-ca35c3497e06?source=sessions)
➡️[The Download: All the News from Microsoft Build, Make Your Own VPN, Beepberry and more](https://www.youtube.com/watch?v=G5XgIWp92R4)
➡️[Dev Home for Windows Developers | Microsoft Learn](https://learn.microsoft.com/en-us/windows/dev-home/)

🆒Top blog posts
➡️[Get started with ChatGPT in .NET](https://devblogs.microsoft.com/dotnet/get-started-chatgpt-azure-dotnet/)
➡️[Announcing a new version of the .NET Upgrade Assistant with support for .NET MAUI and Azure Functions!](https://devblogs.microsoft.com/dotnet/upgrade-assistant-general-availability/)
➡️[Web API development in Visual Studio 2022 - Visual Studio Blog](https://devblogs.microsoft.com/visualstudio/web-api-development-in-visual-studio-2022/)

⭐.NET 8 Preview 4
➡️[Announcing .NET 8 Preview 4](https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-4/)
➡️[ASP.NET Core updates in .NET 8 Preview 4](https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-8-preview-4/)
➡️[EF Core 8 Preview 4: Primitive collections and improved Contains](https://devblogs.microsoft.com/dotnet/announcing-ef8-preview-4/)

❤️Community Links and Events
➡️[Supercharging Blazor Development with BlazmExtension - A New Visual Studio Extension](https://engstromjimmy.com/post/2023-05-15-BlazmExtension)
➡️[FSharpConf - June 26, 2026](http://fsharpconf.com/)

### What did you think?

With so much new information coming at you each month, we're looking at ways to bring you the highlights. Let us know if this helps, and how we can do it better next month!

Jon
Java 17 + AWS Lambda
Tags: aws, java, java17, lambda
Published: 2023-06-06 18:36:20

---
title: Java 17 + AWS Lambda
published: true
date: 2023-06-06 16:07:00 UTC
tags: aws,java,java17,lambda
canonical_url: https://carloschac.in/2023/06/06/java-17-y-aws-lambda/
---

![Header](https://carloschac.in/public/images/java-17-aws-lambda/Header.png)

AWS recently announced [Java 17 support for Lambdas](https://aws.amazon.com/about-aws/whats-new/2023/04/aws-lambda-java-17/), In this blog post, we’ll explore how to create a Java 17 AWS Lambda Function without IDE, build tool or any dependency.

{% embed https://youtu.be/VhxhmMqjEl8?sub_confirmation=1" %}

Fist let’s create the lambda function code:

```
public class Function {

  public record Input(int x, int y) {}

  public record Output(long result) {}

  public Output add(Input input) {
    return new Output(input.x + input.y);
  }
}

```

In this example, we have an `add` method that takes an `Input` java record with 2 fields: `x` and `y`, and returns an `Output` java record with the sum of `x` and `y` assigned to the `result` field.

This is the only requirement for a AWS Lambda Function:

An instance method that takes one single parameter and returns something an object or `Void`.

That’s it. Now we can proceed to compile and package our AWS Lambda Function:

Compile:

```
$ javac Function.java

```

Package:

```
$ zip function.zip *.class

```

Next, let’s navigate to the AWS Lambda Console. ![2](https://carloschac.in/public/images/java-17-aws-lambda/2.png)

Click on the `Create function` button.

![3](https://carloschac.in/public/images/java-17-aws-lambda/3.png)

Assign a lambda name and select Java 17 as the runtime.

![4](https://carloschac.in/public/images/java-17-aws-lambda/4.png)

Click on the `Upload from` button.

![5](https://carloschac.in/public/images/java-17-aws-lambda/5.png)

Click `Upload` button.

![6](https://carloschac.in/public/images/java-17-aws-lambda/6.png)

Choose the `function.zip` file that we generated.

![7](https://carloschac.in/public/images/java-17-aws-lambda/7.png)

Click `Edit` on the `Code properties` section.

![8](https://carloschac.in/public/images/java-17-aws-lambda/8.png)

Change the Handler to `Function::add` and click `Save`.

![9](https://carloschac.in/public/images/java-17-aws-lambda/9.png)

Go to the `Test` tab.

![10](https://carloschac.in/public/images/java-17-aws-lambda/10.png)

Change the JSON payload to:

```
{
  "x": 123,
  "y": 333
}

```

Click the `Test` button, then expand the `Details` section to see the result.

![11](https://carloschac.in/public/images/java-17-aws-lambda/11.png)

That’s it! You have successfully created and tested your Java 17 AWS Lambda function. The output should be:

```
{
  "result": 456
}

```

![12](https://carloschac.in/public/images/java-17-aws-lambda/12.png)

This demonstrates the simplicity and power of using Java 17 with AWS Lambda. With just a few steps, you can leverage the latest Java version to build efficient and scalable serverless applications.

Feel free to explore further and unleash the full potential of Java 17 on AWS Lambda. Happy coding!
Cara Membuat Wallet Crypto dan Wallet Exchange
Tags: web3, wallet, cryptocurrency, ethereum
Published: 2023-06-06 16:05:52


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j2hymukifd9moduqf6lc.jpg)
Untuk membuat [wallet (dompet)](https://www.portalcrypto.xyz/2023/05/cara-mudah-membuat-wallet-crypto-dan.html) kriptocurrency, berikut adalah beberapa langkah umum yang dapat diikuti:

**1. Pilih jenis wallet:** Ada beberapa jenis wallet kriptocurrency yang tersedia, seperti wallet web (online), wallet perangkat keras (hardware), wallet perangkat lunak (software), dan wallet ponsel (mobile). Setiap jenis wallet memiliki kelebihan dan kelemahan masing-masing. Anda perlu memilih jenis wallet yang sesuai dengan kebutuhan dan preferensi keamanan Anda.

**2. Pilih penyedia wallet:** Setelah memilih jenis wallet yang ingin Anda gunakan, cari penyedia wallet kriptocurrency yang terpercaya dan sesuai dengan preferensi Anda. Beberapa penyedia wallet populer antara lain Exodus, MyEtherWallet, Ledger, Trezor, dan Trust Wallet. Lakukan riset dan pastikan untuk memeriksa reputasi serta ulasan pengguna sebelum memilih penyedia wallet.

**3. Unduh atau daftar:** Jika Anda memilih wallet perangkat lunak atau wallet ponsel, Anda mungkin perlu mengunduh aplikasi wallet yang sesuai dari penyedia wallet yang dipilih. Jika Anda memilih wallet web, Anda perlu mendaftar akun di platform wallet tersebut.

**4. Buat wallet:** Setelah mengunduh aplikasi wallet atau mendaftar akun, ikuti langkah-langkah yang disediakan oleh penyedia wallet untuk membuat wallet baru. Biasanya, Anda akan diminta untuk membuat kata sandi yang kuat dan menyimpan dengan aman kata sandi dan frase pemulihan yang diberikan.

**5. Simpan informasi dengan aman:** Setelah membuat wallet, sangat penting untuk menyimpan informasi

Source/Sumber: [www.portalcrypto.xyz](https://www.portalcrypto.xyz/2023/05/cara-mudah-membuat-wallet-crypto-dan.html)
Clink makes working with Windows’ `cmd.exe` so much nicer
Tags: cli, windows
Published: 2023-06-13 11:13:28

---
title: Clink makes working with Windows’ `cmd.exe` so much nicer
published: true
date: 2023-06-06 15:16:00 UTC
tags: cli,windows
canonical_url: https://jay.gooby.org/2023/06/06/clink-makes-working-with-windows-cmd-exe-so-much-nicer
---

Due to a project at work, I’m using Windows’ `cmd.exe` for something like the first time in a decade. I can’t use [WSL](https://learn.microsoft.com/en-us/windows/wsl) on the project, and [Clink](https://chrisant996.github.io/clink/) with its syntax colouring and familiar readline history has already made it a 100 times more pleasant!

You get a searchable history and tab completion. What wasn’t immediately obvious to me, was how to choose the suggested completion - if you press `tab`, Clink will start cycling through commands and paths; you need to press `End` or use the right arrow key. Loads more [detail on completetion here](https://chrisant996.github.io/clink/clink.html#how-completion-works).

The repo lives at [github.com/chrisant996/clink](https://github.com/chrisant996/clink) - give it a star!
How to Reset Spectrum Modem?
Published: 2023-06-06 15:18:30

To reset a [Spectrum modem](https://www.spectrum.net/support/internet/modems-routers-wireless-adapters), you can follow these steps:

- **Locate the modem:** Find your Spectrum modem, which is typically a small box provided by Spectrum that connects your home to the internet.
- **Power off the modem:** Locate the power cable connected to the modem and unplug it from the power source. This will turn off the modem.
- **Wait for a few minutes:** Give the modem a couple of minutes to completely power down and clear any temporary data.
- **Power on the modem:** Plug the power cable back into the modem and wait for it to power up. Allow a few minutes for the modem to establish a connection with your internet service provider.
- **Verify the reset:** Once the modem has finished booting up, check if the modem lights stabilize and return to their normal state. This indicates that the reset process is complete(some time you perform [30 30 30 hard reset](https://routersnetwork.com/30-30-30-hard-reset-rule-for-routers/)).

It's important to note that performing a reset on your Spectrum modem will restore it to its default settings. This means you may need to reconfigure your Wi-Fi network and any other custom settings you had previously configured. If you have any specific configuration questions or issues, it's recommended to reach out to Spectrum customer support for further assistance.

**#The Difference Between Resetting and Restarting a Modem**

Resetting and restarting a modem are two different processes with distinct outcomes. Here's an explanation of the difference between the two:

**Restarting a modem**: Restarting a modem simply means powering it off and then turning it back on. This process is also known as rebooting or power cycling. When you restart a modem, it temporarily interrupts its operation and then allows it to initialize again. Restarting a modem can resolve minor connectivity issues, clear temporary glitches, and refresh the network connection. It does not typically affect the modem's settings or configurations.

**Resetting a modem**: Resetting a modem involves restoring it to its factory default settings. This process erases any custom settings, configurations, or changes you have made to the modem. A reset returns the modem to its original state as if it were newly purchased. This can be useful in situations where you are experiencing persistent issues with the modem or if you want to start fresh with the default settings. However, it's important to note that resetting a modem will require you to reconfigure the modem's settings, including network names, passwords, and other custom configurations.

In summary, [restarting a modem](https://support.google.com/googlenest/answer/6246479?hl=en) is a quick process of power cycling to resolve temporary issues, while resetting a modem is a more drastic step that restores the modem to its default settings, requiring reconfiguration.
Using the GROW Model to Set Learning Goals
Published: 2023-06-06 15:10:15

I'm currently dipping my toes into learning React JS and wanted to plan out my approach so that I stick to my goals and don't get distracted along the way.

I recently read about the GROW model and thought that I would give it a spin while learning React.


### What is the GROW model?

The GROW model was developed in the '80s by business coaches Graham Alexander, Alan Fine, and Sir John Whitmore. It is a great tool for setting learning goals as the model requires you to think about the following 4 steps:

**GOAL** - What is the goal you want to achieve?

**REALITY** - Where are you currently?

**OBSTACLES / OPTIONS** - What obstacles are in your way of achieving the goal and/or what options are available to help you achieve it?

**WAY FORWARD** - This is the plan that will get you to where you want to be.

___

### My GROW model for learning React

So now we know a bit more about the parts of the model, lets break them down for my specific learning goal:

**GOAL**

Learn React well enough to be confident creating a project using it. I would love to create a portfolio site to showcase my work.

**REALITY**

I have no prior knowledge of React, and my JavaScript skills are probably a little rusty!

**OBSTACLES**

I'm currently working full time as a junior developer and have other responsibilities outside of work so time to dedicate to learning will be limited. 

**OPTIONS**

Blocking out an hour or so a day before or after work to dedicate to learning React. 

I could also utilise the time spent driving into the office listening to podcasts to further improve my understanding and gain another perspective from more senior developers.

**WAY FORWARD**

Create a roadmap of topics to learn and find resources for these.

Utilise the amazing communities I'm part of. Tech is unlike any other group I've ever been a part of - people are so willing to help others, share their knowledge and raise them up.

Build all the things! Create small apps along the way to really cement my learning.

___

I would love to hear if you've ever used a similar method to plan out some independent learning and how you stay accountable to your goals, or if you have any tried and true methods for learning React - feel free to leave me a comment below 😊
Key Announcements From Apple WWDC 2023
Tags: apple, wwdc, conference, ios
Published: 2023-06-06 15:10:14

Here are some key announcements from WWDC 2023:

**1. M2 MacBook Air:** The M2 MacBook Air is the first Mac to be powered by the new M2 chip. The M2 chip is a significant upgrade over the M1 chip, offering up to 18% faster CPU performance and up to 35% faster GPU performance. The M2 MacBook Air also features a new design with a thinner and lighter body, a larger 13.6-inch Liquid Retina display, and a MagSafe charging port.

**2. M2 Pro and M2 Max MacBook Pro:** The M2 Pro and M2 Max MacBook Pro are the more powerful versions of the MacBook Pro. The M2 Pro chip offers up to 10 cores, while the M2 Max chip offers up to 16 cores. The M2 Pro and M2 Max MacBook Pro also feature a new design with a more powerful cooling system.

**3. Third-generation Apple TV:** The third-generation Apple TV is the latest version of Apple's streaming device. The new Apple TV features an A14 Bionic chip, a new remote control with a touch surface, and support for Dolby Vision and Atmos.

**4. iOS 16:** iOS 16 is the latest version of Apple's mobile operating system. iOS 16 includes a number of new features, such as a new lock screen, Live Text for copying text from photos, and Passkey for passwordless logins.

**5. iPadOS 16:** iPadOS 16 is the latest version of Apple's operating system for the iPad. iPadOS 16 includes a number of new features, such as Stage Manager for multitasking, Stage Recording for recording a video while you're using multiple apps, and Collaboration features for working with others on shared documents.

**6. macOS Ventura:** macOS Ventura is the latest version of Apple's operating system for the Mac. macOS Ventura includes a number of new features, such as Stage Manager for multitasking, Continuity Camera for using your iPhone as a webcam, and Handoff for quickly transferring tasks between your Mac and iPhone.

**7. watchOS 9:** watchOS 9 is the latest version of Apple's operating system for the Apple Watch. watchOS 9 includes a number of new features, such as a new Medications app, a new Fitness+ workout type called Heart Rate Zone Training, and a new sleep stages feature.

**8. tvOS 16:** tvOS 16 is the latest version of Apple's operating system for the Apple TV. tvOS 16 includes a number of new features, such as a new Game Center app, new SharePlay features, and new Parental Controls features.

**9.AR headset:** Apple also teased a new augmented reality (AR) headset that is expected to be released in 2023.


WWDC 2023 was a very exciting event for Apple fans. Apple announced a number of new hardware products, new software updates, and new features. It will be interesting to see how these new products and features are received by consumers.

You can watch it here  - {% embed https://www.youtube.com/watch?v=GYkq9Rgoj8E %}
My Journey in Open Source - random-delay
Tags: javascript, typescript, github, opensource
Published: 2023-06-06 15:00:00

## What is this?

A library providing a parametrized random delay mechanism for functions (Both async and sync)

### How do I install it?

You can install it by using the following command:

```bash
npm install random-delay
```

### How do I use it?

Both sync and async functions are supported.  
The library provides a `randomDelay` function that takes 3 parameters:
- `minDelay`: The minimum delay in milliseconds. Defaults to `0`.
- `maxDelay`: The maximum delay in milliseconds. Defaults to `1000`.
- `method`: The method to use. Can be either `sync` or `async`. Defaults to `sync`.

#### Sync

The library uses the [`event-loop-sleep`](https://github.com/Cadienvan/event-loop-sleep) library to sleep the event loop using `SharedArrayBuffer` and `Atomics` for sync functions.

```javascript
const { randomDelay } = require('random-delay');

// Do something before...
randomDelay(1000, 2000, 'sync');
// Do something after...
```

#### Async

The library uses a simple `setTimeout` (unrefed) for async functions.

```javascript
const { randomDelay } = require('random-delay');

// Do something before...
await randomDelay(1000, 2000, 'async');
// Do something after...
```

#### randomDelayed

The library also provides a `randomDelayed`, a higher-order function that takes 2 parameters:
- `fn`: The function to wrap.
- `options`: The options to pass to `randomDelay`. Defaults to the same as `randomDelay`.

```javascript
const { randomDelayed } = require('random-delay');

// Do something before...
await randomDelayed(() => {
  // Do something
}, { minDelay: 1000, maxDelay: 2000, method: 'async' });
// Do something after...
```

## Tests

You can run the tests by using the following command:

```bash
npm test
```
New array methods in JavaScript bring immutability
Tags: javascript, performance, immutability
Published: 2023-06-06 14:53:21

---
title: New array methods in JavaScript bring immutability
published: true
description: four new methods allow you to change arrays without having to create a copy first
tags: javascript, performance, immutability
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/81421imzkcowx2k0ii17.png
# Use a ratio of 100:42 for best results.
# published_at: 2023-06-06 14:26 +0000
---

JavaScript now has a way to change elements, sort, reverse and splice arrays without changing the original, thus giving it immutability. The new methods are `with()`, `toSorted()`, `toReversed()` and `toSpliced()`. No need to create a copy with `[...arr]` first. Only missing support is Firefox. 

```javascript
const arr = ['f','c','k','a','f','d'];

const newArr = arr.with(2,'m');
// newArr -> ['f', 'c', 'm', 'a', 'f', 'd']
const sortArr = arr.toSorted();
// sortArr -> ['a', 'c', 'd', 'f', 'f', 'k']
const reverseArr = arr.toReversed();
// reverseArr -> ['d', 'f', 'a', 'k', 'c', 'f']
const splicedArr = arr.toSpliced(3, 3, 'it');
// splicedArr -> ['f', 'c', 'k', 'it']
```
Initial Reaction to Apple Vision Pro
Published: 2023-06-06 14:18:28

Mild essay incoming. TLDR: Cool, Scary, Great Potential and Long Distance Relationships just got a whole lot comfier.

When I heard Apple were making augmented reality the first time I was hoping for a refined [Google Glass](https://en.wikipedia.org/wiki/Google_Glass).

Something that augmented normal vision with my notifications, todo list (like a video game mission list), arrows on the floor in front of me telling me which way to go and the track I'm listening to those kind of basic things.

The Vision Pro is interesting within the first few minutes I can see it being applied to sports, picture taking 50 free kicks with the ghosts/shadows of the shots being displayed so you can see on average where you are shooting, how frequently you apply too much top spin etc.  This could be applied to a number of sports however I'm sure it would be a lot of fun to create something that could truly improve the way athletes learn and practice.

You could create onboarding for teams working with new equipment with directions and top tips built into the user interface directly in front of the learners eyes (I think this might have been what Google Glass actually ended up being used for in Warehouses and things, so that pickers could drop off goods in the right locations).

The classic [VR desk setup](https://www.youtube.com/watch?v=ewzIrYsoCHU), seems to have had huge clean up and overhaul. Almost seems usable now.

The Apple Pencil would be a wonderfully awesome accessory for this technology, imagine pulling up [Pixelmator Pro](https://apps.apple.com/gb/app/pixelmator-pro/id1289583905?mt=12) and painting directly on the table in front of you, or manoeuvring the UI your building with the Pencil rather than a trackpad.

The eyesight feature definitely screams dystopian  future where everyones heads are strapped into a VR headset from birth and the only time you can see people is through the lenses of your fancy eye screens.

The 100ft wide screen feature would make for some amazing sci-fi video games, you could captain a space ship like Picard in Star Trek, with the full ship diagnostics, a navigation ui, ship controls and all of your crew members stats and what they are up to, with the planet you are orbiting while awaiting permission to land encompassing the background. A true sci-fi strategy experience with as much realistic detail and cinematic space views as possible.

It also has the major plus of looking way comfier than every other VR solution on the market.