teleren/devto huggingface dataset:
NFT real-world use cases beyond digital arts
Tags: blockchain, opensource, news, showdev
Published: 2021-07-07 03:19:55

NFT(Non-fungible token) has been all over the news lately! But how can you take this awesome new technology beyond the use in selling digital arts?

## Who are we?
We, the [CENNZnet](https://cennz.net/) team, build an open-source blockchain platform for developers to build quality DApps(Decentralised Apps) quickly.

Our latest addition to [CENNZnet](https://cennz.net/) is the [NFT module](https://wiki.cennz.net/#/CENNZnet-API/NFT-API). This allows you to harness the power of NFT through a [simple JavaScript API](https://wiki.cennz.net/#/Dapp-development/Guides/Getting-started-with-the-CENNZnet-API).

## The Hackathons
Here in New Zealand, we are fortunate enough to be running Hackathon events in real life in the middle of a pandemic.

Check out what happened a couple weeks ago here:
[Developing real-world use cases for NFTs: Techweek 2021 hackathon](https://medium.com/centrality/developing-real-world-use-cases-for-nfts-tech-week-2021-hackathon-a66da020d92a)

[Fighting climate crisis with NFTs: CENNZnet & CarbonClick hackathon](https://medium.com/centrality/fighting-climate-crisis-with-nfts-cennznet-carbonclick-hackathon-ef13b85b99a)

## Learn more about NFTs and DApps
[NFTs are ready to disrupt the ticketing world!](https://medium.com/centrality/nfts-are-ready-to-disrupt-the-ticketing-world-5cf13c637912?source=collection_home---4------2-----------------------)

[What is a DApp and why are they useful?](https://cennz.net/knowledge-hub/cennznet-blockchain-101/what-is-a-dapp-and-why-are-they-useful/)
Adding Appointments for Multiple Resources in Blazor Scheduler
Tags: blazor, scheduler, appointments, webdev
Published: 2021-07-07 03:17:24

Get a quick overview of how to add appointments for multiple resources in the [Blazor Scheduler](https://www.syncfusion.com/blazor-components/blazor-scheduler "Blazor Scheduler").

**Syncfusion Blazor Scheduler - A Complete Event Calendar Component**
* View vibrant events in different views such as day, week, month, agenda, year, and timeline.
* Display multiple calendars in a single layout with grouped events.
* Easily synchronize events with Google and Outlook Calendars.

To find out how to add a basic [Blazor Scheduler](https://www.syncfusion.com/blazor-components/blazor-scheduler "Blazor Scheduler") to your Blazor application, watch these videos: 
Add a Blazor Scheduler to the Blazor Server App Using VS Code 
https://bit.ly/3uPalCi 

Bind Appointment Data to the Blazor Scheduler [Getting Started - Part 2] https://bit.ly/3yRGXxv

In this video, you will learn how to add appointments for multiple resources in the [Blazor Scheduler](https://www.syncfusion.com/blazor-components/blazor-scheduler "Blazor Scheduler"). You will learn how to define a resource data source as well as how to map that resource with appointments. You will also see various resource options available in the Blazor Scheduler.
Explore our tutorial videos: https://bit.ly/3qEYmWp

Download example from GitHub link: 
https://bit.ly/3hamdKB

{% youtube ZJU73bqeoC0 %}
Day 13 of #100DaysOfCode!

Tags: css, codenewbie, 100daysofcode, beginners
Published: 2021-07-07 02:41:37

<h2>Today's progress</h2>
I decided to change things up for today and learn SASS. 

<h2>What I learned</h2>
`SASS` stands for (Syntactically Awesome Style Sheet). Which is an extension of CSS that enables you to use things like variables, nested rules, inline imports and more.

SASS uses variables to store data. First, you declare them, store the data and then use it. The syntax it uses for storing variables is `$` followed by the variable name `$variableName`.

####<center>Using variables</center>
```sass
$headings-color: blue

h1{
 color: $headings-color;
}
```

In the above SASS example. We declared a variable `$headings-color` which will store the color blue. Then we have the tag name `h1` and set the color to the variable name. This will set all `h1` elements to the color blue.

Using variables is a good way to managing multiple element's values. You can imagine if you have elements with the same color. All you need to do is change the variable's value and will be able to change all the elements that have the variable name.
LeetCode 3. Longest Substring Without Repeating Characters
Published: 2021-07-07 02:32:26

I used slide window algorithm.
Defining a set first to fit the substring during the window sliding process.
When there's repeat letter appears in the window, then the set will delete the very left letter and slide toward right one letter, then check repeating again, until there's no repeat letter in the window. Recording every length after checking, and store the length in res. If res has a bigger number, it will adopt the bigger one.
Time complexity is O(n) since it only traverse once.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8t5swe8z2z1sli7zec9a.png)
A movies countdown website using tmdb api
Tags: nextjs, react, javascript, webdev
Published: 2021-07-07 01:47:34

This is a Project created with next js and tmdb api to show list of all the upcoming movies this year with countdown

Check out live demo at [Movies Countdown](https://movies-countdown.vercel.app/) for more details.

Source Code =>[here](https://github.com/sarthak090/movies-countdown)
#100DaysOfCodeChallenge - Crop Management Information System - Day 12
Tags: 100daysofcode, flutter, dart
Published: 2021-07-07 01:44:52

## Recap

On [Day 11](https://dev.to/curtlycritchlow/100daysofcodechallenge-crop-management-information-system-day-11-4b23) we built the farmer detail screen.

## Overview

In this post, we will discuss updates made to the add farmer screen.

## Going Deeper

The updates made to the farmer screen doesn't include any complexity that wasn't covered in previous posts except for one, which we will discuss later. Screenshot of the updated add farmer screen show below.
![Updated Add Farmer Screen]
(https://drive.google.com/uc?id=1iErcTZmW5965gvPiyEmXQh-Qoglwgi9q)

### Cascading Dropdown List

Two of the new fields introduced to the add farmer form are region and district. A region is the USA equivalent of a state and a district is a sub location within a region. My goal is to filter the options in the district depending on the region. The purpose of this methodology is to reduce the number of options in the district dropdown field. Unfortunately I got the error shown below when I attempt to change the region after choosing a district. The below error was shown.
```Dart
════════ Exception caught by widgets library ═══════════════════════════════════
The following assertion was thrown building Builder(dirty, dependencies: [_FocusMarker]):
There should be exactly one item with [DropdownButton]'s value: District 6. 
Either zero or 2 or more [DropdownMenuItem]s were detected with the same value
'package:flutter/src/material/dropdown.dart':
Failed assertion: line 850 pos 15: 'items == null || items.isEmpty || value == null ||
              items.where((DropdownMenuItem<T> item) {
                return item.value == value;
              }).length == 1'

```
Even with this error message, I'm unable to troubleshoot successfully. This means that on Day 13 I'll have to spend the day understand `DropdownButtonFormField()` in more detail.

## Wrap Up

In this post, we discussed the update made to the Add Farmer screen and introduced a new complexity that I was unable to implement successfully.

## Connect with me

Thank you for reading my post. Feel free to subscribe below to join me on the #100DaysOfCodeChallenge or connect with me on [LinkedIn](https://www.linkedin.com/in/curtlycritchlow/) and [Twitter](https://twitter.com/CritchlowCurtly). You can also [buy me a book](https://www.buymeacoffee.com/curtlycritchlow) to show your support.
3 ways to Center a Div
Published: 2021-07-07 00:51:31

1. Using the Grid 

```css

.CenterDiv {
      display: grid;
      place-items: center;
}
```

2. Using flex 

```css
.CenterDiv {
display: flex;
justify-content:center;
align-items: center;
}
```

3. place content

```css
.CenterDiv {
  display: grid;
  height: 100vh;
  place-content: center;
}
```
C# 9.0 .NET 5
Published: 2021-07-07 00:48:57

Microsoft has a family of code editors and Integrated  Development Environments (IDEs), which include :

- Visual Studio Code (VS Code)

- Github Codespaces

- Visual Studio 2019

- Visual Studio 2019 for Mac

--------------------------------

 VS Code 

-The most lightweight code editor to choose, and only one from     Microsoft that is cross-platform.

-Is able to run on all common operating systems ( Windows - macOS  Red Hat Enterprise Linux (RHEL) - Ubuntu )

-Has an extensive and growing set of extensions to support many languages beyond C#  

-Is by far the most popular development environment with over half of developing selecting in the Stack Overflow 2019 survey

-For Installation => https://code.visualstudio.com/

-For Best Extensions to  improve your Productivity =>https://x-team.com/blog/best-vscode-extensions/

---------------------------------

Github Codespaces

-Is a fully configured development environment based on VS Code

that can be spun up in an environment hosted in the cloud and accessed through any web browser 

-Supports Git repos, extensions, and a built-in-command-line interface so you can edit, run, and test from any device

- Allows developers to develop in the cloud instead of locally

-For more details

 => https://docs.github.com/en/codespaces/about-codespaces

 =>https://www.youtube.com/watch?v=j5VQ8OlwbqI

-For Setup =>https://github.com/features/codespaces

---------------------------------

Visual Studio 2019

-Only runs on Windows, version 7 SPI or later

-You must run it on Windows 10 to create Universal Windows Platform (UWP) apps that are installed from the Windows Store and run in a sandbox to protect your Computer

- Is the Only Microsoft developer tool that can create Windows apps

-For Downloading =>https://visualstudio.microsoft.com/downloads/

---------------------------------

Visual Studio 2019 for Mac

-To create apps for Apple operating systems like iOS to run on devices like iPhone and iPad, you must have Xcode, but that tool only runs on macOS 

-For Downloading =>https://visualstudio.microsoft.com/downloads/

--------------------------------

#C#9.0

#.NET 5

referances :

- C# 9 .NET 5 book (Fifth Edition) - Ch.1 - Part 1
How to convert each character in the string to an array using the Array.from() method in JavaScript?
Tags: javascript
Published: 2021-07-07 00:00:00

---
  title: How to convert each character in the string to an array using the Array.from() method in JavaScript?
  published: true
  tags: JavaScript
  date: Wed Jul 07 2021 05:30:00 GMT+0530 (India Standard Time)
  canonical_url: https://melvingeorge.me/blog/convert-each-characters-in-string-to-array-using-array-from-method-javascript
  cover_image: https://melvingeorge.me/_next/static/images/main-59023af0fb11223c42a4ed6e4f7eb69a.jpg
  ---
  [Originally posted here!](https://melvingeorge.me/blog/convert-each-characters-in-string-to-array-using-array-from-method-javascript)
  
To convert each character in a string into an array, we can use the `from()` method from the global `Array` object in JavaScript.

Consider a string called `Hello!` like this,

```js
// random string
const str = "Hello!";
```

Now to convert each character in this string into an array, let's use the `Array.from()` method and

- pass the above string as the first argument to the method.
- the method returns a new array

It can be done like this,

```js
// random string
const str = "Hello!";

// convert each characters in string to array
const strArr = Array.from(str);

console.log(strArr); // ["H", "e", "l", "l", "o", "!"]
```

Now if you look at the output of the `strArr`, we can see that the string is successfully converted to an array.

See the above code live in [JSBin](https://jsbin.com/xuweletonu/2/edit?js,console).

That's all 😃!

### Feel free to share if you found this useful 😃.

---
How Kinopio helped me design and build an npm package
Tags: planning, kinopio, mindmapping
Published: 2021-07-07 15:18:52

 ---
title: How Kinopio helped me design and build an npm package
published: true
date: 2021-07-07 00:00:00 UTC
tags: planning, kinopio, mindmapping
canonical_url: https://stegriff.co.uk/upblog/how-kinopio-helped-me-design-and-build-an-npm-package/
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s7vyv2gbp117e75j1iwk.png
---

For a little while I’ve wanted to build an npm package using the latest typescript technology and build chain, like esbuild.

But… there was a lot to learn and figure out, and I wasn’t sure where to start! So I decided to start expressing my thoughts, notes, and plans using my favourite thinking tool, [Kinopio.club](https://kinopio.club).

![Planning](https://us-east-1.linodeobjects.com/kinopio-uploads/OCkOu-Vso7sq5K7GSwTem/kp-js-1.png)

Kinopio is a really great way to organically express your thoughts and link everything together.

So I made a new [space called ‘Writing a JS library’](https://kinopio.club/writing-a-js-library-doWBBnsA5B_OjPGDzVqmD) and split it into the things I needed to figure out, like: how JS modules are written and used, how to use esbuild (and some unfamiliar parts of npm!), and how the exposed API of my package should work.

Anytime I find a good resource online, I can drop the link into a card and it makes a neat link preview, and I can drop in images and gifs too for a bit of self-expression.

I find it helpful to drop code samples in their own cards, using the usual markdown syntax of triple backticks. But this only suits short samples, as the cards are small. Bigger things, I can link to GitHub Gists or source files.

![Code samples](https://us-east-1.linodeobjects.com/kinopio-uploads/Qif_x8uafLWKGtdnmme6X/kp-js-code-1.png)

My Kinopio space ended up a good representation of my journey of discovery… from the very simple first steps (I couldn’t remember how to get npm to generate a new `package.json`… turns out it’s `npm init` 😅) through to how to test and publish my package.

![Link previews](https://us-east-1.linodeobjects.com/kinopio-uploads/njEYT0CgSX58ic2X3SaGP/kp-js-2.png)

When I compare it to other tools, I think that using Kinopio this way actually made my project easier. When I think about using a traditional planning tool like plain text notes or a kanban board, there are things they lack:

- Visuals and colours to help with finding and recognising things
- Connecting ideas multi-dimensionally (i.e. more than one hierarchy)
- Fun and playfulness!

…and all of those factors are really helpful to me.

If you give Kinopio a try, let me know what you think! You can also leave a card on my personal space, [SteGriff is on Kinopio](https://kinopio.club/stegriff-is-on-kinopio-W5Dg_KWsKmOeHmE5ATZ5F), to say hi!

Btw, the library I created is called [old-money](https://www.npmjs.com/package/old-money) and it’s for working with the pre-decimalisation currency of the UK… another post is incoming to talk more about that! 💷

Til next time 🍃
Introduction to graph in data structure 
Tags: algorithms, computerscience, programming, codenewbie
Published: 2021-07-06 23:24:05

## Definition of Graph

+ Graph: is a non-linear data structure that consists of a finite set of **nodes** or **vertices** and a set of **Edges** which link a pair of vertices.


## Notation & some definitions
+ Nodes: entities whose relationships are expressed using edges. 

+ An edge is an incident on the two nodes it connects.

+ Any two nodes connected by an edge or any two edges connected by a node are said to be **adjacent**

+ Weight: is a piece of information or an associated value that edges have.

+  V: the set of nodes (vertices).
+ |V|: the total number of nodes.
+  E: the set of edges.
+ |E|: the total number of edges.

## Applications and real-life examples of using Graph

+ Google map
+ Friend suggestion on Facebook
+ Recommendations in e-commerce website
+ studying molecules in chemistry and physics
+ Operating systems
+ VPN
+ Building networks
+ Trafic lights
+ Google search


## References and useful resources

+ [https://www.geeksforgeeks.org/graph-data-structure-and-algorithms/](https://www.geeksforgeeks.org/graph-data-structure-and-algorithms/)
+ [https://www.hackerearth.com/practice/algorithms/graphs/graph-representation/tutorial/](https://www.hackerearth.com/practice/algorithms/graphs/graph-representation/tutorial/)
+ [https://www.programiz.com/dsa/graph-adjacency-list](https://www.programiz.com/dsa/graph-adjacency-list)
+ [https://www.geeksforgeeks.org/graph-and-its-representations/](https://www.geeksforgeeks.org/graph-and-its-representations/)
+ [https://www.youtube.com/watch?v=gXgEDyodOJU](https://www.youtube.com/watch?v=gXgEDyodOJU)
+ [https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.quora.com/What-are-real-life-applications-of-graphs&ved=2ahUKEwitm6-Py8_xAhUUoVwKHRhsA2QQjjgwAHoECAYQAg&usg=AOvVaw1T9VQVp1uc3fbDkPsCoSJa](https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.quora.com/What-are-real-life-applications-of-graphs&ved=2ahUKEwitm6-Py8_xAhUUoVwKHRhsA2QQjjgwAHoECAYQAg&usg=AOvVaw1T9VQVp1uc3fbDkPsCoSJa)

Have an amazing day!
Focus, Culture, and Metrics in a Remote-First World w/ Chris Brookins of Appcues
Tags: remoteorganization, performance, metrics, continuousimprovement
Published: 2021-07-06 23:11:36

How can you build and scale an effective remote organization? In our digital world, figuring out the answer to this question is crucial, and Chris Brookins the VP of Engineering at Appcues, has some great ideas about how to improve team focus time and maintain company culture in remote-first work environments.

Hear from Chris how he and his team are using LinearB's metrics to inform their decision-making and create a culture of continuous improvement on this new episode of [Dev Interrupted](https://devinterrupted.com/podcast/focus-culture-and-metrics-in-a-remote-first-world/).

#**Listen to the full episode**
{% spotify spotify:episode:3Fs3ORJFLrn4ZN8GasyORcj %}

#**Episode Highlights include:**
* Appcues, who are they and what do they do?
* Running a remote-first organization
* Engineering organization structure
* The use of [LinearB metrics](https://linearb.io/blog/custom-metrics-dashboards/)

#**Join the Dev Interrupted Discord Server**
With over 1200 members, the Dev Interrupted Discord Community is the best place for Engineering Leaders to engage in daily conversation. No sales people allowed. [Join the community >>](https://discord.gg/tpkmwM6c3g)
![Join the Dev Interrupted Discord Community!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/19j3dzgz4r4kzav3w6z8.png)
Use Emacs with Different User Profile
Tags: emacs, testing
Published: 2021-07-06 21:59:54

---
title: Use Emacs with Different User Profile
published: true
description: Two ways of starting Emacs without interfering anything from your own configuration
tags: #emacs #testing
//cover_image: https://direct_url_to_image.jpg
---

When it comes to testing with various configuration environment, [Gnu Emacs](https://www.gnu.org/software/emacs/) is not very flexible. The main idea is to be able to test completely different user settings, without polluting my own preferences.

I know about [Chemacs](https://github.com/plexus/chemacs2), but I was looking for a more simple solution, for example to embed it easily in a Makefile.

The first path I follow was to prevent Emacs to load my init file. This is clearly documented in its man page, and as easy as doing:

    emacs -Q -l custom_profile.el <file_to_open>

The `-Q` here means “Similar to ‘-q --no-site-file --no-splash’”. `-q`, in turn, means “Do not load an init file”. Said otherwise, with this lone parameter, we load nothing and prevent Emacs to follow its traditional startup process.

Then, `-l` is used to load a specific lisp file, which can be seen as a profile replacement.

For most of my tests, it did the trick and I was happy with that. However, as Emacs does not really start as expected, a lot of thing may not work as we are used to. Packaging, or `customize` for example. And if you forgot to deactivate some features, you will still be polluting your own settings (yes, I’m looking at you `auto-save-list`).

And I finally found [an answer on StackOverflow](https://emacs.stackexchange.com/a/4255) to literally *chroot* Emacs in a fake home environment. It is a bit weird to write, but it does the job:

    HOME=/path/to/my/fakehome emacs <file_to_open>

All we have to do to make it works as expected, is to put our new settings file inside this fake home directory. Meaning either to put there a `.emacs` file, or a `.emacs.d/init.el` file, or a `.config/emacs/init.el` one.

And now, as Emacs will start as usually, we benefit from all its features, and it even lets us easily install new packages without breaking anything on our own profile.

To conclude, both methods are valid, but they answer different use-cases:

- the `-Q` method is useful for quick or light tests. I also use it a lot with the `--batch` and `-nw` switches when it comes to achieve headless tasks. In my case, I still use it to quickly test the [dracula theme](https://github.com/dracula/emacs) I maintain.
- the fake home method is useful for more complex test cases, with a lot of dependencies involved. Or to debug other users settings files. I now use this method to work on [flycheck-grammalecte](https://git.umaneti.net/flycheck-grammalecte).

Make your choice 😀
Copy USB dongles with just a couple of clicks!
Tags: dongle, security, usbkey
Published: 2021-07-06 21:25:15

_Users often need the ability to remotely connect to a licensed copy protection USB dongle_. They may need to use the functionality of the protected software but be unable to physically connect to the dongle. If you are in this situation, you may be asking yourself if it’s possible to copy a USB security dongle. 
 
The answer to that question is **"Yes"** if you are using a USB dongle copying solution like Donglify.

##What is Donglify?##

[**Donglify** ](https://www.donglify.net/)is a software solution that enables users to virtually copy a USB dongle key which eliminates the need to physically connect to the device. Donglify lets you make a copy of a USB dongle so it can be shared with any network-connected machine. 
 
Let’s investigate the features of this dongle copying solution.

1. The software offers the ability to connect to multiple machines simultaneously when using a copy protection dongle. You can use the software to access a dongle from either a single computer or multiple machines at the same time, making it a flexible solution for diverse technical teams.

2. Using a virtual dongle copy helps protect the original security key from being lost or damaged. It can be safely connected to one computer and not be subjected to the wear and tear associated with physically sharing it between machines.

3. Donglify makes it easy to access a copy protection dongle from within a virtual environment. If your virtual machine does not recognize the physical dongle, you can create a virtual security key with this dongle copying software solution. You just need to install Donglify on both the host and guest operating systems.

### Additional benefits provided by Donglify ###

The benefits of using Donglify for copying USB dongle keys include:
 
+ **High-level security:** 2048-bit SSL encryption keeps your virtual USB copy protection dongles safe when sharing them over a network.

+ **Time and costs savings:** Productivity gains are enjoyed by not having to physically swap dongles between machines. Losing or damaging dongles is minimized by reducing the number of times the devices are physically handled.

+ **Access control:** Granular control over who can access a USB dongle key is provided by Donglify.

+ **Easy set-up:** Installation and configuration take minimal time so you can get working quickly. There is no need for any extra software or hardware to share a security dongle copy over the network.

Donglify offers a multi-connect feature for the following models of security keys:

![dongles](https://www.donglify.net/images/upload/products/donglify/main/devices.png)