teleren/devto huggingface dataset:
Ubuntu: Create Postman shortcut
Tags: ubuntu, tutorial, postman, shortcut
Published: 2022-01-22 03:40:14

#Ubuntu 21.10

*You just installed postman without using snap and don't know how to add it to your dock? Here is how*

## Create desktop entry
*Open terminal and type*
```
cd /usr/share/applications/
```

Then
```
sudo nano postman.desktop
```
*nano can be replaced with gedit*

Enter your password, a file will be opened for you, paste these
```
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=Postman
Icon=postman.png <-- *Check this*
Path=/home/[your username]/Postman <-- *Check this*
Exec=/home/[your username]/Postman/Postman <-- *Check this*
StartupNotify=false
StartupWMClass=Postman
OnlyShowIn=Unity;GNOME;
X-UnityGenerated=true
```

Save

## Add to your favorites
Click on `Show Applications`

Search for `Postman`

Open it

Right click and choose `Add to Favorites`

![Postman on dock](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nk5jlvx5yojkd3d52moo.png)
Some laughs for the evening
Tags: jokes, watercooler
Published: 2022-01-22 04:01:14

I'm laughing at my own joke tonight, so to lighten the mood, what's some funny things you've come across recently?

{%twitter 1484733894058512389 %}

Also, if you don't know who Vanilla Ice is, [Wikipedia has you covered](https://en.wikipedia.org/wiki/Vanilla_Ice).

Remember to keep it clean. 😎
CSS Sticky Hover Solution
Published: 2022-01-22 03:57:56

**Namaste to everybody!🙏**

I'd like to share with you a small tip that is important for me today. The issue is when you use mobile devices to run through your web page, you see that tapping on a button hover effect remains "sticky". It's rather annoying...

The solution is here https://css-tricks.com/solving-sticky-hover-states-with-media-hover-hover/

And it really has helped!😼 Moreover, you can do it with only css without any js.

Happiness to everybody!

P.S. I'm always open to discussion on interesting programming themes and not only connected to cs)
Quick Update on v2.5.0 progress
Tags: opensource, programming
Published: 2022-01-22 03:51:42

In the last two weeks, I was working on the release `v2.5.0` of [Telescope](https://github.com/Seneca-CDOT/telescope). And the [issue](https://github.com/Seneca-CDOT/telescope/issues/2650) I work on is about redirecting the page to the valid commit related to a release version. Since this is my first experience working with Telescope, so it has a ton of new concepts for me to know, I spend a couple of days to set it up, and read all the codes in Telescope, then I am able to head into my issue. I create my [PR](https://github.com/Seneca-CDOT/telescope/pull/2693) for this issue, however, I still have some problems on my way.

This PR is originally for `v2.5.0` release, but I am not able to make it so it is moved to `v2.6.0`, and I am trying to fix the problem I am having now. As soon as the new release is on live, and I also talk to my teammate- Diana to find the way to get rid of the current issue. Interestingly, we found that the issue also happened with `staging`, and it leaded us to the non-existing commit. The new [issue](https://github.com/Seneca-CDOT/telescope/issues/2697) is already filed to keep everything on the right track.

During the progress of `v2.5.0` release, I feel myself is more active compared to last semester. I am gradually archiving part of my goal, communication is important in project management because if I do not, I would have to waste times to catch up with things going on in the project.

For my next [issue](https://github.com/Seneca-CDOT/telescope/issues/2591), I have to work on dashboard enhancement. And this time I would dip my hands into something that I have never touched before. I would also need some tips on how to do the research for a certain problem. I feel like I am a "chicken" in this part, help me out with research skills, I would greatly appreciate that.
Personal website
Tags: programming, webdev, beginners, github
Published: 2022-01-22 03:47:26

After the 2,3 days of sleepless nights here is my webpage. It's my first website, completely written in HTML, javascript, CSS. It is built in such a way that it is compatible for any type of screen.it is published on GitHub.
Icons are from https://iconscout.com.
Fonts are from Google fonts.
**https://jeeson-k.github.io/jeeson/**
TexCreate V1.1.0
Tags: rust, tex, programming, mkprojects
Published: 2022-01-22 03:41:51

TexCreate has been one of the major projects in MKProjects and it's finally considered, stable! As of Version __1.1.0__ it is now stable and here are some of the major changes...

## New Way init works 
In the previous versions, for single-mode projects it just made the `config.toml` it just gave you a configuration, but now it asks 
for user input, if you're not up-to it, just say yes to keep default configurations. 

## No More Create command 
The Create Command I wasn't a complete fan of,and I kept it because I wanted to provide different ways of using this tool. However due to a more efficient way of adjusting templates, (replacing `{field}`) I had to remove the create command so it doesn't look irregular. However if you're not a fan of always opening a text editor for `config.toml`, just use the _edit_ command.

```sh
# To install texcreate 
$ cargo install texcreate 
# Using the edit command, make sure to be in same directory 
# as config.toml
$ texcreate edit --mode single -- template Theatre 
No changes to author field
No changes to title field
No changes to date field
No changes to project_name field
Changing template from Basic to Theatre
No changes to paper_size field
No changes to font_size field
No changes to document class field
No packages added
No packages removed
```

## TexCreate Web
TexCreate web runs on a rocket web server and when the command is ran, it also creates a `texcreate.html` file and `tc_files` for the server to use. To start the server use `texcreate web` and the server will be on `http://127.0.0.1:8000`. This is an alternative to using a `config.toml` file and just use a web version (also on [mkproj.com](http://mkproj.com/texcreate/))

> Note: Under the hood there's more changes such as more Error handling and optimizations to reduce unnecessary bindings, borrowing, etc. 

I hope you enjoy these new changes, and get ready for the programming book on building a cut-down version of TexCreate called, _Creating a TexCreate_.
Telescope 2.5 Update
Published: 2022-01-22 02:10:36

Yesterday we released [Telescope 2.5](https://github.com/Seneca-CDOT/telescope/releases/tag/2.5.0) which included two small fixes from myself. The first one was a documentation update and the second was a front-end change.

### Breaking production

The first [issue](https://github.com/Seneca-CDOT/telescope/issues/2644) was simple: the release docs were not updated when we switched to using `pnpm`, so I had to do it now. As part of this [Pull Request](https://github.com/Seneca-CDOT/telescope/pull/2660) I also removed a section about running the `outdated` command since we don't check for outdated dependencies when we do a release.

While testing the new instructions in the docs, I unknowingly **triggered** a release. It turns out Telescope has an **automatic release** workflow as soon as we run `‌pnpm version <new-version-string> -m "Release message"`. Not the best way to start the semester!

### No more scroll snap

The second [issue](https://github.com/Seneca-CDOT/telescope/issues/2452) was something that has been irritating me for some time about the homepage. The **scroll snap** feature was not working on some browsers and it introduced a lag when using Telescope on mobile. There were no updates on the issue since November so I decided to work on it and [remove the feature](https://github.com/Seneca-CDOT/telescope/pull/2692).

### More to come

I am currently researching how to implement [Turborepo](https://turborepo.org/) or [Rushjs](https://rushjs.io/) in Telescope. They both support pnpm which is great but I am finding Turborepo to be a lot more user friendly.

Turborepo keeps a cache every time we run a task so it is able to execute those tasks faster. This can be useful for our Continuous Integration on GitHub as well. I still haven't figured out how to properly integrate it in our tooling so I hope to find a way soon.

Finally I am also looking at a way to bring the Satellite project inside the Telescope repo to really have everything in one monorepo.
Create a Card Matching Game in AR 🃏
Tags: augmentedreality, argames, gamedev, cloud
Published: 2022-01-22 01:51:54


![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1642814494661/EcIlUjOre.png)
Here’s a simple card matching game using AR Foundation and Unity with [echo3D](http://www.echo3d.co/) for Android. The full demos can also be found on echo3D’s [GitHub](https://github.com/echo3Dco/Card-Matching-Demo).

Built in Unity 2019.4 with AR Foundation 2.1.10 and ARCore XR Plugin 2.1.10l.

## Register
Don’t have an API key? Make sure to register for FREE at [echo3D](https://console.echo3d.co/#/auth/register).

## Run
- Clone this repo.
- [Add images](https://docs.echo3d.co/quickstart/add-a-3d-model) to the console.
- Set the API key in the `CardMatch.cs` script inside the `CardMatch\CardMatchRoot.prefab` using the the Inspector.
- [Configure Player Settings for AR Foundation](https://developers.google.com/ar/develop/unity-arf/getting-started-ar-foundation#configure_player_settings).
- [Build and run the AR application](https://docs.echo3d.co/unity/adding-ar-capabilities#4.-build-and-run-the-ar-application).

## Learn more
Refer to our [documentation](https://docs.echo3d.co/unity/) to learn more about how to use Unity and echo3D.

This project uses a [third party library](https://pub.dev/packages/flutter_unity#-readme-tab-).

## Support
Feel free to reach out at [support@echo3D.co](support@echo3D.co) or join our [support channel on Slack](https://go.echo3d.co/join).

## Screenshots
<center>
![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1642814685118/TffBWHIJM.png)

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1642814694242/vzjAV5IRi.png)

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1642814707088/DeaJgOLAz.png)

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1642814713219/C1Zd_mpcV.png)

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1642814721827/LxglHxBQj.png)

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1642814730654/oaWOnT5MQ.png)

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1642815020489/qoNSrO_ie.png)


---
</center>
>**echo3D ( [www.echo3D.co](https://medium.com/r/?url=http%3A%2F%2Fwww.echo3d.co%2F); Techstars 19') is a cloud platform for 3D/AR/VR that provides tools and network infrastructure to help developers & companies quickly build and deploy 3D apps, games, and content.**

![14.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1642125660137/aejgid-pv.png)
Check if a file is a subset of another file using bash script
Tags: bash, linux, testing, tooling
Published: 2022-01-22 01:48:05

## Scenario
I need to check if a file is a subset of another file into the CI pipeline. Thus bash script is chosen since it's performant and we don't need to install extra dependencies into the CI pipeline.

1. **diff**
    The first command comes to my mind is `diff`, which is a really powerful command telling the difference between two files.

    However it's too powerful. **`diff` "predicts" which line needs to be changed in order to make the two files identical**; which is unnecessary for my use case.

    E.g. (Example from GeeksToGeeks)
    ```
    $ cat a.txt
    Gujarat
    Uttar Pradesh
    Kolkata
    Bihar
    Jammu and Kashmir

    $ cat b.txt
    Tamil Nadu
    Gujarat
    Andhra Pradesh
    Bihar
    Uttar pradesh

    $ diff a.txt b.txt
    0a1
    > Tamil Nadu
    2,3c3
    < Uttar Pradesh
     Andhra Pradesh
    5c5
     Uttar pradesh
    ``` 


2. **comm**
    Without further digging into `diff`, I found another command `comm` which is simple and just fit in my use case.
    
    `comm` returns 3 columns:
    - first column contains names **only present in the 1st file**
    - second column contains names **only present in 2nd file**
    - the third column contains **names common to both the files**

    E.g. (Example from GeeksToGeeks)
    ```
    // displaying contents of file1 //
    $cat file1.txt
    Apaar 
    Ayush Rajput
    Deepak
    Hemant

    // displaying contents of file2 //
    $cat file2.txt
    Apaar
    Hemant
    Lucky
    Pranjal Thakral

    $comm file1.txt file2.txt
                    Apaar
    Ayush Rajput
    Deepak
                    Hemant
            Lucky
            Pranjal Thakral
    ```

    And to check if one file is a subset of another file, we just need the 1st column. We could just do `-23` to neglect the 2nd and 3rd column. I.e.
    ```
    comm -23 file1.txt file2.txt
    ```

## Conclusion
At last, I just end up with this simple bash script         to check the subset condition:
```bash
#!/bin/bash    
SUBSET="<subset_file_path>"
SUPERSET="<superset_file_path>"
CHECK=$(comm -23 <(sort $SUBSET | uniq ) <(sort $SUPERSET | uniq ) | head -1)

if [[ ! -z $CHECK ]]; then
  echo "Detected extra line in $SUBSET and not in $SUPERSET."
  echo $CHECK
  exit 1
fi
```
Added the extra `sort` and `uniq` commands there just to make sure we're comparing two sorted and deduplicated files.
Fractal Cube animation !
Tags: showdev, webdev, codepen, css
Published: 2022-01-22 01:04:05

Fractal Cube was made for the Codepen challenge, Generative Art - Fractals.

The animation was made using CSS with SASS. Circles were made using SVG and used as background in CSS. Each circle position and radius is calculated with recursion.

{% codepen https://codepen.io/MenSeb/pen/WNZqoPO %}
Getting up to speed
Tags: opensource
Published: 2022-01-22 00:46:21

I just won a hackathon last weekend, yay, I was great but it took away about 3-4 days from me so I had to catch up on some school work. 

## My PR got reverted 😅:
I opened a [PR](https://github.com/Seneca-CDOT/telescope/pull/2615) to solve this [issue](https://github.com/Seneca-CDOT/telescope/issues/2574). I removed most of the file `src/backend/lib/redis.js` and some packages to fully utilize Redis connection from [Satellite](https://github.com/Seneca-CDOT/satellite). After some back and forth, it got merged but a bit later Duke found out that [it broke master](https://github.com/Seneca-CDOT/telescope/issues/2685), the backend couldn't start. 

I did some quick debug and with the help from Abdul, we identified that cause of the bug but I didn't proceed to solve it because it's an underlying bug and what I was trying to do was not a priority. Though, I learned more about telescope's Docker containers and its backend which definitely will help me later.

## Reading up on parser service 🧐:
One of the the goals for this term is to remove `src/backend` and run microservices fully instead. I've been reading up on the parser-service, it's pretty similar to the backend so it's a bit easier for me to get familiar. I'm going to go through it once more before asking Josue or Chris to give me a tour and then proceed to write some [tests](https://github.com/Seneca-CDOT/telescope/issues/2111) for it.

## Continuing ongoing PR 📱:
I'm teaming up with Francesco and Alex to try to finish this [PR](https://github.com/Seneca-CDOT/telescope/pull/2491) updating telescope mobile view. To be frankly, I'm not that enthusiastic when it comes to front-end but yeah, it's in TS React so I'll try to make it work. We put our heads together earlier this week to decide what's wrong with it and probably we're gonna start coding it up very soon. 

---

I'll try to put at least 2 PRs in release 2.6 and try to getting up to speed as well.
How to make a union type from a type alias or interface properties in TypeScript?
Tags: typescript
Published: 2022-01-22 00:00:00

---
  title: How to make a union type from a type alias or interface properties in TypeScript?
  published: true
  tags: TypeScript
  date: Sat Jan 22 2022 05:30:00 GMT+0530 (India Standard Time)
  canonical_url: https://melvingeorge.me/blog/make-union-type-from-type-alias-or-interface-properties-typescript
  cover_image: https://melvingeorge.me/_next/static/images/main-9a11fd27e9668f5b0b5c06e64e2aa354.jpg
  ---
  [Originally posted here!](https://melvingeorge.me/blog/make-union-type-from-type-alias-or-interface-properties-typescript)
  
To make a union type from a type alias or interface properties, you can use the [`indexed access type` syntax](https://melvingeorge.me/blog/get-property-type-from-another-type-alias-or-interface-typescript) and then write the property names to make the union type separated by the union operator symbol (`|`) in TypeScript.

### TL;DR

```ts
// a simple interface
interface Car {
  name: string;
  yearMade: number;
}

// make a union type from the `name` and
// `yearMade` properties from the `Car` interface
type NameOrYear = Car["name" | "yearMade"]; // NameOrYear -> string | number
```

For example, let's say we have an interface called `Car` having a property called `name` with the type of `string` and another property called `yearMade` having the type of `number` like this,

```ts
// a simple interface
interface Car {
  name: string;
  yearMade: number;
}
```

Suppose we want to make a union type from the `name` and `yearMade` properties from the `Car` interface.

To do that we can make use of the `indexed access type` syntax and then write out the property names to make the union type separated by the union operator symbol (`|`).

It can be done leik this,

```ts
// a simple interface
interface Car {
  name: string;
  yearMade: number;
}

// make a union type from the `name` and
// `yearMade` properties from the `Car` interface
type NameOrYear = Car["name" | "yearMade"]; // NameOrYear -> string | number
```

Now if you hover over the `NameOrYear` type, you can see that it is a union type composed of `string` and `number` type which are the same types of the `name` and `yearMade` properties from the `Car` interface.

We have successfully made a union type from interface properties in TypeScript. Yay 🥳!

This method is the same for any `type alias` type in TypeScript.

See the above code live in [codesandbox](https://codesandbox.io/s/make-union-type-from-type-alias-or-interface-property-types-typescript-5u5f9k?file=/src/index.ts).

That's all 😃!

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

---
.NET MAUI with .NET CLI on Windows 11 with Android Emulator
Tags: dotnet, maui, csharp, programming
Published: 2022-01-21 23:25:39

This article describes how to develop a .NET MAUI app with the .NET CLI (Command Line Interface).

.NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML that can run on Android, iOS, macOS, and Windows from a single shared code-base.

1 Install .NET SDK.

https://dotnet.microsoft.com/en-us/download

2 Install .NET MAUI workload with the dotnet CLI. A .NET "workload" is a collection of packs. Launch a command prompt and enter the following:

**dotnet workload install maui**

![dotnet maui workload install](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pisb67apx2wty0qyysyt.png)
 

Check that the MAUI workload installs successfully.

**dotnet workload list**

![maui workload list](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6lwb1paimiq738ok2ezc.png)
 

3 Verify and install missing components with maui-check command line utility.

**dotnet tool install -g redth.net.MAUI.check**

**maui-check**

4 Create a new folder and a new MAUI app.

**mkdir MyMauiApp**

**cd MyMauiApp**

**dotnet new maui**

5 The "dotnet new maui" command generates a template for a .NET MAUI app with all the necessary project, C#, and XAML files. You can use any editor such as Notepad or Visual Studio Code to edit the files.

If you are using Visual Studio Code, enter the following command in the Command Prompt to view the source code generated in the "MauiQRCodeApp" folder.

**code .**

6 Start an Android Emulator with the following command:


**"C:\Program Files (x86)\Android\android-sdk\emulator\emulator.EXE" -no-boot-anim -avd pixel_5_-_api_30 -prop monodroid.avdname=pixel_5_-_api_30**
                
7 Run the MAUI app in an Android Simulator.

**dotnet build -t:Run -f net6.0-android**
![maui android](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lqxp2i7j4zlv7chdkdyu.png)
Django Nedir? Nasıl Kurulur?
Tags: django, python, webdev, tutorial
Published: 2022-01-21 23:35:09

## Django Nedir?

Django python ile yazılmış bir web çatısıdır (framework). Özgür ve açık kaynak kodludur. Arkasında büyük bir topluluk geliştirilmesi için uğraşmaktadır. Django MVT mimarisi üzerine yazılmıştır. MVT olarak bahsettiğimiz şey bir yapıdır. Model, Views ve Template’i ifade eder. Django diğer web çatılarına göre daha hızlı, daha güvenli, daha az karmaşık projeler geliştirmenizi hedef alarak ortaya çıkarılmıştır. Size geliştirilebilir, kullanışlı bir yönetim paneli sunar. Kendinize göre optimize ederek kullanabilirsiniz bu paneli.

Django barındığı sunucuda olabildiğince az enerji tüketir. Yani sunucunuzu zorlamaz. Büyük veri akışlarını kontrol altına almakta oldukça başarılıdır. Django ORM katmanı ile projeniz çok çok büyük olmadığı sürece veritabanınızı olabildiğince güzel hazırlar ve sunar.

Disqus, Pinterest, Mozilla ve İnstagram gibi web uygulamaları django ile yazılmış bazı uygulamalardır.

## Django Kurulumu

Arkadaşlar kurulumu Ubuntu için anlatacağım. Eğer GNU/Linux dağıtımı kullanıyorsanız kurulum benzer şekilde olacaktır.

Ben sanal ortam üzerine kurulumu göstereceğim. Sanal ortam yerine direkt bilgisayarınıza kurmak istiyorsanız sanal sunucu kurulum kısmını atlayıp kalan adımları takip edebilirsiniz.

İlk olarak projenizin barınacağı dizini oluşturmanız gerekmektedir. Yorum satırları ekleyerek adım adım ilerleyeceğim.

```Shell
sudo apt install python3-venv #Virtual Environment (Sanal Ortam) kurulumu için gereklidir

sudo apt install python-pip #pip paket yöneticisini yüklemek için gerekli komut

pip install --upgrade pip #pip paket yöneticisinin sürümünü yükseltmek için gerekli komut

mkdir ProjeAdı #Projenizin barınacağı dizini oluşturur

python3 -m venv env #(env sanal sunucu ismi) Sanal bir python sunucusu oluştur

source env/bin/activate  #Sanal sunucuyu aktif et (deactivate ile durdurulabilir)

pip install django==1.11.7 #Django 1.11.7 yükle, son sürümü yüklemek için django yazmanız yeterli
```

Kurulumunuz bitti arkadaşlar. Şimdi bir proje oluşturalım.

```Shell
django-admin startproject ProjeAdı . #Django projesi oluşturur, . ise projeyi bulunduğunuz dizinde oluşturacağınızı belirtir

python manage.py runserver #Projenizi çalıştırmanız için gerekli komut
```

Kurulumunuz ve ilk proje oluşturma işlemleriniz başarılı bir şekilde tamamlanmıştır. Bundan sonra aşağıdaki linkler üzerinden django çatısını daha derinden öğrenmeniz mümkündür.


* [https://www.djangoproject.com/](https://www.djangoproject.com/)
* [https://tutorial.djangogirls.org/tr/](https://tutorial.djangogirls.org/tr/)
* [http://www.djangoturkiye.com/](http://www.djangoturkiye.com/)
* [https://ilteriskeskin.github.io/posts/django-nedir-nasil-kurulur/](https://ilteriskeskin.github.io/posts/django-nedir-nasil-kurulur/)

[Bu link](https://github.com/ilteriskesk/ab2018_Django) Akademik Bilişim 2018 etkinliğinde yaptığımız proje. Kaynak kodları ve README.md dosyasındaki talimatları inceleyebilirsiniz.

Herkese iyi çalışmalar.
Few quick things...
Tags: challenge, ux, career, productivity
Published: 2022-01-21 23:31:19

Consider this......

The tech industry was one of the first to recover from covid with more vacancies than ever (30,000+).

- LinkedIn has even ranked UX design as one of the top 5 in-demand skills as of 2020.
- Glassdoor added UX design to their list of the best 50 jobs to have in 2021.

Long story short, this culture is heavily based on mentoring and knowledge sharing.

Come and see for yourself! 

🔵Follow me here on dribbble.com/hr21don
🔵Follow me on behance.net/hrdevelopment2021