teleren/devto huggingface dataset:
Track your Books
Published: 2021-09-14 15:27:54

Hey there, how is it going?

I just finished up on a web app to track your reading. It's a simple, minimal, easy to use interface. You sign up or sign in and then you add books by searching (powered by google books API). You can then view all them in one place as well as edit them and delete them. 

The authentication and storage is powered by Firebase. 
[Here](https://github.com/Raghunathan432/book-tracker) is the Github link for the project.

You can play with the demo [here](https://book-tracker-323606.firebaseapp.com) as well.

Check it out. Feedback is much appreciated.

Raghu
Why use websockets over TCP sockets
Tags: websockets, socket, http
Published: 2021-09-14 05:23:52

I always wondered why we use websockets internally to communicate between services when we are not even using web browsers to connect with them. After some digging around I found the explanation. Keeping it here incase I forget.

from StackOverflow: https://stackoverflow.com/questions/2681267/what-is-the-fundamental-difference-between-websockets-and-pure-tcp?lq=1

It's easier to communicate via TCP sockets when you're working within an intranet boundary, since you likely have control over the machines on that network and can open ports suitable for making the TCP connections.

Over the internet, you're communicating with someone else's server on the other end. They are extremely unlikely to have any old socket open for connections. Usually they will have only a few standard ones such as port 80 for HTTP or 443 for HTTPS. So, to communicate with the server you are obliged to connect using one of those ports.

Given that these are standard ports for web servers that generally speak HTTP, you're therefore obliged to conform to the HTTP protocol, otherwise the server won't talk to you. The purpose of web sockets is to allow you to initiate a connection via HTTP, but then negotiate to use the web sockets protocol (assuming the server is capable of doing so) to allow a more "TCP socket"-like communication stream.
Build tech resilience
Tags: career, productivity, education, student
Published: 2021-09-14 15:23:57

---
title: Build tech resilience
published: true
description: 
tags: career,productivity,education,student
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jiq3jxr5es4yh8s1qs8f.jpeg
---

For many students, tech-driven fields can be intimidating. When they get stuck or lack support, they drop out before ever having a chance to succeed—regardless of their abilities.



"The result is a smaller and less diverse workforce in tech."



Those who make it past these barriers during their educational journey can end up feeling excluded by workplace cultures that don’t match their own backgrounds and experiences.  Far too many talented people avoid choosing or actively decide to leave tech because it can be unwelcoming.



Our mission? To help build a more inclusive future for the tech industry by fostering confidence, resilience, and a sense of belonging.


{% youtube 0xT4mBgjg0w %}






Therefore, we created this learning path https://docs.microsoft.com/learn/paths/tech-resilience/



- Develop a growth mindset https://docs.microsoft.com/learn/modules/develop-growth-mindset/

- Enhance your self-efficacy, https://docs.microsoft.com/learn/modules/enhance-self-efficacy/

- Cultivate a culture of belongingness, https://docs.microsoft.com/learn/modules/cultivate-culture-belongingness/

- Exercise your emotional intelligence, https://docs.microsoft.com/learn/modules/exercise-your-emotional-intelligence/

- Give and receive effective feedback, https://docs.microsoft.co/learn/modules/give-receive-effective-feedback/

- Grow your cognitive flexibility, https://docs.microsoft.com/learn/modules/grow-cognitive-flexibility/

- Leverage self-regulation to work strategically, https://docs.microsoft.com/learn/modules/self-regulation-work-strategically/

- Communicate with others strategically through mirroring and coaching, https://docs.microsoft.com/learn/modules/communicate-strategically-mirror-coach/

- Work with others by practice active listening, https://docs.microsoft.com/learn/modules/practice-active-listening/
VueJS Custom Event - Emit Multiple Values
Tags: vue, nuxt, code
Published: 2021-09-14 15:17:23


# Emit Multiple Values from Child to Parent in a VueJS Custom Event

> VueJS custom events are a great way to communicate between child and parent components.

I was recently was in need of a way to pass more than one value from child to parent within a single custom event. The [VueJS Docs](https://vuejs.org/v2/guide/components-custom-events.html) do not provide any example showcasing this and instead I needed to refer to some comments within a Stack Overflow thread.

Here is what I found.

## To emit more than one parameter, it's best to pass the data as an object:

```js
this.$emit('success', {
  username: 'CodyBontecou',
  error: false,
})
```

VueJS's custom events only accepts two parameters:

1. The name of the event. In this case, the event name is `success`.
2. Data you want to pass. This can be a string, object, number, boolean, or function.

## Access the parameters from the parent component using an event listener:

We emitted the `success` event from the child component. This event can be captured within the parent component where the child is rendered using the `@` sign, in this case, `@success`.

1. @success calls the onSuccess method when success is emitted from the child component.
2. The username and message params are destructured from the object passed into the success emit and are now usable within the onSuccuss function to do as you please.

```js
<LoginForm @success="onSuccess" />

methods: {
  onSuccess({ username, error }) {
    ...
  },
}
```

It took me a little while to find the solution to this problem, so I figured it was best to document it within a blog post for others to benefit from.

I hope it helped!
Svelte + Vite Web Mapping App in 3 Steps
Tags: maps, svelte, vite, arcgis
Published: 2021-09-14 14:34:26

---
title: Svelte + Vite Web Mapping App in 3 Steps
published: true
description: Get started building a web mapping application with the ArcGIS API for JavaScript in Svelte with Vite.
tags: maps,svelte,vite,arcgis
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t0py3eya0rmxktmv24jw.png
---

_Using the ArcGIS API for JavaScript_

Getting started building a web mapping app is quick and easy with Svelte and Vite. Here are the steps:

1. Run the [Vite init workflow](https://vitejs.dev/guide/#scaffolding-your-first-vite-project) choosing the Svelte template:

    ```bash
    npm init vite@latest esri-svelte-project --template svelte
    ```

    or if you prefer TypeScript:

    ```bash
    npm init vite@latest esri-svelte-project --template svelte-ts
    ```

2. Then install the dependencies and run:

    ```bash
    cd esri-svelte-project
    npm install
    npm install @arcgis/core --save-dev
    npm run dev
    ```

3. Copy contents of [`App.svelte` in this repository](https://github.com/gavinr/esri-svelte-example/blob/master/src/App.svelte) into your `App.svelte`.

The result is a simple, interactive map on the page like [this](https://esri-svelte-example.gavinr.com/), but you can do a lot more. For example, a [full page emergency call mapping application](https://gavinr.github.io/stl-live-crime/).

## More Info

- [Esri Svelte Example GitHub Repository](https://github.com/gavinr/esri-svelte-example)
- [ArcGIS API for JavaScript](https://developers.arcgis.com/javascript/)
- [Svelte](https://svelte.dev/)
- [Vite](https://vitejs.dev/)
Introduction to FRDCSA Weak-AI Project
Tags: ai, programming, productivity, computerscience
Published: 2021-09-14 14:27:01

Two trivial corollaries of Goedel's first incompleteness theorem and Algorithmic Information Theory are that: 1) for any program P there exists program Q such that program Q is both larger and stronger than P, and 2) it is not the case that for any given program P there exists program Q such that Q is not larger than P but is stronger than P.

So basically, for any program there is always a stronger program.  If we take any infinite series of such increasingly powerful programs, the individual programs must eventually become larger.

This mechanism suggests via practical reasoning that a necessary but insufficient strategy to create more powerful programs is to collect as many existing programs as possible.  Practically speaking, I wish to collect as much free/libre open source software as possible, and make it coexist on some set of machines.  The best way to achieve this is to utilize the various packaging frameworks for software.

For the last 20 years I have been working to develop tools to index, download and package as much free software as possible, with preference given to tools that enable this very process.  For instance, I have the FLOSSMOLE DataMart and ghtorrent indicies of software systems, as well as spider researchers' and research groups' pages for capable software to index, and have created a packaging queue.  I then collect, packaging, and integrate these tools into our systems.

For more information, see https://altruisticsoftware.org

My next post will cover how I stovepipe many of these software systems into the FLP (Free Life Planner) project, as an application of these tools to the problems of daily life.  By helping to solve daily life, FLP will enable the creation of an online collective of teams of FLOSS programmers who are working together towards the creation of increasingly powerful AI systems.
BERT WordPiece Tokenizer Explained
Tags: machinelearning, datascience, python, ai
Published: 2021-09-14 14:16:57

Building a transformer model from scratch can often be the only option for many more specific use cases. Although BERT and other transformer models have been pre-trained for many languages and domains, they do not cover everything.

{% youtube cR4qMSIvX28 %}

Often, these less common use cases stand to gain the most from having someone come along and build a specific transformer model. It could be for an uncommon language or a less tech-savvy domain.

BERT is the most popular transformer for a wide range of language-based machine learning — from sentiment analysis to question and answering. BERT has enabled a diverse range of innovation across many borders and industries.

The first step for many in designing a new BERT model is the tokenizer. In this article, we’ll look at the WordPiece tokenizer used by BERT — and see how we can build our own from scratch.

[Full walkthrough](https://towardsdatascience.com/how-to-build-a-wordpiece-tokenizer-for-bert-f505d97dddbb) *or [free link](https://towardsdatascience.com/how-to-build-a-wordpiece-tokenizer-for-bert-f505d97dddbb?sk=eea06e01c9faecd939e10589e9de1291) if you don't have Medium!*
The ephemeral miniconf - Call for lightning talks
Tags: perl, discus, raku
Published: 2021-09-14 14:12:04

*(Image from [stickermule](https://unsplash.com/@stickermule))*

A bit more than one weeks ago, I announced [the tentative planning](https://dev.to/thibaultduponchelle/the-ephemeral-miniconf-tentative-planning-aom) for [the ephemeral miniconf](https://dev.to/thibaultduponchelle/the-ephemeral-miniconf-292j) that will take place the 18th of november 2021.

I'm very proud that all slots were filled very quickly and I'm also very happy with the speakers that I presented in dedicated blog posts:
- [Mark Gardner](https://dev.to/thibaultduponchelle/the-ephemeral-miniconf-speaker-presentation-i0e) 
- [Juan Julián Merelo](https://dev.to/thibaultduponchelle/the-ephemeral-miniconf-speaker-annoucement-4n8f) 
- [Stephane Gigandet](https://dev.to/thibaultduponchelle/the-ephemeral-miniconf-speaker-annoucement-314d) 
- [Clement Oudot](https://dev.to/thibaultduponchelle/the-ephemeral-miniconf-clement-oudot-2a1a) 
- [José Joaquín Atria](https://dev.to/thibaultduponchelle/the-ephemeral-miniconf-jose-joaquin-atria-2m5h) 
- [Adam Russell](https://dev.to/thibaultduponchelle/the-ephemeral-miniconf-adam-russell-3599)

(I also plan to speak but I did not write a post about myself :grinning:)

![Planning](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z7d6ndkh1x3f5hbjgdei.jpg)

# Call to lightning talk speakers
If the *"normal"* slots are filled, I'm still looking for lightning talk speakers. 

Giving a lightning talk is very easy, it's short (less than 5 min and it don't have to be close to 5 min, it can be 1 min) and can be funny or an advertisement or presenting a module or a short technical presentation...

So come on guys, let's join the speakers side! 

(contact me at **thibault.duponchelle@gmail.com**)
Color schemes in web design
Tags: design, webdev
Published: 2021-09-14 14:01:30

**What is a color scheme?** A color scheme is simply a pairing of colors composed of primary colors, secondary colors, and accent colors. Usually, just 3 colors that when paired together work well. Let's discuss each of those in more detail.

The *primary color* is your main color, and it is used for large sections of continuous color. *Secondary colors* are used less frequently, and your *accent color* is used even less frequently. Think of the [60/30/10](https://uxdesign.cc/how-the-60-30-10-rule-saved-the-day-934e1ee3fdd8) rule. Your primary color is used 60% of the time, your secondary 30% of the time, and your accent color 10%. Think frequently, less frequently, and rarely.

Colors have meaning and are related to[ different industries](https://www.color-meanings.com/color-meanings-in-business/). For example, blue is used in education and health care industries, while red is used in restaurants. Lastly, research indicates that color has an effect on our[ psychology](https://www.psychologytoday.com/us/blog/habits-not-hacks/201408/color-psychology-how-colors-influence-the-mind). Make sure your website colors are relevant and have the right effect on visitors.

**How color is misused**? Common mistakes that most people make when choosing colors for your site are:

- Using colors that don't pair well
- Poor contrast
- Glaring to look at
- Colors clash with your logo's colors
- Not having a consistent color scheme

**Here's how you can improve**. Pick colors that go well with your chosen field or industry. Make sure your colors match. Limit yourself to a primary color, a secondary color, and an accent color. You can of course use different hues when needed, but be consistent in your application of these colors. You can use an[ online service](https://mycolor.space/) to select color pairings that go well together. Ensure the colors have sufficient contrast between your text, headings, links, and the background colors. Make sure your paragraph color matches your color scheme. I'm not saying use red or purple for your paragraph, but avoid plain black as your body font color - it's boring.


This short take on colors in web design is part of a series covering color, typography, visual hierarchy, use of white space, layout choices, and images in web design.

Cover Illustration: [Doodles by Pablo Stanley](https://downloadillustrations.com/)
Why I Took a Break From Writing.
Published: 2023-04-23 11:21:14

---
title: Why I Took a Break From Writing.
published: true
date: 2021-09-14 13:48:34 UTC
tags: 
canonical_url: https://chrisdevcode.hashnode.dev/why-i-took-a-break-from-writing
---

> Well, a simple answer to this; I was tired and overwhelmed.

![tired I am meme](https://cdn.hashnode.com/res/hashnode/image/upload/v1631626382156/HzGpOwW9c.jpeg)

I had signed up for a lot of competitions, boot camps, and hackathons, and had a lot of personal stuff I needed to do. It was too much so had to rest.

The other thing is that I had completely run out of ideas on what to write, especially for my technical blog. I was also focusing on the number of views I was getting on every article I get and sometimes that does not go well.

![noidea1.jpeg](https://cdn.hashnode.com/res/hashnode/image/upload/v1631626764365/BiuP7lvY0.jpeg)

![noidea.jpg](https://cdn.hashnode.com/res/hashnode/image/upload/v1631626751491/2PReJxaTK.jpeg)

I know I’m not alone who is struggling with a lot and trying to keep up the fast-moving world in software development and tech in general. In the middle of catching up with all the updates, we get all mixed in the mix and forget the most important thing, mental health.

![ok not to be ok](https://cdn.hashnode.com/res/hashnode/image/upload/v1631626898564/viQ33Hg88.png)

I have always ignored whatever mental health or issues have to do with, but at some point, I couldn’t and had to stop that.

Personally, I hate reading lengthy articles, especially if they are not technical, I would end by saying you don’t have to do everything or try and participate in everything, evaluate your capabilities and go with what is perfect for you.

![tldr](https://cdn.hashnode.com/res/hashnode/image/upload/v1631627000028/5znu9HckI.jpeg)

If you feel tired or overwhelmed, just take a rest, long or short. Just don’t quit.

![rest don't quite](https://cdn.hashnode.com/res/hashnode/image/upload/v1631626520336/Oyq8KYTyd.jpeg)

Finally:

[https://youtu.be/X53-8g49EjQ](https://youtu.be/X53-8g49EjQ)
Support Software Developers
Tags: opensource, github
Published: 2021-09-14 13:44:34

---
title: Support Software Developers
published: true
description: Three ways to support software that you use and enjoy.
tags: opensource,github
cover_image: https://unsplash.com/photos/65Mm-b0g4Z8/download?force=true&w=1920
canonical_url: https://gavinr.com/support-software-developers/
---

Support what you use and enjoy. This is true in all aspects of life, including software. Especially open source software.

Here are a few simple ways to do that.

## 1. "Star" the project on GitHub (FREE)

Giving a project a "star" tells the developer that you appreciate their effort. It costs you nothing, but is quite encouraging to the developer when it appears in the feed.

This encouragement is important because open source projects generally do not get any feedback when the software works well -- the developer only hears about problems and bugs.

![Click the GitHub Star](https://gavinr.com/posts/images/github-star.gif)

## 2. Send a personal thank you message (FREE)

Find the developer's email address via GitHub or their personal website, and send a quick note of thanks and appreciation. It need not be long or complex. Taking a small amount of time out of your day to do this is very meaningful and really encourages the developer.

This can be done using social media, but I encourage doing it via email because it's more personal and feels more direct. If you're big into social media, do via social media *and* email!

## 3. Send money

If you have the means, taking a small portion of your donation budget each year to send it to software developers who work on the software you enjoy is a great way of saying thanks. Sending a donation is easier than ever.

- If the software has an Info or About page, it might mention ways to donate there.
- If the project has a GitHub page, check the "Sponsor this project" section.
  ![sponsor github](https://gavinr.com/posts/images/mac-dev-playbook-sponsort.png)
  
- Find a contributor by going to the GitHub repository "Insights > Contributors" page and see if they have a GitHub Sponsors or other sponsorship link on their user page.
  ![github insights contributors](https://gavinr.com/posts/images/github-find-contributor.png)
- Find their personal homepage to see if they accept donations via an alternative method.
  ![jeff geerling personal website](https://gavinr.com/posts/images/jeff-geerling-personal-site-donation.png)
- If none of these steps led you to a donation page, go back to option two above, and ask if they have a way to donate directly.
How to build an MVP?
Tags: mvp, mvpdevelopment, startup
Published: 2021-09-14 13:33:22

{% youtube z2j7xxx3cpQ %}
How to build an MVP? If you're interested in the MVP creation process, in this video you will find everything you wanted to know (but were afraid to ask).

🟣 Does every startup need MVP? 
🟣 How do we define and build MVP at Frontend House at Liki? What does the process of creation look like?
🟣 What information about my product I have to deliver to developers to start the process of MVP creation?
🟣 Do we need a large team to develop an MVP? What team members play a crucial role at this step?
🟣 What are the biggest challenges while building an MVP?
🟣 What is the next step after creating an MVP and collecting the feedback? 
🟣 Have you ever met a situation when you have too much feedback and what has to be implemented?
🟣 What are the most popular clients’ mistakes? 

Enjoy the video, hope you will find it useful 🙂

You can also read the article at [Frontend House](https://frontendhouse.com/experts-zone/how-to-build-mvp-team-challenges-tips-experts-zone-talks-11)
Use python on mobile (Android/IOS) Full guide
Tags: python, android, ios
Published: 2021-09-14 13:30:43

 A lot of people want to learn python programming until they found all courses online made with laptops and desktops. so, they get disappointed and lose interest in learning. Today, I decided to help you with this problem and show you how you can  run python on mobile phone.
## Using Mobile Apps IDE
The first way is using mobile applications ( python mobile IDE ) to run python codes on.
### Mobile applications IDE 
 The first way is using mobile applications ( python mobile IDE ) to run python codes on.
 [List of Python ide on mobile (android/ios)](https://blog.icodes.tech/2021/08/25/learn-python-programming-on-mobile-phone.html) 
## Using online ide on browser
Personally i use online python IDE's a lot because it has fast internet access and you can store your code online.Here's a [list of my favorites python websites ide](https://blog.icodes.tech/2021/08/25/learn-python-programming-on-mobile-phone.html)
Vim, the Ultimate Text Editor
Tags: vim, linux
Published: 2021-09-14 13:29:01

Using vim, the text editor, is like learning martial arts. Once you learn it you can use it for everything. Vim can be very intimidating at first, but once you learn it you will use it everyday.

If you don’t know it, Vim is a classic text editor and the popular choice among programmers and developers around the world. 

It’s worth learning because the well defined keyboard shortcuts and modal editing environment will enable you to edit large files with great speed and efficiency.

If you are new to vim, you can master the shortcuts quickly on [vim.is](https://vim.is)

## Why vim?

vim is a [terminal-based](https://bsdnerds.org/what-is-linux-shell/) text editor that a large percentage of programmers use. I use it. You might use it. Your neighbor uses it. You have probably used it once. But why?

It's well built and works extremely well because it was updated over time by thousands of people with different needs. Contrast this to shiny modern editors.

When I was first introduced to terminal text editors more than a decade ago, I was aware of the kind of power that comes with them: how they can be customized and programmed to do almost anything, and more importantly how they can improve my efficiency.

I thought I’d share some of the reasons why I chose vim and stuck with it — and why more developers should consider giving it a try.

* **Vim has a future**: Vim has been around for a while. It survived the test of time and is still going strong. This is a sign of a mature piece of software designed for a specific niche.

* **vim is minimal**: who needs a full blown editor with hundreds of buttons? It's much easier to use keyboard shortcuts and vim provides that

* **It works everywhere**: you can use it on your Linux box, Windows, OS X, remote SSH sessions and even ancient computers

* **It is powerful**: Vim can do anything from editing files, recording and replaying keystrokes and lots more


![vim, dont fix what isnt broken](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wsp09bfbutgu0mpgwzbc.jpeg)