teleren/devto huggingface dataset:
Tracking
Tags: tracking, analytics, data, stats
Published: 2021-12-10 20:44:04

---
title: Tracking
published: true
date: 2021-11-16 15:36:52 UTC
tags: tracking,analytics,data,stats
canonical_url: https://adactio.com/journal/18625
---

I’ve been reading the excellent [<cite>Design For Safety</cite>](https://abookapart.com/products/design-for-safety) by [Eva PenzeyMoog](https://evapenzeymoog.com/). There was [a line](https://adactio.com/notes/18624) that really stood out to me:

> The idea that it’s alright to do whatever unethical thing is currently the industry norm is widespread in tech, and dangerous.

It stood out to me because I had been thinking about certain practices that are widespread, accepted, and yet strike me as deeply problematic. These practices involve tracking users.

The first problem is that even the terminology I’m using would be rejected. When you track users on your website, it’s called analytics. Or maybe it’s stats. If you track users on a large enough scale, I guess you get to just call it data.

Those words—“analytics”, “stats”, and “data”—are often used when the more accurate word would be “tracking.”

Or to put it another way; analytics, stats, data, numbers …these are all outputs. But what produced these outputs? Tracking.

Here’s a concrete example: email newsletters.

Do you have numbers on how many people opened a particular newsletter? Do you have numbers on how many people clicked a particular link?

You can call it data, or stats, or analytics, but make no mistake, that’s tracking.

Follow-on question: do you honestly think that everyone who opens a newsletter or clicks on a link in a newsletter has given their informed constent to be tracked by you?

You may well answer that this is a widespread—nay, universal—practice. Well yes, but a) that’s not what I asked, and b) see the above quote from <cite>Design For Safety</cite>.

You could quite correctly point out that this tracking is out of your hands. Your newsletter provider—probably Mailchimp—does this by default. So if the tracking is happening anyway, why not take a look at those numbers?

But that’s like saying it’s okay to eat battery-farmed chicken as long as you’re not breeding the chickens yourself.

When I try to argue against this kind of tracking from an ethical standpoint, I get a frosty reception. I might have better luck battling numbers with numbers. Increasing numbers of users are taking steps to prevent tracking. I had a plug-in installed in my mail client—Apple Mail—to prevent tracking. Now I don’t even need the plug-in. Apple have built it into the app. That should tell you something. It reminds me of when browsers had to introduce pop-up blocking.

If the outputs generated by tracking turn out to be inaccurate, then shouldn’t they lose their status?

But that line of reasoning shouldn’t even by necessary. We shouldn’t stop tracking users because it’s inaccurate. We should stop stop tracking users because it’s wrong.
Beginning of Open Source Contributions - Hacktoberfest21 
Tags: hacktoberfest, opensource, github, python
Published: 2021-11-16 15:21:11

After 15 days of deciding to started my journey in order become a self-taught developer, I got to know about **hacktoberfest 21** through a video of @tanaypratap. I knew that this is a good opportunity to start with open source contributions and feel inclusive in the community of developers. Today, I am happy to share that I completed the fest and finally placed the order of my own t-shirt.

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

It makes me so happy to finally be able to enjoy coding. It is indeed a the first step & a great motivation for me to continue learning, creating, collaborating to developers around the globe. 

Cheers to many more contributions :)
Python features you'll want to repeat
Tags: python, programming, jokes, beginners
Published: 2021-11-16 15:07:37


##File server on a computer with mobile access


You can access your file system by running a file server on your computer. Navigate to the desired directory that you want to access and run the following command:

```python
# python version >=  3.X
python -m http.server
# python version >=  3.X
python3 -m http.server #for Linux

# If Python version >= 2.X and < 3.X
python -m SimpleHTTPServer
#default port: 8000

```
This command starts a file server that can be accessed on the same network. To access your files on a mobile device, simply connect to the same network (Wi-Fi or use the phone's access point on a laptop). Now open the browser in your phone.

```python
<your-computer-ip>:port

```
Check your IP by running - **ifconfig**. Check your local IP

Example:

192.168.43.155:8000
And on the mobile phone, you will see the current directory
*****

## Convert CSV to JSON 1 line

If you're a programmer, you'll probably be lazy and want to automate pretty much everything you can, right?

Don't worry, the python will cover you. There are a lot of things that you can automate in just 4-5 lines of code. From installing cron jobs and reminders to uploading your favorite YouTube videos, you can do it all with a few lines in python.

Example - convert CSV to JSON
You can convert a CSV file to JSON with just one command in Python!

```python
python -c "import csv,json;print json.dumps(list(csv.reader(open('your_csv_file.csv'))))"
```
Replace it with _anyfile.csv_ and you will get JSON output!

Easy, right?


*****

## Comics

Yes, these are comics in python!

```python

 import antigravity

```

![Comics](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/blg38mx4cjjnlkabjwl1.png
)


*****

##Will they add brackets in python?

```python

from __future__ import braces
  File "<stdin>", line 1
SyntaxError: not a chance

```

******

## A simple life lesson

```python

>>> import this
>>> love = this
>>> this is love
True
>>> love is True
False
>>> love is False
False
>>> love is not True or False
True
>>> love is not True or False; love is love  
True


```

###Put on Heart if you liked it and you learned something new!
###You can also follow [ME](https://dev.to/vadimkolobanov) to receive notifications about new interesting articles.
*****
### FAQ

**I am a beginner, how should I learn Python?**

Look into the following series:

[Learning Python](https://dev.to/vadimkolobanov/series/15329)
[Step by Step to Junior](https://dev.to/vadimkolobanov/series/15349)
[Ideas](https://dev.to/vadimkolobanov/series/15331)


**Can we cooperate with you?**

If you have interesting projects and you need a python (web)developer, then you can contact me by **[mail](titanyforgame@gmail.com)** or **[discord](https://discord.gg/szEuVAhatW)** and **[LinkedIn](https://www.linkedin.com/in/vadzim-hlobuz-0b44531b7/)** for cooperation

**Connect to me on**

[Write me on Face....oh...Meta](https://www.facebook.com/neo.skarynsky)

[My Twitter](https://twitter.com/decodesperato)
NextJS + ChakraUI + Storybook Smooth scroll boilerplate (TypeScript)
Tags: nextjs, chakraui, typescript, react
Published: 2021-11-16 14:42:05

This is a quick start boilerplate for people who wants to build a SPA application with nextJS,

The Project includes Smooth af scroll using react-scroll, ChakraUI for fast af development, and Storybook to create cool af components.

and uses typescript for people who use typescript !! (God knows why)

Built With
Next.js
Chakra-UI
Storybook
react-scroll

Github link: https://github.com/aravindasiva/next-smooth-scroll-template
View demo here: https://next-smooth-scroll-template.vercel.app/
Send an Email notification for the running Amazon EC2 Instances
Tags: webmethods, integration, esb, cloudstreams
Published: 2021-11-22 08:49:40

---
title: Send an Email notification for the running Amazon EC2 Instances
published: true
date: 2021-11-16 14:37:08 UTC
tags: #webmethods, #integration, #esb, #cloudstreams
canonical_url: https://tech.forums.softwareag.com/t/send-an-email-notification-for-the-running-amazon-ec2-instances/245975
---

## Summary

This article describes a business use case to send an email notification for running **Amazon EC2** instances.

## Prerequisites

- User should have a working [webMethods.io](http://webmethods.io/)Integration tenant.

- User should have a working **Amazon** account.

## Steps

1. Login to [webMethods.io](http://webmethods.io/)Integration tenant and create a Workflow.

2. Drag and drop the **Amazon EC2** connector to the workflow palette.

3. Click the **Settings** to configure the **Amazon EC2** connector. Select the **describeInstances** action and add an account to authorize it.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7o1tkmejtu0mhnmq07n6.png)
 
4. In the next screen, click **Next**. **Test** the action and click **Done**.

5. Drag and drop the **Loop** to the workflow palette.

6. Click on **Settings** of **Loop** to configure it. **Select Loop Type** as **Each Item** and map the response from the **describeInstances** to the **Source Array/Object** as shown below.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uell51j1x1w3j8o8fcgl.png)
 
7. In the next screen, click **Next**. **Test** the action and click **Done**.

8. Double click on loop to configure the action for the loop.

Find the next steps in the original article in the [Software AG Tech Community](https://tech.forums.softwareag.com/t/send-an-email-notification-for-the-running-amazon-ec2-instances/245975)
Getting hard disk info in mac using terminal
Tags: macosx, terminal, shell, beginners
Published: 2021-11-16 14:28:04

Its pretty easy. Just run the `diskutil` like the following

## Command

```shell
diskutil info disk0
```

## Output

```
   Device Identifier:         disk0
   Device Node:               /dev/disk0
   Whole:                     Yes
   Part of Whole:             disk0
   Device / Media Name:       APPLE SSD AP0256M

   Volume Name:               Not applicable (no file system)
   Mounted:                   Not applicable (no file system)
   File System:               None

   Content (IOContent):       GUID_partition_scheme
   OS Can Be Installed:       No
   Media Type:                Generic
   Protocol:                  PCI-Express
   SMART Status:              Verified

   Disk Size:                 251.0 GB (251000193024 Bytes) (exactly 490234752 512-Byte-Units)
   Device Block Size:         4096 Bytes

   Media OS Use Only:         No
   Media Read-Only:           No
   Volume Read-Only:          Not applicable (no file system)

   Device Location:           Internal
   Removable Media:           Fixed

   Solid State:               Yes
   Virtual:                   No
```
A hack I use to help get things done... (ADHD)
Tags: webdev, showdev
Published: 2021-11-16 13:27:47

# The story

*skip to the bottom for TL:dr;*

So I have been diagnosed with ADHD since I was 5. The hyper part has calmed down ever so slightly as I've aged, but my attention disorder has gone to 💩. 

I often find myself not just struggling to get things done but the ever annoying mind tangled mess of "should I even do this project anymore?", where I'm questioning everything.

It doesn't happen every day, sometimes I can go a few weeks or months without feeling like I'm overwhelmed, having that feeling of being burnt out.

So the hack? Whats the hack I use to get past that? How can I make myself do the work, not just getting through the slump of uncertainty but find myself enjoying the work and making serious progress? 

A **timer**! Yup, I have a quick timer where you can just flip it to the time you want and it starts a countdown. 

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

This weekend, I couldn't decide if I wanted to work on my side projects anymore. It felt as though it was pointless. All the doubts came rushing at me at once.

That is when I told myself, well then, do a 5 minute timer and see what you can get done in 5 minutes. 

I picked 1 item I knew I could complete in 5 minutes or at least close to. I completed the task and when the timer went off, I was in a rush to turn it off so I could focus. 

That was all it took! I spent the next 4 hours refactoring my code and completed way more than I originally set out to do. 

I have used this trick for the last year and every time it's worked for me. Maybe it's not going to work for you, but the point is, that you can find your own hack to trick yourself in to getting started. 

Once you're started, it's pretty easy to fall in to a good work flow for a lot of us.

The timer I use is on amazon, it's called "Home & Office Timer with Clock, 5,15, 30, 45, 60 Minute Preset Countdown Timer, Easy-to-Use Time Management Tool (Orange)"

You can also just google "flip timer" and you'll see a huge amount of choices. I'd avoid getting anything too complicated to set as this will distract you.

Next time, I'll talk about Bullet journalling and how it helped me as well. 

## Share yours

What's your hack? Please share any ideas or tools you use to help. 

## TL:DR;
I've used a timer for the last year, to help me kick start progress. Any time I'm disinterest in a task, I start a 5 minute timer to encourage myself to do it for at least that long... which once I start then I'm golden.
PlanetScale is now GA
Tags: devops, database, serverless, opensource
Published: 2021-11-16 14:07:48

It has been an incredible six months since we released our product in beta. From the outset we focused on creating a platform that would delight developers, built on top of the only open source database proven at hyperscale, Vitess. 

We believe databases should be powerful, easy to use, and have impeccable DX. This is why we chose to build our serverless platform so that developers can be productive without ever having to worry about scale. 

With PlanetScale you can:

* Instantly create dev and staging environments with database branching
* Deploy features fast and safer with non-blocking schema changes
* Scale out with built-in horizontal sharding 
* Handle traffic with unlimited connections and connection pooling
* Analyze slow queries using our Query Stats tool


[Our database platform is now GA](https://planetscale.com/blog/ga) and ready for your production workloads.

Get started with PlanetScale for free and check out the new features that will change how you work with databases. Also, we're happy to answer any questions you might have and if check out this post if you're interested in [how we used PlanetScale to build PlanetScale](https://planetscale.com/blog/building-planetscale-with-planetscale).
Blocking unwanted SIP Traffic efficiently using APIBan
Tags: opensource, tutorial, productivity
Published: 2021-11-16 14:06:43

Blocking unwanted SIP traffic manually is a reactive procedure, in the absence of smart tools, being pro-active is nearly impossible, it is common if you’re only reacting to a SIP attack that the damage of different types is already done.

If you're interested in automatically blocking unwanted SIP traffic detected by multiple honeypots, check out apiban.org or continue reading my full blog post that includes a tutorial here: https://blog.telecomsxchange.com/block-sip-attack/
[Question] Handle multiples users on same page, real-time
Tags: angular, node, webdev, javascript
Published: 2021-11-16 13:50:52

Hellooo ! How are you guys doing ?

Here's the deal:

I have an angular app with express backend.
There's a page that displays a table, pretty simple, rows, column, pagination, pretty sure you know what i mean. Users can click on a row to get access the row details.
Let's welcome our users: Marc and Eric.
Marc goes to the table page, starts navigating through the table, clicking some rows and doing stuff.
Suddenly, Eric goes to the table page too. 

Is there a simple way to highlight on Eric's table the row that Marc clicked so they don't bother checking the same row details ? And this without refresh ? And on real-time ?

Thanks for reading me, can't wait to read your responses !
Have a nice day and take care, feel free to ask if you want more informations ! ♥
How to execute a recurrent task in a Flask app?
Tags: flask, python, tutorial
Published: 2021-11-16 13:39:48

In some projects, we need to do dome recurrent tasks while running a Flask API.

So do be able to do it in a Flask project, we need to use **APScheduler**.
With this tool, we are able to create background schedulers which will execute our recurrent task.

---

## Install
Using **pip**, you can install the library as follow.
> pip install APScheduler

---

## Usage
To use it, check the following example.

```python
import time
import atexit

from apscheduler.schedulers.background import BackgroundScheduler

# Declaration of the task as a function.
def print_date_time():
    print(time.strftime("%A, %d. %B %Y %I:%M:%S %p"))


# Create the background scheduler
scheduler = BackgroundScheduler()
# Create the job
scheduler.add_job(func=print_date_time, trigger="interval", seconds=3)
# Start the scheduler
scheduler.start()

# /!\ IMPORTANT /!\ : Shut down the scheduler when exiting the app
atexit.register(lambda: scheduler.shutdown())
```

---

## Links
- APScheduler library : https://pypi.org/project/APScheduler/

---

I hope it will help you! 🍺
How to Get Started with Chaos Engineering? — Preparing for Major Disruption
Tags: technology, programming, softwaredevelopment, devops
Published: 2022-04-28 14:57:40

---
title: How to Get Started with Chaos Engineering? — Preparing for Major Disruption
published: true
date: 2021-11-16 13:30:12 UTC
tags: technology,programming,softwaredevelopment,devops
canonical_url:
---

[![Photo by Raul Varzar on Unsplash](https://cdn-images-1.medium.com/max/2600/0*zyGPrn7-VqbDYx6Q)](https://faun.pub/road-map-to-choas-engineering-preparing-for-major-disruption-e5dc01c73f2c?source=rss-6e21f0d290d1------2)

[Continue reading on FAUN Publication »](https://faun.pub/road-map-to-choas-engineering-preparing-for-major-disruption-e5dc01c73f2c?source=rss-6e21f0d290d1------2)
Pure HTML+CSS Tic-Tac-Toe (no JS)
Tags: codepen, purecss, cssonly, game
Published: 2021-11-16 13:18:03

![Pure CSS Tic-Tac-Toe Game](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xt8mw4cjad1041d0tdgo.png)

<p>From time-to-time, it's a good idea to give yourself a mental challenge, especially if you don't find yourself writing actual code on a regular basis.</p>

<p>This is a tic-tac-toe game created purely with HTML and CSS, without any JavaScript (or preprocessors, etc). It takes out-of-the-box thinking to create a working multiplayer game without writing any logical code. It is obviously <b>not okay</b> to create an application like this, but it's a cool mental exercise.</p>

{% codepen https://codepen.io/AJSpetner/pen/zYdmJRL %}
How to Create Responsive Clipboard Landing Page with HTML CSS | Frontend Mentor
Tags: css, tutorial, webdev, beginners
Published: 2021-11-16 13:00:44

{% youtube ATRQj60Q3S0 %}

How to create Responsive clipboard landing page with html css
Frontend mentor

In this tutorial, 
I will show you how to build a Complete Responsive Landing Page Website using HTML CSS.

---

HI 👋
I'm Sadee (webdev)
In this channel I make videos about Complete Responsive website.
You can checkout my channel 👇

📺 My Channel : [codewithsadee](https://www.youtube.com/channel/UC1PZHWV6VvICTL1LgFUZq6g)
🔔 Subscribe : [subscribe now](https://www.youtube.com/channel/UC1PZHWV6VvICTL1LgFUZq6g?sub_confirmation=1)
🕐 New videos Every Friday & Tuesday

---

📹 Recommended Videos
---------------------
[How to use ionicon](https://youtu.be/TTrYjLOJeKs)

---

🔗 Essential links
-----------------------------
[Images & Text](https://drive.google.com/file/d/1Q2hq3vhCyikGVPVnPOpe-MyWb7ulpo6u/view?usp=sharing)
[Font - Bai Jamjuree](https://fonts.google.com/specimen/Bai+Jamjuree?query=bai+jam)
[Ionicon](https://ionic.io/ionicons)
[Source Code](https://www.patreon.com/posts/source-code-page-58766992?utm_medium=clipboard_copy&utm_source=copy_to_clipboard&utm_campaign=postshare)

---

⏱️ Timestamp
------------------------
0:00 - Demo
1:29 - File structure
1:43 - Header section, Css Variables & Reset
11:10 - Main section structure & style
23:05 - Footer section structure & style
28:20 - Media queries

---

📹 Others Videos
------------------------
[Personal Portfolio Website](https://youtube.com/playlist?list=PLasZMtSCguZbYYb7uzDMAC0rg49A8XOsS)
[Toggle Button with 3d Effect](https://youtu.be/OpbbPLPqSDc)
[Twitter Sidebar Clone](https://youtu.be/0MDBVR93g7E)
[Awesome Card Design for Website](https://youtu.be/g9VdvKx8fuM)
[Restaurant Header Design](https://youtu.be/mUBW8i2kht0)

---

👤 Like - Follow & Subscribe Me
----------------------------------------------------
Twitter : https://twitter.com/codewithsadee
Github : https://github.com/codewithsadee
YouTube : [codewithsadee](https://www.youtube.com/channel/UC1PZHWV6VvICTL1LgFUZq6g)
Buy Me A Coffee : https://www.buymeacoffee.com/codewithsadee
Patreon : https://www.patreon.com/codewithsadee

---

[![Buy Me A Coffee](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9kn6vwn4mulhsx6o69is.png)](https://www.buymeacoffee.com/codewithsadee)
New Version of Git 🥳
Tags: github, news, discuss, git
Published: 2021-11-16 12:34:54

Git [2.34](https://lore.kernel.org/git/xmqq8rxpgwki.fsf@gitster.g/) has just been released by the Open Source Git Project. The new version includes features and bug fixes from over 109 contributors, where 29 of them are completely new. 

For all the details, you may follow this [blog](https://github.blog/2021-11-15-highlights-from-git-2-34/) from GitHub where [Taylor Blau](https://github.blog/author/ttaylorr/) explained everything nicely. 


###### The cover image has been taken from the mentioned GitHub blog article mentioned above.


If you want to get yourself updated with many cool project related stuff, then you can 👨‍💻follow me on [GitHub](https://github.com/FahimFBA), [LinkedIn](https://www.linkedin.com/in/fahimfba/), [Twitter](https://twitter.com/Fahim_FBA).
How to send Chrome / Browser Notifications
Tags: javascript, webdev, tutorial, programming
Published: 2021-11-16 12:34:51

It took me a while of looking around StackOverflow and such to find out how to send browser notifications, but it turns out to be really simple.  What I'm going to do here is walk you through a tutorial on making a simple notification-sending function.

At first, when the function is called, it will have to ask for permission first, but after that, it will be able to send all sorts of notifications.

Let's get started!!

---

First, let's create the function.  It'll have three parameters.  One for the title, next for the message, and the last for the icon.

```javascript
function sendNotif(title, text, icon){

}
```

Next, just to be safe, let's make sure the browser supports notifications.

```javascript
if (!("Notification" in window)) {
  console.warn("Your Browser does not support Chrome Notifications :(")
}
```

Let's chain onto the if statement with an `else if`.  This statement tests if the notification status is granted or not.  If it is granted, it will send a notification.

```javascript
else if (Notification.permission === "granted") {
  // If it's okay let's create a notification
  let notif = new Notification(title, {
    icon: icon,
    body: text
  });
}
```

Still, we'll chain onto the else-if statement.  Let's add another one.  This statement will request permission if it isn't granted or denied.

```javascript
else if (Notification.permission !== 'denied') {
  //request notification permission
  Notification.requestPermission((perm) => {
    //save permission status
    if (!('permission' in Notification)) {
      Notification.permission = perm;
    }

    //if granted, send a notification immediately
    if (perm === "granted") {
      let notif = new Notification(title, {
        icon: icon,
        body: text
      });
    }
  });
}
```

And that should be it.  Your function should be working well.  Let's, for extra error handling, add an else statement at the end of the chain and log the current notification to the console if it isn't denied or allowed.

```javascript
else {
  console.warn(`Failed, Notification Permission is ${Notification.permission}`);
}
```

Have fun and don't spam websites or users with notifications.
Happy Coding.