teleren/devto huggingface dataset:
#JulyOT 06: Edge Impulse Project of the Month competition
Tags: julyot, iot, tinyml, competition
Published: 2022-07-06 00:10:21

---
title: #JulyOT 06: Edge Impulse Project of the Month competition
published: true
date: 2022-07-06 00:00:00 UTC
tags: julyot,iot,tinyml,competition
canonical_url: https://JulyOT.dev/blog/06-edge-impulse-competition
cover_image: https://JulyOT.dev/assets/images/JulyOT-banner-6-edge-impulse-competition-803c3b923665bcfba0ab6017eb16bcfd.png
series: JulyOT 2022
---

[Edge Impulse](https://edgeimpulse.com) have announced their challenge of the month for July, perfecting timing for [#JulyOT](https://dev.to/t/julyot).

## Build and share your object detection project in minutes[​](#build-and-share-your-object-detection-project-in-minutes "Direct link to heading")

Public Projects help the community learn from each other, and teach developers and engineers how to solve real-world problems with Edge Impulse. This month we are asking developers to see what problems they can solve with object detection on tiny devices!

With object detection you are able to detect the presence and the position of any object within an image. Use our object detection pre-built ML block that leverages transfer learning to quickly get your device to detect the objects of your choice.

## Win prizes! [​](#win-prizes "Direct link to heading")

The top prize for the best project is $2000 and an entry into their annual competition to win a macBook Pro, AirPods and an Edge Impulse backpack. 2 runners up get $200.

You can find all the details and the rules on the [Edge Impulse competition page](https://edgeimpulse.com/projectofthemonth).

<form action="https://edgeimpulse.com/projectofthemonth" target="_blank"><input type="submit" value="Learn more and enter"></form>
Day 87: multi-step form validation
Published: 2022-07-05 23:59:06

Hi!
So the multi step form I created last week today I realized it will not be that straightforward to validate as I technically have a single form and I'm passing the form steps as children components so I'm currently passing each state as a prop to each child which make the code super ugly. at first I did want to use a better state management option like redux or context just for a stupid form but I think I now need a better way to handle state across all form steps as now validation kicked in. the worst part is that I have to work on this by tomorrow morning so I may not have enough time to research about the best way to go about it so I will have to implement the hacky way and maybe get back to it later.
That probably will be the focus of tomorrow. waitt... today I actually got a chance to learn about CSS absolute property to treat element absolute from the rest of the page content and I can't believe I had been using it without knowing it's purpose so that's nice... Okay now that's all 
Signing off...
Filter out the geese (Codewars - 8kyu)
Tags: programming, tutorial, javascript
Published: 2022-07-05 23:19:52

Here's a link to the Codewars Kata: https://www.codewars.com/kata/57ee4a67108d3fd9eb0000e7/javascript

The goal of this exercise is to get back an array without some specific elements in it (elements that are specified in the geese array).

## Start the function
Here we'll create a function called gooseFilter that accepts a parameter named birds of type Array.

```
function gooseFilter(birds) {
//function body
}
```

## Return the string with methods applied to it

```
return str
```

We start with a return statement because we already want the result of the function right off the bat.

## Filter the array

```
.filter()
```

We use the filter method to get a subset of the original array (birds) based on specific criteria. The filter method tests each element of the array, so in our case here, we want to pull out ONLY the items that are not included in the geese array.

```
.filter(item => !geese.includes(item))
```

## Summary

The final function looks like this:
```
function gooseFilter(birds){
let geese =  ["African", "Roman Tufted", "Toulouse", "Pilgrim", "Steinbacher"]
return birds.filter(item=> !geese.includes(item))
}
```

I hope it helps you!


If you liked this article please follow me on Dev.to for my latest articles. I'm tweeting my journey on [Twitter](https://twitter.com/juliafmorgado) daily, this way to my [LinkedIn](https://www.linkedin.com/in/juliafmorgado/), and this is my [Youtube](https://www.youtube.com/c/JuliaFMorgado) channel :)

I share my knowledge on,

- 🌐 Web Development
- ✍️ Content Creation
- 💼 Career Development
- 🦾Personal Growth
- And more!
Day 586 : Gone Be Fine
Tags: hiphop, code, coding, lifelongdev
Published: 2022-07-05 22:57:59

_liner notes_:
- Saturday : Don't really remember, but I did the radio show. Had a really good time! The recording of this week's show is at https://kNOwBETTERHIPHOP.com

![Radio show episode image made to look like a chalk board with the Seven Cooperative Principles on it with some graphics. The principles are Voluntary Open Membership, Democratic Member Control, Cooperations among Cooperatives, Autonomy and Independence, Member Economic Participation, Concern for the Community, and Education training and Information with the words July 2nd 2022 Gallbladders](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s4nqx6g4bgh7odgabw5b.jpg)

- Sunday : Did my https://untilit.works cyphers and got some work done.

- Monday: It was Fourth of July and I had the day off, I still did some stuff for work. Ended the night watching "Ms Marvel", "The Boys" and "The Umbrella Academy". 

- Professional : Today was pretty productive. Created a sample app. Updated a bunch of code snippets and tutorials. Started updating some blog posts. Had an issue with an application so I just recreated it with credentials from another account and got it working. Also finally finished these tutorial videos and got them submitted for review.

- Personal : Such a relief to finally get these videos done. It couldn't have happened at a more in opportune time. Was going through some stuff at the same time and couldn't really focus. It's done, made it through and "gone be fine". Time to get back to work this next side project.

![Looking into the valley in Moab, UT, United States with a river and mesas striped with various shades of orange extending into the distance](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dhgb9ysmhkeml8zfd51d.jpg)

Going to get back to work on this side project. I've been looking into different UI elements I want to incorporate. Think I'm going to use a Web Component library that I've been talking about in my talks. Going to get into this code.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube TsmWkkqTXGg %}
Dev Chats - Jammin' with the JamStack
Tags: jamstack, javascript, beginners
Published: 2022-07-05 17:45:00

{% youtube 23ieiOUqQDk %}

The Jamstack architecture aims to make web applications faster, easier to scale, and more portable. In this live session of Dev Chats, Charlie Gerard (@devdevcharlie) comes on to help us understand what's really involved in building Jamstack applications, discuss the benefits, and show us how to get started.

## Table of contents
[00:00:00](https://youtu.be/23ieiOUqQDk?t=00) - We’re live!
[00:00:20](https://youtu.be/23ieiOUqQDk?t=20) - Introductions
[00:02:23](https://youtu.be/23ieiOUqQDk?t=143) - Highlights
[00:05:01](https://youtu.be/23ieiOUqQDk?t=301) - What is the Jamstack?
[00:07:48](https://youtu.be/23ieiOUqQDk?t=448) - How is it different?
[00:13:10](https://youtu.be/23ieiOUqQDk?t=790) - What does deployment look like?
[00:18:11](https://youtu.be/23ieiOUqQDk?t=109) - Jamstack Demos
[00:47:12](https://youtu.be/23ieiOUqQDk?t=2832) - Jamstack hosting providers

## Resources
* [APIs You Won’t hate](https://apisyouwonthate.com)
* [Croquet Docs](https://croquet.io/docs)
* [Alpine.js](https://alpinejs.dev)
* [Dev Chats live playlist](https://stripe.com/docs/videos/dev-chats-live)

## Stay connected
You can stay up to date with Stripe Developer updates in a few ways:
* 📣 Follow [@StripeDev](https://twitter.com/stripedev) and [our team](https://twitter.com/i/lists/1459720002567868418) on Twitter
* 📺 Subscribe to our [Youtube channel](https://www.youtube.com/StripeDevelopers)
* 💬 Join the official [Discord server](https://discord.com/invite/RuJnSBXrQn)
* 📧 Sign up for the [Dev Digest](https://go.stripe.global/dev-digest)
Ruby Methods to Increase your Programming Efficiency
Tags: ruby
Published: 2022-07-05 22:06:18

Using the right Ruby methods can save you a lot of work. The more methods you are familiar with the faster you can produce working code & the better this code will be, both in performance & quality. To improve your productivity, here are some helpful methods that you may not have seen before.

###Prefix & Suffix Methods
`start_with?` & `end_with?` return boolean results based on whether the beginning or end of a string match the provided string.
`delete_suffix` and `delete_prefix` remove from the beginning or end of a string if the suffix or prefix match the provided string.

###Percent String Literals
Besides %(...) which creates a String, the % may create other types of object. As with strings, an uppercase letter allows interpolation and escaped characters while a lowercase letter disables them. For the two array forms of percent string, if you wish to include a space in one of the array entries you must escape it with a “\” character.
These are the types of percent strings in ruby:
`%i` - Array of Symbols
`%q` - String
`%r` - Regular Expression
`%s` - Symbol
`%w` - Array of Strings
`%x` - Backtick (capture subshell result)

###Convert Number to an Array of Digits
the `digits` method returns an array of a number's digits in reverse.
`123.digits => [3, 2, 1]`

###The Object Tap Method
The `tap` method allows you to perform an action on an object then return the object.
Instead of:
```
user = User.new
user.name = "John"
user
```
You can write:
```
User.new.tap { |user| user.name = "John" }
```
The new object will be returned after performing the operation which avoids using a temporary variable.

###Transforming Multiple Hash Values

When you need to transform all of the values in a hash, say doubling your inventory, you can use the `transform_values` method.
Instead of:
```
inventory = {item_A: 200, item_B: 300}
inventory.each { |k,v| h[k] = v*2 }
```
You can use:
```
inventory = {item_A: 200, item_B: 300}
inventory.transform_values! { |v| v * 2 }
{:item_A=>400, :item_B=>600}
```
String Literal Union Type with TypeGuard in Typescript
Tags: typescript, tutorial
Published: 2022-07-05 21:26:34

Do you have a hard time dealing with typescript string literal union type?
what is _string literal union type?_ 🤔

![string-literal-type](https://cdn-images-1.medium.com/max/2152/1*UQ52_dyVsUW0malTs8Q5HQ.png)
>  As I understand it, its the way you could use string as union type. the string will be treated as “symbol” and will be different from normal string
It can be anything you want, and it help you to select the correct value for the variable in the typescript.

![type-autocomplete](https://cdn-images-1.medium.com/max/2000/1*nIkBOIGU9dilm3Ud7m-1hQ.png)

Typescript smart intellisense can provide us option when we want to put value into it. 😎

but sometimes its not perfect, like what we wanted.

![string-literal-type-error](https://cdn-images-1.medium.com/max/2000/1*yUAAJ1R3ofiPnfDjqDEFdw.png)

like you can see, the string is not pass as the string literal type. 💀
so how you can pass it? 📦

here the secrets: 😎

![union-type-function](https://cdn-images-1.medium.com/max/3164/1*yxA97QfM05G5pIFAsSp7cA.png)

We need to change our codes a a bit.
create an array that store all valid value, and make the type from it automatically. That’s it! The compiler wont complain anymore! 🎉
>  Tips: its type safe guard, which mean if you don’t input the right value you will get error! better catch this error or you might get trouble in the production line!

This is different approach, that I like more, it give you ability to give a default value, instead of throwing error.

![another-approach-type-union](https://cdn-images-1.medium.com/max/3500/1*FPC1BMc0ngg4Uei31_towQ.png)

It will keep the type guard, if you set the `throwError `to false, and blank the `defaultValue`, it will return type `“A” | “B” | undefined`, so you can deal with `undefined `value later.

That’s All!
I have search this solution from months ago! Finally made it!

here I create a repo for you who interested to give feedback,
[https://github.com/fatihaziz/StringLiteralEnumType/tree/main](https://github.com/fatihaziz/StringLiteralEnumType/tree/main)

Like always,

Good Luck, cheers! 🥂
>  Also maybe you want to [support](https://ko-fi.com/fatihaziz) me on Ko-Fi, or give me feedback [here](https://github.com/fatihaziz). All your support matters and i really appreciate it! 
Thank you! *😁*
Visual Studio Keyboard Shortcuts
Tags: visualstudio
Published: 2022-07-06 17:00:03

---
title: Visual Studio Keyboard Shortcuts
published: true
date: 2022-07-05 21:00:45 UTC
tags: visualstudio 
canonical_url: https://www.funkysi1701.com/posts/2022/keyboard-shortcuts/
---

I use keyboard shortcuts all the time, mostly without thinking, but they can be quite a time saver especially for frequently used tasks.

I recently came across this list of Visual Studio ones. [https://docs.microsoft.com/en-us/visualstudio/ide/default-keyboard-shortcuts-in-visual-studio?view=vs-2022](https://docs.microsoft.com/en-us/visualstudio/ide/default-keyboard-shortcuts-in-visual-studio?view=vs-2022)

I was going to do a top ten, but not really sure how you rank keyboard shortcuts, so instead I will mention some of my favourites.

## Build solution

If you are using Visual Studio you need to build your code. If you are anything like me, after even the smallest change I want to see what affect that has had so a rebuild is often needed.

- Ctrl + Shift + B / Build Solution
- F5 / Run
- Ctrl + F5 / Run with no debugging

## Cut, Copy, Paste, Undo, Redo

Programming is sometimes refered to as copying and pasting from [StackOverflow](https://stackoverflow.com/), but they are always times you want to copy and paste stuff so the standard keyboard shortcuts are all here.

- Ctrl + C / Copy
- Ctrl + X / Cut
- Ctrl + V / Paste
- Ctrl + Z / Undo
- Ctrl + Y / Redo (or Undo your Undo)

## Comments in your code

Often we like to temporarily comment out a line of code to see what affect it has.

- Ctrl + K, Ctrl + C / Comment selection
- Ctrl + K, Ctrl + U /Uncomment selection

## Using statements

I like to keep my using statements tidy, and not clutered up with ones that aren’t used anymore.

- Ctrl + R, Ctrl + G / Remove and Sort Usings

## Go to Implementation

I like to move quickly between methods that a class is calling to find out what is happening so the go to implementation and go to definition shortcuts are very useful. I tend to use the right click option more than the sortcut, but I would save myself a heap of time if I learnt these shortcuts.

- F12 / Go to Definition
- Alt + F12 / Peek Definition
- Ctrl + F12 / Go to Implementation

## Find file in Solution Explorer

You are editing a file and you have no idea what folder it is in the Solution Explorer. There is a shortcut to find out where you are.

Ctrl + [, S / Select Active File in Solution Explorer

## Search

Finding references or a certain string is a common activity

- Ctrl + F / Find in current file
- Ctrl + H / Replace
- Ctrl + Shift + F / Find in all files

## Visual Studio tries to be helpful

Often Visual Studio will try and be helpful with a lightbulb or similar icon, instead of clicking you can press this shortcut to

- Ctrl + . / Show Visual Studio suggestion

## Learn some more

As I said before keyboard shortcuts are great time savers. Go check out the complete list and share with me the ones you found most useful.
Angular & RxJS Tips #5: Multiple Http calls - combineLatest vs forkJoin
Tags: rxjs, angular, javascript, typescript
Published: 2022-07-05 20:46:09

In RxJS you can make  multiple REST calls, wait that all of them are completed and get a single result.

You can use forkJoin and combineLatest RxJS operators to achieve this result. 
So, what’s the difference?




---
🔗  Follow me on:

* [YouTube](https://www.youtube.com/c/FabioBiondi)
* [LinkedIn](https://www.linkedin.com/in/fabiobiondi)
* [Twitch](https://www.twitch.tv/fabio_biondi)
* [Twitter](https://www.twitch.tv/fabio_biondi)
Angular & RxJS Tips #4: HttpClient & Reactive Forms
Tags: rxjs, angular, javascript, typescript
Published: 2022-07-05 20:45:53

A new short video to show how to use #angular Reactive Forms with #rxjs operators: 
for example it can be useful to create autosuggest components in 4 lines of code, making a server side call with filters and debounce.


---
🔗  Follow me on:

* [YouTube](https://www.youtube.com/c/FabioBiondi)
* [LinkedIn](https://www.linkedin.com/in/fabiobiondi)
* [Twitch](https://www.twitch.tv/fabio_biondi)
* [Twitter](https://www.twitch.tv/fabio_biondi)
Angular & RxJS Tips #3: HttpClient & Router Params
Tags: rxjs, angular, javascript, typescript
Published: 2022-07-05 20:45:23

In this video we retrieve  (and update) the user id  from the url of the browser and we'll pass it to a REST API in order to get the user information.


---
🔗  Follow me on:

* [YouTube](https://www.youtube.com/c/FabioBiondi)
* [LinkedIn](https://www.linkedin.com/in/fabiobiondi)
* [Twitch](https://www.twitch.tv/fabio_biondi)
* [Twitter](https://www.twitch.tv/fabio_biondi)
Angular & RxJS Tips #2: Higher Order Observables - switchMap vs mergeMap vs concatMap vs exhaustMap
Tags: rxjs, angular, javascript, typescript
Published: 2022-07-05 20:45:00

In this video I will talk about higher order observables, that are observables that emit other observables and especially I describe the differences between switchMap, mergeMap, concatMap and exhaustMap. 

They can be really useful: 
• nested http requests: we make a call to the server via httpClient, get the result and pass it to another http request
• we subscribe the valueChange of a reactive  form and make a call to the server each time we type
• subscribe a Subject or a Store, acquire value, pass it on to another observable
•  interceptors, guards and any other scenarios in which we need to create sequences of observables

Level: intermediate (you should already know Angular Fundamentals)


---
🔗  Follow me on:

* [YouTube](https://www.youtube.com/c/FabioBiondi)
* [LinkedIn](https://www.linkedin.com/in/fabiobiondi)
* [Twitch](https://www.twitch.tv/fabio_biondi)
* [Twitter](https://www.twitch.tv/fabio_biondi)
O que é Typescript?
Published: 2022-07-05 20:25:45

É Uma linguagem open source criada pela microsoft em 2012.

É Um superset do javaScript, ou seja é um javaScript com funcionalidades a mais. 

Possui tipagem estática o que impossibilita a alteração do tipo da variavel depois de sua criação.

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

No exemplo acima temos duas situações onde não permite a mudança do tipo da variavel.

1. se passar string onde esperar um number dara erro ((soma(“1”, “2”))

2. se passar apenas um parametro onde espera por 2 também da erro(soma(1)); 


A linguagem pode ser usada no lado do cliente e no lado do servidor (Node.js ou Deno).
Ever Heard of Ritual Posts?
Tags: discuss, community, writing
Published: 2022-07-05 19:13:33

Earlier this year, I took Community Management classes with [C School](https://www.community.club/c-school) and learned lots of great tactics for working in community. One major takeaway I picked up from the course is using "ritual" posts. 

Ritual posts are basically posts that you share on a regular cadence (weekly/monthly/etc.) to establish a rhythm that your audience can follow and to relieve yourself of having to think up new ideas to post about every time. We have various ritual posts we share across DEV ([the Top 7](https://dev.to/devteam/top-7-featured-dev-posts-from-the-past-week-3o6b), [What Was Your Win this Week](https://dev.to/devteam/what-was-your-win-this-week-1m8a), [Follow Friday](https://dev.to/devteam/follow-friday-react-edition-1-july-2022-2kpa), etc.) and I even use this tactic for my own personal [Music Monday series](https://dev.to/michaeltharrington/series/17887).

{% embed https://dev.to/music-discussions/music-monday-what-are-you-listening-to-june-27-30cd %}

Clearly, you don't want to overuse this tactic as it can distract you from creating interesting posts that don't follow a formula. But, at the same time, using ritual posts you can create really fun experiences that folks can tune into weekly and lessen the burden on yourself as a content creator.

Do you have any ritual posts that you like to share? Any ideas for a ritual you might wanna start? What thoughts would you keep in mind when crafting a ritual post?
JavaScript `Option` type.
Tags: javascript, webdev, rust
Published: 2022-07-05 19:08:13

So, I really like Rust's `Option<T>` type, it's a very convenient way to tell if your value is actually `undefined` or if someone provided you wiþ ðe value `undefined`.
And you can define your own `Option` type in Rust, it's literally as simple as just:
```rust
enum Option<T> {
  None,
  Some(T)
}
```

But, JavaScript doesn't have such a þing, BUT we can improvise and make our own.
I introduce to you: Ðe JavaScript `Option` class!
```javascript
class Option {
  static #none_sym = Symbol("None");
  static #some_sym = Symbol("Some");
  static NONE      = (new Option()).#lock();
  
  constructor(v) {
    if(arguments.length > 0) {
      this.#value = v;
      this.#set   = true;
    }
  }
  
  isNone() { return this.#set; }
  unwrap() {
    if(!this.#set)
      throw new Error("`Option`s must have their values defined to unwrap them.");
    return this.#value;
  }
  state() {
    if(this.#value == undefined && !this.#set)
      return Option.#some_sym;
    return Option.#none_sym;
  }
  #lock() {
      this.#locked = true;
      Object.freeze(this);
      return this;
  }
  set(v) {
    if(arguments.length === 0)
      throw new Error("A new value must be set.");
    
    if(!this.#locked) {
      this.#value = v;
      this.#set   = true;
    }
    
    return this;
  }
  
  #locked = false;
  #value  = undefined;
  #set    = false;
}
```
(Ðe reason for having a separate `state()` is for comparing  it against anoðer state instead of a random boolean.)
How to make a div the same height as the browser window
Tags: css, webdev, tutorial
Published: 2022-07-05 19:06:35

You might think that making a `div` element the same height as your browser would be as easy as this:
```css
div {
    height: 100%;
}
```

However, it is unfortunately not. If you're wondering why `height: 100%;` doesn't work to make an element the full height of the screen, it's because a height has to be defined to use percentages in CSS. Since `body` tags have no predefined heights, CSS doesn't know what `100%` means here. So the `div` element doesn't become 100% of the browser's height.

## How to make a div the same height as the window

Making a div the same height as your browser window is relatively straight forward, and it starts with understanding a unit called `vh`. `vh`, which stands for viewport height, is a unit representing the current height of your browser window. `100vh` is the full height, and any number less than that is a percentage of that height.

Instead of writing `height: 100%`, we can apply `height: 100vh` to any element to make it the same size as the browser window. 

```css
div {
    height: 100vh
}
```

It also works for `100vw`, which represents the full `width` of the browser window, `vw` standing for **viewport width**.