teleren/devto huggingface dataset:
"Everything is political"?
Tags: philosophy, discuss, computerscience
Published: 2022-03-19 12:26:28

I truly hope that this will be my last politics-related post. I don't like talking about politics at all, but this is more philosophical really, so I'll let that one slide but only this once.

___

We often see people complaining about Software or Computer Science being politicized, and other replying that "it's inherently political" or that "everything is political" but they always use [petitio principii](https://en.wikipedia.org/wiki/Begging_the_question) and never actually develop why, or have any source that would explain why.

For the thought exercise, I didn't go out of my way to look for possible explanations and thought it would be interesting to do the whole reasoning from the start.

To answer the question whether Computer Science (or anything) is "political", we must ask ourselves what it means to be political.

First we'll set "politicizing" as "tying into/with politics" or "to make political". We'll also set "political" as "relating to politics".

For that we will first try to give a definition to politics. The etymological meaning of the word (from `Politikos`, from the Greek word `polis` that means City/State in English and Cité/État in French) is "which is relative to the management of the cities" or "affairs of the cities". With that in mind, pretty much everything is political (including just talking to people about your day), so that may not be what people mean when they say something is being politicized.

What most people refer to as politics is politics in its most restrictive sense: the act of exerting power in an organized society. It's often to refer to the power of making decisions regarding making/removing/tweaking laws and society-wide morals. In that sense since AFAIK Computer Science is not a cause of laws/morals and mostly a target of those, we cannot affirm that Computer Science is inherently political. Unless there's a secret meeting I'm not invited to, or chairs in parliaments in every country, etc...

Judging by the fact that almost no one knows about the ancient art of etymology and seem to think words are made up arbitrarily and not based on combining roots from other more ancient languages, we can probably rule out the definition based on etymology.

What do you think? What in your personal opinion makes Computer Science political?

___

My not so pertinent side note: What if the people who commented that way were just trying to reassure themselves that politicizing their work is OK because it's "inherently political"?
Puzzle of the day: VS Code and CMAKE_TOOLCHAIN_FILE
Tags: vscode, wsl, cmake, solution
Published: 2022-03-19 11:50:24

---
title: Puzzle of the day: VS Code and CMAKE_TOOLCHAIN_FILE
published: true
description: A reminder to myself on how to solve a certain problem with building CMake projects on WSL or remote SSH hosts using VS Code.
tags: vscode, wsl, cmake, solution
//cover_image: https://direct_url_to_image.jpg
---

This is one of those problems that I've now solved from scratch at least twice, and never gives good Google result, do it's time I write a post, if only for myself.

My situation is as follows: I'm running VS Code on a Windows host to build a Linux program with WSL2, or other remote connection (i.e. SSH to a remote machine). My build tool of choice is CMake, and I have the CMake extension installed.

Trying to build my project gives me this error:
```
[proc] Executing command: /usr/bin/cmake --no-warn-unused-cli -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/x86_64-linux-gnu-gcc-10 -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/x86_64-linux-gnu-g++-10 -S/home/enno/echeck -B/home/enno/echeck/build -G "Unix Makefiles"
[cmake] CMake Error at /usr/share/cmake-3.18/Modules/CMakeDetermineSystem.cmake:99 (message):
[cmake]   Could not find toolchain file: C:/vcpkg/scripts/buildsystems/vcpkg.cmake
```

Somehow, there is a CMAKE_TOOLCHAIN_FILE argument being passed to cmake, and it contains a path on my Windows filesystem (this project also compiles on Windows, using vcpkg for its find_package dependencies). Of course this can't work, I'm using a gcc toolchain on Linux. Where does this come from?

The answer turned out to be that the settings.json file in %APPDATA%\Code\User on my Windows host contained this nugget:
```
    "cmake.configureArgs": [
        "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake"
    ],
```

I must have set this at some point, trying to use VS Code to build on Windows, and for reasons, VS Code applies it to all my CMake builds, even remote builds. So, after I deleted that entry from the settings.json file and deleted the generated CMakeCache.txt, I can now build my project! And next time this happens, I hope Google will point me to this post.
My views on Open Source
Tags: opensource, philosophy, discuss
Published: 2022-03-19 12:08:00

I might have what many could call a utopic view of what Open Source is. Ever since I began teaching myself programming, I viewed Open Source as an Oasis of some sort: As a way to make programming knowledge and tools more accessible to everyone; to help push our craft to new heights for everyone while giving a higher floor rather than a higher ceiling and helping put everyone on an equal footing.

A tool for vulgarization is what I though it was.

To me the part `THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND` of the MIT License always meant "I have no warranty this will work or that you won't fuck your stuff up by using it wrongly". It never meant "yolo, I do what I want, deal with it or not, lemme add malware real quick and you can do nothing about it".

Looking at OS licenses, none provide liability. I don't ask for full liability like "it's your fault it doesn't suit my project and I deleted important files accidentally" but more in a responsibility aspect like what the [Programmer's Oath](https://deepsource.io/programmers-oath/) proposes. If anyone knows a license that's the MIT's equivalent but with that in mind, I would be more than glad to migrate all my projects to that license.

I don't ask for every open source developers to devote their lives to maintenance for free. All I'm asking is for people to stop acting erratically.

Ultimately it's my fault. My fault for thinking once again that human beings could be genuinely good towards each other. My fault for thinking human beings were capable of anything but malevolence. My fault for supposing that everyone in the Open Source community were Scientists that would operate with everyone's best interests at heart. My fault for thinking that human being could be anything but fundamentally self-centered.

Quite ironically I enjoy the principle of Individualism as: treat humanity as separate individuals that happen to join as groups, and not as a group of individuals (i.e. `n x 1` vs `1 x n`). But to me it was never about "be self-centered and selfish and let everyone else do the same". It's more like "treat each individual right, and the entire group will be treated right" instead of "try to treat the majority right".

Me being disappointed would be quite an understatement. It's hard enough to try and treat everyone decently, it's even harder when everyone acts the exact opposite way towards you.

The "yolo I do whatever the fuck I do" mentality is not a very fitting one. It's not anger I feel, it's disappointment and disgust.

Whatever opinion you have on the subject, opposite or not, contrasting or not, I'd be happy to hear and bounce off of.


**EDIT (2022/07/31):** I recommend the [No Malevolence extended MIT License](https://gist.github.com/Voltra/d38679ffda89438190c2fb4205a5c3d8)
AWS Cloudwatch: why is it so hairy to pop data out?
Tags: aws, cloudwatch
Published: 2022-03-19 11:41:22

For a system using the Amazon cloud provider, it is unavoidable that you may experience some issue that requires checking the logs for some service like API Gateway, Elastic Beanstalk, EC2, or similar, to identify the problem.

I don't know about you, but I always leave this kind of task with a feeling like "we could have a tool inside of a nice UI working integrated with some log groups, allowing me to [insert some killer features here]."

But then I remember that these logs are in Cloudwatch. And wonder when will be the next time I face its terminal 🥲

Some may argue that Cloudwatch has an [Athena connector](https://github.com/awslabs/aws-athena-query-federation/tree/master/athena-cloudwatch) - but it isn't something you get out-of-the-box, and querying it with Athena is not always the kind of latency your application may afford.

You can also export the logs to S3, both [manually](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3ExportTasksConsole.html) or via [CLI](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3ExportTasks.html) - which brings this task either to your Google Calendar or using some CRON-like Cloudwatch Event to trigger a lambda to trigger the CLI.

Another option is to stream the logs data to the [OpenSearch, formerly ElasticSearch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_OpenSearch_Stream.html). But it can become quickly expensive.

My drive against all the options above is the outrage: how Amazon dares to offer you a hard limit of only [ten transactions per second](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_FilterLogEvents.html) for querying what is often the most extensive data stream from your application?

Hard to answer. Hard to query at scale, also.
Angular & Tailwindcss
Tags: angular, css, tailwindcss, javascript
Published: 2022-03-19 11:33:28

The purpose of this article is to enhance the combination of [Angular](http://angular.io) and [Tailwindcss](https://tailwindcss.com). 

#Prerequisites
- Angular


#Tailwindcss
A utility-first CSS framework packed with classes like `flex`, `pt-4`, `text-center` and `rotate-90` that can be composed to build any design, directly in your markup. according to the official definition visit [tailwindcss official website](https://tailwindcss.com) to know more.

## Installation

Inside your existing angular project or new one run the following commands in the project terminal:
```console
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init
```

##Inside `tailwind.config.js`

Add the paths of your templates files

```javascript
module.exports = {
// ...
  content: [
    "./src/**/*.{html,ts}",
  ],
  // ...
}
```

##Add tailwind to `style.scss`

```scss
@tailwind base;
@tailwind components;
@tailwind utilities;
```

## Use tailwind inside `app.component.html`
```html
<div class="text-2xl">Angular and Tailwindss</div>
```

## Run server
```console
ng serve
```

## References
1. [Tailwindcss](https://tailwindcss.com)
Data Types in JavaScript
Tags: javascript, programming, webdev, beginners
Published: 2022-03-19 10:51:51

## **Data Types in JavaScript**

1. Primitive Data Types
2. Non-Primitive Data Types

### _Primitive Data Types_

- Integer: 1, 2, 3, etc.
- String: "Hello World" etc.
- Boolean: True/False.
- Null: Used to depict no value.
- Undefined: Variables with no defined value.

### _Non-Primitive Data Types_

- Object: Instance of key-value pairs; Similar to JSON; Contained within curly braces {}.

- Array: A group of variables of any Data Types contained together within brackets []; Similar to lists in Python.

- RegExp: Refers to "Regular Expression"

> Hope you learned something useful today! Peace Out ✌️
Learn A Simple Html Trick To Refresh Redirects Instantly To Another Page
Tags: beginners, html, metatag, howbeginnerscom
Published: 2022-03-19 10:14:42

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9v7l2em61bzss6lit2vz.png)
When you set up a redirect from one page to another, you usually want the redirect to happen instantly. However, if you've ever tried to set up a redirect through HTML, you may have found that it doesn't always work as smoothly as you'd like. There's actually a really simple fix for this - all you need is the meta refresh tag.

The meta refresh tag is a little piece of code that tells your web browser to reload a page after a certain amount of time. All you need to do is add the following line of code to the header of your redirected page:

```
<meta http-equiv="refresh" content="5;URL=https://example.com">
```

This will tell your browser to reload the page every 5 seconds, and automatically redirects to the new page after 5 seconds.

And `https://example.com/` the url destination where you want the page to redirect to, replace this url with your link.

If you want an instantly redirect without waiting for time, you can use this code:

```
<meta http-equiv="refresh" content="0; url=https://example.com/newlocation" />
```

Where "0" is the number of seconds before the redirect happens and "URL" is the location of the new page. Be sure to include the https:// before the URL or else it will not work.

### Where To Put The Html Meta refresh tag?

In order to add the refresh directive, you will need to add the following code between the head tags of your website: 
```
<meta http-equiv="refresh" content="5;url=https://www.example.com">
```

This code will refresh the redirects on your website every 5 seconds and send visitors to `https://www.example.com`. You can replace this URL with any other page on your website.

Something will look like this one:
```
<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="5; url=https://example.com/newlocation" />
  <title>Example title</title>
</head>
<body>
<!—- something here—>
</body>
</html>
```
Please back up your website where you want to apply new code before making any change.

That is all what I want to to share with you today.

Thanks For reading!

Follow me to read more interesting contents:

My website: [www.howbeginners.com](https://www.howbeginners.com/)
Twitter: [@wwhowbeginner](https://twitter.com/wwwhowbeginner)
Medium: [wwwhowbeginnerscom](https://wwwhowbeginnerscom.medium.com/)
9 Tips to Start Learning HTML/CSS
Tags: html, css, beginners, codenewbie
Published: 2022-03-19 10:11:00

If you're just starting out with your very first web page, congrats! This is your first step. I hope this list will be helpful for you. If you are an experienced developer, feel free to add your own tricks in the comments. I always love learning from you all.

### HTML
![HTML breakdown](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y5wtow1t33t4f722ijb7.png)

1. Style HTML using style sheets wherever possible.
No more <font> tags or inline style code anymore! You'll have more control over your pages' look and feel by editing **one** style sheet file.

2. Use an HTML validator
These will pick up potential problems. HTML validators are a good way to learn about the correct way to use HTML tags. [W3C Markup Validation Service](http://validator.w3.org/) and [WDG HTML Validator](http://www.htmlhelp.com/tools/validator/) are free.

3. Don't forget to document your code
This shouldn't have to be said but everyone needs some reminding from time to time.

4. Set widths and heights for images
Images can often be distorted when the size is not specified. Web browsers can format the page more quickly since you have specified how to display the images before download.

#### Helpful Links
- [html.com](https://html.com/)
- [w3schools html](https://www.w3schools.com/html/)
- [learn-html](https://www.learn-html.org/)
- [W3cubDocs](https://docs.w3cub.com/html/)


### CSS
![CSS breakdown](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5xq99blv9qimxh64zg45.png)
 
1. Use reset.css
This **resets** all fundamental styles. That way you will start with a *real* blank new style sheet. [Eric Meyer's CSS Reset](https://gist.github.com/DavidWells/18e73022e723037a50d6) is commonly used.

2. Use shorthand CSS
It not only gives you a shorter way to write your CSS but it makes your files cleaner, clearer, and easier to understand.

3. Understand `class` vs `id`
`class` is represented by a dot "." and `id` is presented by a hash "#". `id`'s are unique to that single element but `class` can be re-used.

4. Use the developer tools for your browser
`Right click -> Inspect`
This will give you a preview while giving you the ability to change the CSS and see live changes.

5. Learn about how elements are positioned
What does `position: absolute' do? How does flexbox or grid work? By knowing the fundamentals of how things work, you'll be able to modify them to your own needs. Learn the rules to break the rules.

#### Helpful Links
- [Secret weapon to learning css](https://css-tricks.com/the-secret-weapon-to-learning-css/)
- [A complete guide to flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)
- [Build Bootstrap](https://buildbootstrap.com/)
- [CSS Layout](https://csslayout.io/)
- [Type Scale](https://type-scale.com/)
Inilah 5 Model Pintu Gerbang Rumah Yang Unik
Tags: jasaarsitekmedan, arsitekmedan, jasakontraktormedan, kontraktormedan
Published: 2022-03-19 10:00:16

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l6ngj56renn7yit56rmm.jpg) 
Pintu gerbang menjadi salah satu komponen hunian rumah modern yang secara langsung bisa mempengaruhi penampilan dari eksterior rumah. Pintu gerbang merupakan bagian rumah yang paling dilihat orang lain dari luar. Pemilihan model pintu gerbang biasanya disesuaikan dengan desain rumah hunian. 

Salah satu caranya yaitu dengan melakukan pertimbangan terlebih dahulu. Terlebih jika lahan rumah kita cukup sempit dan sebaiknya gunakan gerbang yang tidak memakan banyak tempat. Salah satu mempercantik rumah hunian bisa dengan memasang pintu gerbang rumah yang estetik dan unik. 

Selain memperhatikan keunik, namun nilai fungsionalnya juga tetap harus menyesuaikan kebutuhan kita. Seringkali kita bingung dalam memilih model pintu gerbang, kita bisa meminta bantuan dari [Jasa Arsitek Medan](https://kontraktor.kactusidea.com/) atau dengan  [Jasa Kontraktor Medan](https://kontraktor.kactusidea.com/)  untuk mendapatkan penampilan pintu yang menarik untuk rumah kita. 
Berikut ini 5 desain model pintu gerbang rumah yang bisa kamu gunakan :

<strong>1. Pintu gerbang kombinasi Roster Beton</strong>
Pintu gerbang yang telah dikombinasikan dengan Roster Beton bisa membuat rumah menjadi lebih terlihat segar. Pintu gerbang ini bisa menjadi pintu gerbang yang indah untuk suatu bangunan. Pilihlah gerbang yang minimalis serta berukuran kecil dengan pola yang sederhana.

<strong>2. Pintu gerbang minimalis kayu</strong>
Kayu menjadi sebuah material yang seringkali dipadupadankan dengan material rumah. Pintu gerbang yang terbuat dari bahan kayu biasanya digunakan untuk pagar dari beton. Elemen kayu bisa memberikan kesan hommy dan estetik. 

<strong>3. Pintu gerbang minimalis Perforated Metal</strong>
Perforated metal adalah lembaran besi yang dicetak dengan menggunakan mesin demi menghasilkan bentuk pola lubang yang sesuai dengan desain yang kita inginkan. Tampilan pintu gerbang yang unik memberikan kesan yang lebih menarik untuk pintu gerbang. 

<strong>4. Pintu gerbang model geser minimalis</strong>
Pintu gerbang dengan model geser menjadi salah satu pintu gerbang yang banyak digunakan saat ini. Karena nilai kepraktisan dalam menggunakan pintu gerbang ini, sebab hanya perlu digeser ketika membuka dan menutup pagar. Pintu gerbang ini juga cocok untuk lahan yang sempit.

<strong>5. Pintu gerbang bahan Stainless Steel </strong>
Material stainless steel memang sudah tidak asing lagi untuk suatu perabotan rumah tangga. Tidak terkecuali untuk pagar, material stainless steel sangat cocok dikombinasikan dengan warna yang gelap. Sehingga bisa menyebabkan kesan yang lebih elegan dan mewah. Salah satu kelebihan dalam membuat gerbang ini adalah daya tahan terhadap korosi yang cukup tinggi.

Itulah 5 rekomendasi model pintu gerbang yang bisa kamu gunakan untuk pintu gerbang rumah. Selain itu, dalam pemilihan pintu gerbang rumah juga harus tetap memperhatikan nilai estetika yang ada.
Best way to Manage State in React Project in 2022
Tags: react, redux, mobx, frontend
Published: 2022-03-19 09:54:00



When talking about front-end development in 2022,  React is one of the most popular and use technology in the industry and React does not come with its own global state management tool until recently. React team added a new state management API, called Context API which has a lot of limitations. In this article I will share with you best way to manage state in your next React project.
 
## [Recoil](https://recoiljs.org/)
Recoil is an open-source state management library with more than 14k stars on Github, it was invented by Dave McCabe, a Software Engineer at Facebook. It provides a global state so all components in a React application can share states easily and it is minimal compared to Redux with no boilerplate code setup needed.
&nbsp;


## [Redux](url)
Redux is a predictable state container designed to help you write JavaScript apps that behave consistently across client, server, and native environments and are easy to test with more than 57.7k stars on Github.
&nbsp;


## [Mobx](url)
MobX, a simple, scalable, and standalone state management library, follows functional reactive programming (FRP) implementation and prevents inconsistent state by ensuring that all derivations are performed automatically.
&nbsp;


## [Flux](https://facebook.github.io/flux/)
   Flux is the application architecture that Facebook uses for building client-side web applications, it is more of a pattern than a framework, and does not have any hard dependencies. However, we often use EventEmitter as a basis for Stores and React for our Views. The one piece of Flux not readily available elsewhere is the Dispatcher. This module, along with some other utilities, is available here to complete your Flux toolbox.
&nbsp;


## [useContext](url)
   useContext is a React hook that provides a way to pass data through the component tree without manually passing props down through each nested component.
&nbsp;
3 easy ways to interact with users in JS
Tags: javascript, beginners, webdev, computerscience
Published: 2022-03-19 09:34:24

JS provides you 3 easy ways to interact with users without asking anything much.

# Alerts

Alert pops-up dialog box on screen with a button "ok" on it. The button is by default on this dialog box.

### Code

```
<script>
 alert('HI there'); // with specified content
 alert(); // without any specified content
</script>

```

# Prompt

Prompt is another user-interface function which normally contains two arguments.

The text is basically what you want to show the user and the default value argument is optional though it acts like a placeholder inside a text field. It is the most used interface as with it you can ask the user to input something and then use that input to build something.

Example:(with default parameter)

```
<script>
// prompt example
let age = prompt('How old are you?', 50);
  
alert(`You are ${age} years old!`); 
</script>
```

# confirm

The confirm function basically outputs a modal window with a question and two button ‘OK’ and ‘CANCEL’.

`confirm('question');`

Example:

```
<script>
// confirm example 
let isHappy  = confirm('Are you Happy?');
alert(`You are ${isHappy}`); 
</script>

```

It will print true or false based on your choice of clicking the ‘OK’ button or ‘CANCEL’ button respectively.


alert('THanks for rreaaddingg <3');
AWS Containers .. Kubernetes
Tags: aws, awscommunitybuilders, awscommunity
Published: 2022-03-19 09:13:22


الفيديو التاني من سلسلة AWS containers
بيتكلم عن الـ Kubernetes وبدأت ازاى .. والأهم من كدة .. بدأت ليه.

{% youtube KYhcpHIrjtE %}

#AWS
#awscommunity
#awscommunitybuilders