teleren/devto huggingface dataset:
How to track web analytics for freelancing websites using Google Tag Manager?
Tags: webdev, analytics, management, developers
Published: 2021-08-09 11:05:34

Freelancing is now evolving rapidly around the World. So, a great way to portray your work samples is  by building a portfolio website. 

But when it comes to a website, you definitely need to create one and manage it. So, here's how you can track your web analytics and manage your portfolio website in 5 easy steps:

1. Build a portfolio website
2. Create a Google Tag Manager Account
3. Create a Google Analytics Account
4. Install Google Analytics on Google Tag Manager
5. Track all link clicks

To know how you can further perform all these steps, read more at: https://tiiny.host/blog/how-to-track-website-analytics-for-your-freelance-business-website-using-google-tag-manager-in-2021/
Why I used a template for my personal site
Tags: career, webdev
Published: 2021-08-09 11:02:11

As a young developer and writer, having explored the likes of medium I wanted to create a site all to myself. This was back in 2016 and I had two choices at hand: build my own site or pick a template and roll with that.

## Building a website is hard

Don't get me wrong, I've designed and developed a SaaS platform from scratch so I wasn't new to building a website. But when you want to build one that is for all purposes a digital extension of you, it gets a bit tricky. Colours never look right, fonts keep changing and margins are never enough. Perfectionism kills, I know.

So I decided to just go with the flow and publish a version of the website anyway, even if it wasn't perfect a few months ago. I published maybe one article and then stopped altogether.

## Why I changed my mind

So I was taking a Skillshare [course](https://skl.sh/2VuS9l1) on self-care by [Jonathan Van Ness](https://twitter.com/jvn) on Friday (9 Aug 2021, about 3 days before the publication of this article) and had a eureka moment when he was talking about how personalising your journal will make you more likely actually journal every day. And this could be as simple as writing your favourite quote on the cover or as elaborate as finding your own paper and cover to build your own.

Then I realised that having a personal site is similar to that. You can either wait a few months to build a website all on your own or take a template, add a little personal touch to it and build on it. Most open-source templates allow you to modify them without infringing any rights. In fact, Gatsby (one of the most popular JS frameworks for static blogs) has an entire [article](https://www.gatsbyjs.com/docs/how-to/plugins-and-themes/shadowing/) dedicated to shadowing themes/templates. Here are a few first steps you can take to personalise your website in the order of increasing difficulty:

1. Change the title and logo
2. Change the website description
3. Change the social preview to something that speaks to you (Mine is just a goofy old selfie!)

![Social preview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yesaxsi7atktovbt5dxl.png)

4. Change the names of various sections (blogs -> thoughts/stories/rants)
5. Change the accent colour to something you like

I was done in 2 days of about 2 hours of work each. Easy peasy. Now I can't wait to write and post more!

And if you're curious this is the stack I'm using:

1. Static Site Generator: [Gatsby](https://www.gatsbyjs.com/)
2. CDN: [Cloudflare Pages](https://pages.cloudflare.com/)
3. CMS: [Forestry](https://forestry.io) (Git-based!)
4. Template: [Minimal Blogging theme](https://github.com/LekoArts/gatsby-themes/tree/master/themes/gatsby-theme-minimal-blog) by [LekoArts](https://themes.lekoarts.de/) (He's got some of the most beautiful open source templates)

If you're looking to find a theme for your site, I recommend [https://jamstackthemes.dev/](https://jamstackthemes.dev/ "https://jamstackthemes.dev/").
Functional Programming
Tags: devjournal, functional, ruby
Published: 2021-08-09 10:39:41

This cartoon is about functional programming, i.e., about programming and about being functional.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/92o8hcqiyn62vpiec284.jpg)

Ever had a moment where you sat there and wrote a few lines of code, then, the few lines became an entire feature, then, a feature became an entire app? Have you ever had a moment when you felt so "functional" you could develop and or re-write any code? This cartoon is dedicated as much to these moments as to the moments when there is absence of such moments. Huh?

---

Further reading: centimentalcomics.com
Databricks Client running on Android
Tags: databricks, spark, android
Published: 2021-08-09 10:39:34

---
title: Databricks Client running on Android
published: true
description: 
tags: databricks, spark, android
//cover_image: https://direct_url_to_image.jpg
---

Who said you cannot manage Databricks on the go? I've just found out that Play Store has a client which allows to:

Manage Compute
- List of clusters
- Quick overview of cluster cores, memory, nodes etc.
- Cluster details in-depth.
- Start/Stop a cluster.
- View cluster events.

Perform Job Tracking

- List of jobs.
- Job run status.
- Start/Stop a job.
- Last execution status.
- List job runs and their statuses.
- Jump to run details in Databricks.

And it's free.

Here is a link to Android store: https://play.google.com/store/apps/details?id=uk.aloneguid.databricks.client
How to create a replica of the Uber app using Flutter?
Tags: startup, watercooler, webdev, flutter
Published: 2021-08-09 10:15:50

>You made a great decision of creating a replica of Uber. Let me tell you why.

The on-demand economy is growing at a rapid pace. More and more entrepreneurs are starting their businesses with the on-demand economy in mind.

To make it more relatable, let’s see the best example of the recent success of an on-demand startup.

[You may have guessed.]

Yeah, I’m talking about the mighty Zomato.

They recently made it to the IPO, and their shares jumped as high as **82% during** its market debut.

You may now know the craze behind the on-demand startups.

>Want to join the club of successful entrepreneurs?

We offer the best replica of Uber and Ubereats applications that can help you start on-demand marketplaces.

##What are the products we’re talking about?

Wooberly — an [Uber app clone](https://www.rentallscript.com/uber-clone/) [or in your terms — a replica] helps you create an app like Uber at ease. It is a readymade product that you can white-label to suit your business brand.

[Even we offer FREE whitelabeling]

WooberlyEats is the brainchild of Wooberly. It helps entrepreneurs create an app like UberEats, Zomato, etc.

We built the products using the futuristic technology — Flutter. Flutter enhances the platform's capabilities and helps scale it when needed.

Due to its cross-platform nature, you can create both iOS and Android applications using a single codebase.

##But what does it mean for an entrepreneur?
You can create an app at a much lower cost than creating an app using native technologies. And the app development time frame is also low so that you can launch your app faster into the market.

No pressure!

You can get a FREE demo and complete walkthrough of our product before making the purchase.

Why wait? Just get started.

>How can you contact us?

1. You can visit [our product page](https://www.rentallscript.com/uber-clone/) by using the link attached.

2. Or you can mail us at — support@radicalstart.com and our support heroes will contact you sooner.
How to use Luos with Python? Step 1 - Install and config Pyluos
Tags: python, luos, embedded, opensource
Published: 2021-08-09 10:09:47

🎥 Here is a "quick and dirty" video tutorial showing how to install and config Pyluos to use Luos with Python. 🎓 Luos is an open-source project working on "how to bring **modularity** and **flexibility** to embedded systems", like @SpaceX, @Tesla, or @Dyson do.

➔ https://youtu.be/OCbpLSiOuG4

![Luos x Python](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vzj8dd8f0o42aejvu0q7.png)
1. Implement custom Pick Type in TypeScript

Tags: javascript, typescript, webdev, codenewbie
Published: 2021-08-09 09:50:07

I am starting the TypeScript hacks series. In this series, I will add more posts where you can practice and learn TypeScript. 

This is my first post on the TypeScript hacks series. so let's get started.

### Implement Pick\<Type, Keys>

> Constructs a type by picking the set of properties Keys from Type.

```js
interface Todo {
    title: string;
    description: string;
    completed: boolean;
}
```

If you see the above interface it has 3 properties title, description, and completed. If you want to pick some (title and completed) keys from that interface then you can use the Pick utility type. But here I am going to create a custom Pick type that will do the same thing as the Pick utility type. 

```js
type CustomPick<T, K extends keyof T> = {
    [Key in K]: T[Key]
}
```

If you see the above code snippet which expects Type and Keys. Pick will only select keys from the Type or Interface which we are passing that's why I have return `K extends keyof T`. and later we just need to check key is available in K if it's available we will return that. 

```js
type TodoPreview = Pick<Todo, "title" | "completed">;
type TodoPreviewCustomPick = CustomPick<Todo, "title" | "completed">;
```

Above both snippets will work the same and it will expect title and completed keys should be available when you are using that type.

For Ex.

```js
const todo: TodoPreviewCustomPick = {
    title: "Clean room",
    completed: false,
};
```

For more details please refer [official doc](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)
Illegal Use of Break Statement Error in JavaScript
Tags: javascript, errors, breakstatement
Published: 2021-08-09 09:40:04

Have you wondered, why we get `Illegal use of break statement error` in JavaScript? 
While using loops in JavaScript, you might have got stuck because of this error. In this blog, we will discuss why we get this error.

**Loops**
A loop is a sequence of instructions that is continuously repeated until a certain condition is reached. They are used if we want to perform a task 'n' number of times.
There are different kinds of loops we can use, such as for loop, while loop, do-while loop, forEach loop, etc.

**Break Statement**
The `break` statement is a loop control statement that is used to terminate the loop. As soon as the `break` statement is encountered, the loop is terminated and the control comes out of the loop, to execute the immediately next statement after the loop.
                    **`Syntax: break;`**

Now, lets see when do we get `Illegal use of break statement` error. Lets take an example:

```
if(year2 > 1){
            date2 = date2 - 1;
            if(date2 < 1){
                month2 = month2 - 1;        
                if(month2 < 1){
                    month2 = 12;
                    year2 = year2 - 1;      
                    if(year2 < 1){
                        break;
                    }
                    date2 = datesInMonth[month2 - 1];
                }
            }
```

For the above example, we will get the error `Illegal use of break statement`. That is because, break statement is used to break out of a loop like for, while, do-while, etc. But here, we do not have a loop, we are using `if` statement, which is a conditional statement.

So, in this case, we need to use `return` statement to break the execution flow of the current function and return to the calling function.

```
if(year2 > 1){
            date2 = date2 - 1;
            if(date2 < 1){
                month2 = month2 - 1;        
                if(month2 < 1){
                    month2 = 12;
                    year2 = year2 - 1;      
                    if(year2 < 1){
                       return;
                    }
                    date2 = datesInMonth[month2 - 1];
                }
            }
```

Now, the error is solved and our program will execute properly.


I hope you found this helpful!!!
Outsourcing software development to Romania
Tags: romania, outsourcing, development, bucharest
Published: 2021-08-09 09:21:53

If you are looking for a [software companies in Bucharest, Romania for outsourcing development](https://outsource.dev/faq/software-companies-in-bucharest/) then keep reading. Whether you have an IT or software development project or are looking for staff augmentation then Bucharest has a lot to offer. Due to its location in Europe and only very small time zone difference, it is a popular location for nearshore outsourcing.

[Nearshore suppliers in Romania](https://outsource.dev/faq/software-companies-in-romania/) have the key skills and experience for top projects in Blockchain, AI, Machine Learning ML, Augmented reality AR, virtual reality VR, websites,  mobile applications, desktop applications, API and serverless, Business Intelligence (BI) and data analytics, embedded and IoT (internet of things) .

The [Hackerrank 2020 survey](https://research.hackerrank.com/developer-skills/2020) shows developer salaries in Romania are on average 61% of the equivalent in the UK, and developers from Romania scored highly in the world in their challenges and report on [Best Developers in the World](https://blog.hackerrank.com/which-country-would-win-in-the-programming-olympics/).

Summary of [basic information and facts on Romania](https://outsource.dev/faq/outsourcing-development-to-romania/)  to assist with researching [outsourced software and IT development in Romania](https://outsource.dev/faq/outsourcing-development-to-romania/).

Romania has a population of 19 million people. Bucharest is the capital city. Others town in Romania are Cluj-Napoca , Timișoara ,Iași ,Constanța, Craiova ,Brașov ,Galați.

Romanian is the official language, with some people speaking Hungarian and some German speakers.

If you want to search for a supplier then a good place to start is a [specialised directory of outsourcing suppliers](https://outsource.dev).

![Romania flag](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7l22z7u07ro5b6ghr78h.png)
Objected Oriented Programming - the 4 Pillars! A-PIE 
Published: 2021-08-09 09:16:48

The first thing to understand about OOP is that we are taking real objects and we are representing them in code. For a simple example let's imagine we are talking about a PC monitor, and changing the brightness, turning it on and off would be considered as methods. To understand this post is important that you are already familiar with a programming language that allows you to create classes.

The fist pillar we are going to talk about is ABSTRACTION, it means to only show the necessary details to the user of the object. In the case of the monitor, if the user wants to turn on the monitor, he/she does not care about how it works they just want to push the button and turn on the monitor. In a coding context....this would mean we only care about calling the method and not about the method implementation.

The next pillar is INHERITANCE, this basically allow us to have code reusability. For this case let's remenber there are super classes and the classes the derived from them are called subclass/extended class/child class. These classes can inherite the methods from the parent, but they can also modify them to their specific needs in their respective child classes.

And the next pillar, which is probably the most challenging to understand is...POLYMORPHISM, it comes from POLY (means many) and MORPH (means more)...it allows us to decide what function to run once the program is running, this means once a method is called it follows a hierachy, first it would check with the parent class and then it would follow into the child classes (that are being called), and run the method and its respective modifications in the child class/classes.

The final pillar we are going to talk about is ENCAPSULATION, it involves to restric access of certain properties of our object, for instance is bad practice to allow the main that is calling your object to directly change/assign variables values, to avoid this we can modify the variable declaration as private in its child class. If we want to modify or get the variable the correct way would be to use a getter and setter functions to give the user the control to this (a future post would look more into this). In this way we are encapsulating our properties within the object.  

I hope this helps clarify things!
Interface RFID Reader Using Arduino
Tags: arduino, rfid, programming, diy
Published: 2021-08-09 09:11:56

## Interface RFID Reader Using Arduino

Hi Guys! In this project, we are going to find out about the RFID Reader (EM-18) and Arduino RFID Reader Interface. I will be interfacing the RFID Reader component with Arduino. 
## Introduction: 
RFID or frequency Identification may be a means of communication over radiation. RFID Tags and RFID Cards are typically used for authentication and access management. You might have seen individuals swiping their identity cards at the doorway of their offices. The positive identification is in reality Associate in Nursing RFID Card that has the non-public data of the worker. The instant he/she swipes the cardboard, his sign up time are captured by a laptop. In this project, I’ll be victimization the favored EM-18 RFID Reader Module and a couple of RFID Cards. There’s another widespread RFID Reader referred to as RFID RC522. The major difference between EM-18 and RC522 RFID components are: 
• EM-18 relies on a hundred twenty five kilocycle frequency Communication whereas the RC522 relies on 13.56 megacycle Frequency. 
• Coming to the interface choices, EM-18 uses Serial Communication whereas RC522 uses SPI Communication. So, choice of the RFID Reader Module is incredibly necessary because it defines however you communicate with the module victimization Arduino. 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9nkc424uylf66ne5ywzr.PNG)
 
## Components Required:
* Arduino
* [Virtual Terminal](https://projectiot123.com/2019/04/03/virtual-terminal-in-proteus/)
* Compim Module
* RFID Cards 
 
## Circuit Design: 
The Arduino pin 1 is attached with virtual terminal pin RXD. Pin 0 of Arduino is connected with compim module pin 2 and this pin 2 of compim module is also attached with virtual terminal received device. So this is the connection of this circuit.
## Working: 
The operating of the Arduino RFID Reader Module Interface is incredibly straightforward. When facultative the interface on the Arduino, we tend to should assign the remainder of the parameters related to UART Communication i.e. Baud Rate, Parity, Stop Bits and therefore the Size of the information. 
After this, you may get a message as “Place the Card”. After you place your RFID Card on the RFID Reader, the RFID Reader Module it'll browse the info from the cardboard and sends the info to the Arduino over Serial Communication. This information is more analyzed by the Arduino and applicable messages are displayed within the screen. 
## Applications: 
Interfacing RFID Reader with Arduino may be terribly helpful as you'll be able to implement a large vary of applications like: 
• Access management 
• Authentication 
• E-Ticket 
• E-Payment 
• E-Toll 
Hope you get pleasure from this tutorial. For any question leave your comment.
CodePen Challenge: Pool Rules
Tags: html, css, codepen
Published: 2021-08-09 09:11:07

CODEPEN CHALLENGE: 
https://codepen.io/challenges/2021/august/1
        
DEV TIME: 2.5 hrs
        
FEATURES:
- Screws are 100% CSS
- Material icon font for the icons

{% codepen https://codepen.io/drawcard/pen/rNmQJRL %}
A Motivational Post About Creating Good Web Frontends
Tags: ux, webdev, javascript, typescript
Published: 2021-08-09 09:08:08

Often the frontend is called the place where the user experience takes place. The counter part of the frontend is, you guessed it, the backend. The backend handles the data that is produced or prepared for the frontend. A frontend can be a web application, a dekstop application, a smartphone app, a smart watch app or even a ticket wending machine. In short, every user interface that has some what a backend behind it, is called a frontend. Nowadays most popular frontends are the ones created for the web, let's call them web frontends, because they are run in the web browser.

## Web Browsers

In the early days web browsers have been used to deliver information only. You could open a web page for a restaurant, get some information about the menu, opening hours or location, close it and done. Today, we deliver in addition to that a completely new and different experience. We want the users to stay on our page. A web browser is a great platform for creating more value for the user. Just imagine the amount of devices that have web browsers pre installed: Notebooks, smartphones, tablets, yet even game consoles have web browsers installed. It's crazy.

## The Thing That Makes It So Great

Web browsers are the portal to the internet for everybody and thus to that experience. We as frontend developers take a great role in creating and enhancing that experience. We can create something that is immediately available for billions of devices. We are the ones that are actively participating in producing that experience. We are at the front door.

A bad frontend would make the users unconfortable using your solution and they would probably not like to come back. Imagine a good frontend to be a store or a restaurant where the user actually wants to visit often. A good frontend makes the user happy, leaves a positive experience and ensures the user comes back again.

So my dear friend, create something awesome where the user wants to come back and stay at your place. It will not be an easy journey, but it will sure be worth it at the end!
Disable Laptop's Built-in Keyboard Permanently on Manjaro Linux
Tags: linux, kdeplasma, manjaro, keyboardfix
Published: 2021-08-09 08:51:30

###At first you need to install a program called `xinput`

Open your terminal by hitting `ctrl+alt+t` and run the command below
```
sudo pacman -S xorg-xinput
```

After installing `xinput` successfully. Run the command below to find the keyboard ID
```
xinput list
```

![xinput list](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/utumx3pvb9qnb2pn0wl7.png)
Now find `AT Translated Set 2 keyboard` and `ID` associated with it from the list. In my case it is `18`

Now if you run 

```
xinput float <your keyboar ID>
``` 
or 
```
xinput disable "AT Translated Set 2 keyboard"
```

you'll notice your keyboard isn't working anymore. But this fix is temporary. If you restart the machine the keyboard will work again.

If your built-in keyboard is faulty and you don't want to use that keyboard anymore. Rather you wanna use an external keyboard then you need to disable that keyboard permanently.

In linux machine you need to run the above command every time you reboot the system.

To automate this in `Manjaro Linux / KDE Plasma` you have to set a startup shell script which will run at every startup.

At first open your terminal and create a shell script in your Documents folder

```
cd Documents/ && touch disable_keyboard.sh && nano disable_keyboard.sh
```

After running the above command you'll see a screen like this in terminal
![nano text editor](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6k2yaskkiw69vts6wjqx.png)

Paste this by pressing `ctrl+shift+v`
```
#!/bin/bash
xinput disable "AT Translated Set 2 keyboard"
```

Then save the file and Exit nano `(ctrl + o enter ctrl + x)`

Now you'll have to make that file executable by running.
```
chmod +x disable_keyboard.sh
```

Then Goto `System Settings > Startup and Shutdown > Autostart`
At the bottom you'll see a `+ Add... > + Add Login Script...` and browse disable_keyboard.sh from `/Documents`

![KDE Plasma Settings for Startup Applications](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/omi4titmsj4yxbr1xvog.png)


You are all set. Now restart your machine... :)