teleren/devto huggingface dataset:
IoT remote monitoring and notifications using Azure IotHub, Service Bus and Raspberry and Logic Apps
Tags: azure, iot, servicebus, logicapps
Published: 2022-11-21 19:49:48

IoT remote monitoring and notifications with Azure Logic using IotHub, Service Bus and Raspberry 

Azure IoT Hub provides a cloud-hosted solution back end to connect virtually any device. Extend your solution from the cloud to the edge with per-device authentication, built-in device management, and scaled provisioning. Security-enhanced communication channel for sending and receiving data from IoT devices.

Azure Service Bus is a fully managed enterprise message broker with message queues and publish-subscribe topics (in a namespace). Service Bus is used to decouple applications and services from each other, providing the following benefits:

Load-balancing work across competing workers
Safely routing and transferring data and control across service and application boundaries
Coordinating transactional work that requires a high-degree of reliability

The Azure IoT explorer is a graphical tool for interacting with devices connected to your IoT hub. This article focuses on using the tool to test your IoT Plug and Play devices. After installing the tool on your local machine, you can use it to connect to a hub. You can use the tool to view the telemetry the devices are sending, work with device properties, and invoke commands.

Azure Logic Apps is a cloud-based platform for creating and running automated workflows that integrate your apps, data, services, and systems. With this platform, you can quickly develop highly scalable integration solutions for your enterprise and business-to-business (B2B) scenarios. As a member of Azure Integration Services, Azure Logic Apps simplifies the way that you connect legacy, modern, and cutting-edge systems across cloud, on premises, and hybrid environments.

The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all ages to explore computing, and to learn how to program in languages like Scratch and Python. It’s capable of doing everything you’d expect a desktop computer to do, from browsing the internet and playing high-definition video, to making spreadsheets, word-processing, and playing games.

- Introduction to IoT remote monitoring and notifications
- Use case of IoT remote monitoring and notifications
- Benefit of IoT remote monitoring and notifications
- Create IOT Hub In Azure Portal
- Create Devices in Azure Iot Hub
- Azure  Iot Hub Explorer
- Raspberry Pi Simulator
- Connect Device to Azure  Iot Hub
- Create Service Bus Namespace
- Create Service Bus Queue
- Add Custom Endpoint in Azure Iot Hub
- Add Routes in Azure Iot Hub
- Explore message with Service Bus Explorer
- Create Logic App
- Create Service Bus Connection in Logic App
- Create Gmail Connection in Logic APP
- Create Storage Account
- Link Storage to Logic App

{% embed https://youtu.be/YKxTgPQxcos %}
Gatsby for beginners pt1
Tags: webdev, javascript, beginners, react
Published: 2022-11-21 19:40:26


Hello there..!

Now I want to tell you about Gatsby... Yes it's a JavaScript Framework, yes it uses React to. Well let me start and if you have questions put it on the comment section and I'll look for it... Maybe some day...


# Gatsby...? 
Gatsby is a React-based Framework, designed to preformat static websites from your React-app (It's a statis site generator that used React, GraphQL and webpack)

Yes, there are other frameworks that works the same, like NEXT.js but it's not the same...  

The main benefits of the usages of static site like Gatsby are:

1. Loading Speed
2. Search Engine Optimization (SEO)
3. Security

## Gatsby Ecosystem 
Well parentally it's big, but its hard to say how big it is... according to stack overflow survey only 3.77% choose Gatsby as web technology they used professionally, more then Drupal but lees then NUXT... 
I must say that until now I have not found a negative review.

# Let's Start a Project
there are many way to start a project with Gatsby, lets check three of them...

- Only Gatsby

For this method we only require to install react and gatsby

```
npm install react react-dom gatsby
```

- Gatsby with the CLI (like 'create-react-app')

This option make a full project sample with config files and a 'src' directory and it's ready for us to modify.
 
First we need to install Gatsby CLI
```
npm install -g gatsby-cli
```
with this were are available to create a new project using
```
gatsby new <name-of-your-project>
```
- Using a Starter
A starter it's like a theme template based project, that you can personalize for your convenience. There are free to used and you can find them [here](https://www.gatsbyjs.com/starters/).
To install one you need to have the name of the starter and the name of the user that made it

```
gatsby new <name-of-your-project> <name-of-user>/<name-of-starter>
```

# Gatsby Router
Gatsby Router is simple to use, in this case simple is better...
Each file in the pages folder is a page

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


To navigate between the pages we must use the Link component of gatsby and assign it the parameter 'to=/<name-file>/'


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e9elh4ckpoc6elevo6kd.png)
The importance of this last images it is the component 'Link', the component Button it is only a styled button
JavaScript Variables
Published: 2022-11-21 17:12:53

What is a variable in JavaScript? A variable is a location where you can store values (strings, number, boolean, etc) to be used later. After passing this data and storing in JavaScript engine, you can access it when needed. By assigning a name to our variable, we can tell the engine which specific stored data we want access. Variables' names must be unique identifiers and cannot be numbers, they must be in lower case unless it is made of multiple words then you can use camelCase.

The main variables declarations are const, let, and var. The var declaration was the only one used in the past until the language update in 2015 adding const and let to variable declaration.

JavaScript let statement: 
let x = 1;
if (x === 1) {
  let x = 2;
  console.log(x);
  // expected output: 2
}
console.log(x);
// expected output: 1








JavaScript const statement:
const number = 42;
try {
  number = 99;
} catch (err) {
  console.log(err);
  // expected output: TypeError: invalid assignment to const `number'
  // Note - error messages will vary depending on browser
}
console.log(number);
// expected output: 42





JavaScript var statement:
var x = 1;
if (x === 1) {
  var x = 2;
  console.log(x);
  // expected output: 2
}
console.log(x);
// expected output: 2


However, since the update, it is recommended for good practice not to use var and use const and let instead. Let is used when you know the value is going to change and const for other variables not changing value. 
It is better to use const because it prevents the variable to be assigned to another value. If the value changes later on, you can replace the value to let.
45%, May the Force Be With Me, Please?
Published: 2022-11-21 19:21:57

Alright, up to this point I have devoted myself like crazy but the time is running out for me because I am running out of money! I need to find a job at the very latest till the beginning of February and I had to make a decision: with 2 months of dedicated programming studying, the chances of landing a job with my programming abilities would still be quite thin, most probably. So in order to increase my chances of getting a job with at least one of the things that I devote myself to, I chose German... 
In 8 months, I have completed B1-Level (I did it 2 days ago) and it is my plan to complete B2-Level just in 6 weeks and find a job with my German skills. And after I get the job, I will concentrate on my programming skills. And when someday I prove that I know German at B2 level, I will apply for a job seeker visa and maybe I will get my first programming job in Germany, who knows!
But one more thing to mention, there is also a possibility that I drive a rich guy's daughters to school and get paid minimum wage while sparing only a small amount of my time. With that, I can actually revert back to my old routine and complete my JavaScript course first, then complete John Smilga's course on React, since it has the most amount of projects!
What are the benefits of re-writing an old projects? Old but Gold
Tags: beginners, discuss, webdev
Published: 2022-11-21 19:04:10

## Introduction
Old but gold, they say. In the last few weeks I realized it is true. Old things (namely projects in my case) might be outdated but they still can give value.

## Story-time - backstory
I am a junior developer with one particular project I am really proud of. (Hopefully these numbers are going up in the future). A few weeks back I needed to face the fact that my project is not working anymore - it broke because a used Css library was not compatible anymore with the newest Tailwind version I used. After a little shock, I got "angry" and decided I am going to rewrite it. Originally it was written in Vanilla JavaScript. Currently I am learning Vue framework so I decided that I am going to rewrite it in Vue.

## What did I realized and learned during the "conversion" of old project to a up-to-date, modern framework?

First of all I could see how much I improved. 

- Naming variables and functions are important. 
- It is a chance to re-write some messy functions or try to apply some of the clean code principles.
- Give a chance to think some of the "system" over. This project had some backend points to get some information about samples and users. I could think them over and make in some places easier.
- Give a chance to try "new" things and then realize the older is the best way. Yes this is exactly the opposite with the above point. But it happens. For example I wanted to make the login system "easier" and ended up with a bug in the system instead.
- It is a perfect practice when you learn something new, but kinda "same". Like me, I am learning Vue still. This re-writing gave me more confidence to re-write an older project, then jump right into a totally new and complex project.

## To sum up

It is worth to go back to an older project and examine it with a critical eye again. Also you knowledge is growing by time, it is nice to re-write and update some of your old favorite project with your new knowledge. It also looks good that you have some projects, you go back time to time and work on it again and again. 

So are you gonna look some of your old projects through? Feel free to share it with me :)
proof
Tags: pgp, keyoxide
Published: 2022-11-21 19:03:50

---
title: proof
published: true
description: proof of ownership
tags: #pgp #keyoxide
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2022-11-21 19:00 +0000
---

https://keyoxide.org/hkp/40a48b7cc676f1e1d0dec0425bd3a2ebbaca9c47
Black Friday - Yep, but this offer has impressive UX that converts
Tags: blackfriday, discounts
Published: 2022-11-21 19:00:59

---
title: Black Friday - Yep, but this offer has impressive UX that converts 
published: true
description: Take advantage now of our offers for web developers and UI/UX Designers - 85%OFF Black Friday offer by Creative-Tim
tags: blackfriday, discounts
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e02kg69fdxudkxk83t90.jpg
canonical_url: https://blog.appseed.us/black-friday-2022-creative-tim-85off/
---
Hello Coders!

This article mentions the **Black Friday** offer of [Creative-Tim](https://www.creative-tim.com/?AFFILIATE=128200), a successful company with 8 years of experience and expertise in **React**, **Vue**, **Node**, **Full-Stack** Development, and **Native Apps** (`Flutter`, `React Native`).

Besides the usual offer, they provide each year an amazing re-design of the website that impresses and converts at the same time. 

Usually, the `HOMEpage shows a classic marketplace` with cards, categories, and offers. During the `Black Friday` offer, the `site is redesigned` to convert at maximum. **Here is the page designed for BF**:

---

> 👉 [Black Friday Offer](https://www.creative-tim.com/?AFFILIATE=128200) - `85% Off` by **Creative-Tim**

---

![Creative-Tim - Black Friday Offer.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bz8btmixwcp35eo7mw9y.png)

---

> ⚠️ Disclosure: `This post contains affiliate links`.

If you use these links to buy something (at no additional cost to you) the platform may earn a commission, product, or service. 

**Thank you!**
wasm32-unknown-unknown target may not be installed (macOS M1)
Tags: cosmwasm, wasm32, brew, macbookm1
Published: 2022-11-21 18:31:02

If you go in the loop by executing `$ cargo build --release --target wasm32-unknown-unknown --lib`, that means you have installed Rust on your MacBook M1 using `brew installer`

**My setup** at the time when I caught this problem was: 
- macOS (M1)
- Rust installed by [`brew install rust`](https://formulae.brew.sh/formula/rust)
- `$ rustc --print sysroot                                                                                                          
**/opt/homebrew/Cellar/rust/1.64.0**`

- as you can see all attempt to execute wasm boundaries command, bring me to the circle of non-installed wasm32 target (which was installed) 

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

---

**Solution #1:**  _Install using https://www.rust-lang.org/tools/install_
Install rustup on top already installed library (by brew) does not fix anything. 

---

**Solution #2:** _Uninstall existing rust version_
- `$ brew uninstall rust` 
- keep only one default `.rustup/toolchains/stable-aarch64-apple-darwin`

---
**Next:** Install Rust from correct source
- from [www.rust-lang.org](https://www.rust-lang.org/tools/install)

---

**Problem solved!** 🎉

**p.s.** check out this course where I got this issue (Free) {% embed https://vimeo.com/754017140 %} 

my project: https://github.com/Ebazhanov/cosmwasm-blockchain-smart-contract-example
TestProject is closing down
Tags: testing, webdev
Published: 2022-11-21 18:16:46

---
title: TestProject is closing down
published: true
description: The test automation toolk known as TestProject will no longer be available
tags: #testing, #webdev
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dqcuwddl8ugngjfgupdd.PNG
---

[TestProject](https://testproject.io/) was a test automation tool developed in Israel.

### What happened?

The official announcement came through a [blog post](https://blog.testproject.io/2022/11/17/testproject-end-of-life-your-questions-answered/).

TestProject launched in 2017 and it stood out by not offering a paid tier.

Unlike other next-gen test automation tools, it didn't offer any cross-browser cloud.

That meant their own cloud infrastructure bill was probably small.

But it also meant that the only option to run your tests was to use your localhost or to connect to a third party cross-browser cloud provider ([BrowserStack](https://www.browserstack.com/), [SauceLabs](https://saucelabs.com), etc).

That increased the complexity and affected the user experience.

### What I liked about TestProject:
- It was no-code/low-code, that means it helped democratize test automation, making it available to everyone
- It worked for both Web Applications (websites) and Mobile Applications (Native and Hybrid)
- They had a nice blog where anyone could post articles

### What I didn't like about TestProject:
- No cross-browser cloud, users had to get their own infrastructure
- Lack of stability, users often complained about the downtimes

![testproject stability](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t3qm2c4e57uifzlr3raf.png)

### What are the alternatives? 

Fortunately, there are plenty of next-gen test automation tools to choose from. 

Our [Endtest](https://endtest.io) platform is one of them. To help get your automated testing back on track, we'll help you migrate your old TestProject tests. We're also offering a 20% discount to TestProject users that start using Endtest before TestProject's EOL.

A detailed comparison between Endtest and TestProject can be found here:
https://www.endtest.io/testproject-alternative

### Why use a next-gen test automation tool?

In general, the purpose of innovation is to drive down the complexity and cost of doing things.

A next-gen test automation tool helps you create, execute and maintain complex tests, without breaking a sweat. 

The days when your team had to stitch together your own Selenium/Cypress framework are long behind us.
Welcome Thread - v201
Tags: welcome
Published: 2022-11-21 18:10:34

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

![The word "hello" in a speech bubble on a light purple background](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/et4m9m5x4hnyym4pk7i3.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!**
Find the Duplicate Number
Tags: java, leetcode, interview, software
Published: 2022-10-26 03:03:50


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zhzq5rtarbwd4p9yo9qb.jpg)
author: Sergei Golitsyn
link: https://leetcode.com/problems/find-the-duplicate-number/

**Description:**

Given an array of integers nums containing n + 1 integers where each integer is in the range [1, n] inclusive.

There is only one repeated number in nums, return this repeated number.

You must solve the problem without modifying the array nums and uses only constant extra space.

`Example 1:
Input: nums = [1,3,4,2,2]
Output: 2

Example 2:
Input: nums = [3,1,3,4,2]
Output: 3`

**Solution:**

Ok ok, hello everyone. Let's try to solve this problem.
We know that we have elements from 1 to n. 
And all this elements were sorted. 
What if 
**_we will check the middle element and calculate count of elements less that the middle_**
If count less than middle element, that means that that we have duplicate element in the right part. 

For example: 

```
[1,2,3,4,5,5,6]
mid = 4
foreach(1 : 6) --> 
if (num <= cur){
 count ++;
}
count = 1 (1)
...
count = 4 (4)
```
And we have count as 4, that is why we have to move into right part. Is it clear? 

Then in the right part we can do the same. And move to the right or to the left part. 

Finally in the left part we set result as middle element, because otherwise we move to another side. 

And yes, it is a modified binary search. You seem simple algorithm for complicated problem. 

Sure you can iterate over array, and it would take O(N) time. In this approach we have O(log(N)) time complexity without additional memory. 

Full code below:

```
    public int findDuplicate(int[] nums) {
        int start = 1;
        int end = nums.length - 1;
        
        int rez = -1;
        
        while(start <= end){
            int cur = (end + start) / 2;
            
            int count = 0;
            for (int num : nums){
                if (num <= cur){
                    count ++;
                }
            }
            if (count > cur){
                rez = cur;
                end = cur - 1;
            } else {
                start = cur + 1;
            }
            
        }
        return rez;
    }
```
Perl Dancer #1: Install Perl and Dancer2
Tags: perl, tutorial, webdev, beginners
Published: 2022-11-21 18:02:56

---
title: Perl Dancer #1: Install Perl and Dancer2
published: true
description: Dancer is a light-weight framework for web development in Perl
tags: perl, tutorial, webdev, beginners
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2022-11-21 17:58 +0000
canonical_url: https://perlmaven.com/dancer2-install
series: dancer
---

Dancer is a light-weight framework for web development in Perl. This is the first part of the series introducing web development with Perl Dancer.

{% youtube g756RC1N4Rs %}
Harvard WECode Conference 2023
Tags: wecode, womenintech
Published: 2022-11-21 18:01:10

The Harvard Women Engineers Code (WECode) team is thrilled to announce our annual conference, the largest student-run Women in Computer Science conference in the world, on Feb. 18 to 19, 2023! 

Get a chance to connect with recruiters from organizations like Microsoft, Google, Bloomberg, and Capital One, as well as a strong network of technologists.

This event is encouraging undergraduate women to explore tech, cultivate networks, and learn what the world of tech has to offer.

ENSURE TO ATTEND, as the career expo will feature Google, Bloomberg, SIG, and more. There will also be mentorship, mock interviews, free swag, and fireside conversations with prominent STEM figures.

This conference can be attended in person or Virtually.

Some of the 30+ speakers include:
- Maria Klawe President of Harvey Mudd

-Dwana Franklin-Davis, CEO of Reboot Representation

-Emi Nietfeld, Author of Acceptance, previous software engineer at Google and Facebook

-Hannah Weissman Director of Policy for Code.org

-Barbara Jane Liskov, MIT Institute Professor, Turing Award Winner


You can use my referral link to get an additional 15% off on the early bird discount. Also, this conference is for women in an undergraduate program.

promo code: WETF03
website: https://bit.ly/wecode2023

To facilitate attendees attend the conference in person , Harvard is offering two kinds of scholarships as well. 

1) WE Amplify Basic Scholarship (those identify as a woman or of a gender minority of any race/ethnicity). This scholarship covers the cost of the conference ticket.

2) WE Amplify Extended Scholarship (those identify as a woman or of a gender minority of any race/ethnicity). This scholarship covers the cost of the conference ticket, and provides financial aid for travel and other related expenses.

The deadline to apply for a scholarship is December 31, 2022. Applicants will be notified via email on their decision. Scholarship recipients will be announced on a rolling basis. 

More details can be find out https://www.harvardwecode.com/weamplify-scholarship

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ougx3yjrn0qtcwbs6brm.jpg)
Part time remote roles - RevampedCP
Tags: career
Published: 2022-11-21 17:46:03

####   Original Tweet From  [@RevampedCP](https://twitter.com/RevampedCP)
{% embed https://twitter.com/RevampedCP/status/1592605195519033346 %}
Part time remote roles, 🧵 

### IT Mentor (Part-time)
https://jobs.lever.co/pathrise/adc62548-8f6e-4e1b-9441-29e3e7ad01ca?lever-source=LinkedInJobs

### B2B Social Media Specialist (Part-Time)
https://www.yelp.careers/us/en/job/YELPUSDB45D7ECF99F43E1A3F47DDBE31785B6EXTERNALENUS/B2B-Social-Media-Specialist-Part-Time
AdSpace Here!!
### Clinician (Part-Time, Spanish) - California Virtual
https://www.findoctave.com/careers/5965912002/ 

### Patent Analyst- Computer & Electrical Engineering (contract, part time, remote) 
https://careers.clarivate.com/search/jobdetails/patent-analyst-contract-part-time-remote--computer-scienceelectrical-engineering/8fe9721d-d149-4051-9963-30370d44574a
AdSpace Here!!
### Part-time, Contractor, Capture Services Coordinator
https://jobs.lever.co/matterport/a0ed17bf-f07c-459c-a3cf-3454c16ff282?lever-source=LinkedInJobs

### Client Intake Support (Part-time)
https://boards.greenhouse.io/growtherapy/jobs/4080184005?source=LinkedIn
AdSpace Here!!

Click [Here](https://www.knowledge-twitter.com/?utm_source=dev.to)  For More Posts Like This [https://www.knowledge-twitter.com](https://www.knowledge-twitter.com/?utm_source=dev.to)