teleren/devto huggingface dataset:
Neden GNU/Linux?
Tags: linux, opensource
Published: 2022-01-21 23:27:57

"Hızlı, güvenilir, ücretsiz" Bu sözleri GNU/Linux kullananlardan duymuşsunuzdur muhtemelen. Bunlar doğru ancak biraz daha açalım bu konuyu. Neden GNU/Linux kullanayım?

---

### GNU/Linux Özgürdür

Bu belkide diğer sistemlerle arasındaki en önemli fark. Bilgisayarın dahi olsa özgür olamadığın bir ortamda bulunmak istemezsin. Peki bu özgürlük ne? Ne kadar özgürüm? Richard M. Stallman GNU projesini 1983’te başlatıyor. Ulaşmak istediği nokta tamamen özgür yazılımlardan oluşan bir işletim sistemi oluşturmak. 1990 yılında tek yerine konulmayan parça Linux çekirdeği oluyor ve çekirdek 1991 yılında tamamlanıp yerine oturuyor.

* Özgürlük 0: Her türlü amaç için çalıştırma özgürlüğü.

* Özgürlük 1: Yazılımın nasıl çalıştığını inceleme ve kendi gereksinimleri doğrultusunda değiştirme özgürlüğü.

* Özgürlük 2: Yeniden dağıtma ve toplumla paylaşma özgürlüğü.

* Özgürlük 3: Yazılımı geliştirme ve gelişmiş haliyle topluma dağıtma özgürlüğü.

---

### Hızla Büyüyor ve Yayılıyor

GNU/Linux’un özgür ve açık kaynaklı olmasından dolayı büyük bir geliştirici topluluğuna sahip. Dolayısıyla hızla büyüyor ve yeni kişilere ulaşıyor.

---

### Güvenilir

Bilgisayarınız izleniyor mu? Eğer bir GNU/Linux kullanıcısı iseniz buu sorunun yanıtı hayır! Çünkü kodları açık ve milyonlarca geliştirici bu kodları görüyor. Böyle bir durumda siz kodları okuyamıyorsanız bile sizin yerinize birisi mutlaka okur ve sizi uyarır.

---

### Çok Esnek

Masaüstü ortamınızdan açılış ekranınıza, sistemin isminden ikonlarınıza kadar her şeyle oynayabilir, değiştirebilirsiniz.

---

### Çok Hızlı

Kurulum işlemi ortalama 15-30 dakika arası sürmekte olup, kullanırken, açılıp kapanırken, uygulama çalıştırırken hız farkı gerçekten şaşırtıcı. İşlemler oldukça hızlı.

---

### Ücretsiz

Bir GNU/Linux dağıtımına sahip olmak için hiç bir bedel ödemenize gerek yok, GNU/Linux dağıtımını değiştirip dağıtmak için hiçbir bedel ödemenize gerek yok.

Siz de bir GNU/Linux dağıtımı indirip bilgisayarınıza kurmaya ne dersiniz?

[ilteriskeskin](https://ilteriskeskin.github.io/posts/neden-gnu-linux/)
Step-by-step Guides to add Android App Icon
Tags: android, beginners
Published: 2022-01-21 23:11:38

**How to add new icon asset to your Android App using Asset Studio in Android Studio?**

This assumes you already have the icon asset and would like to import that you into your app using Android Studio.

The following example is based on the new project template from Android Studio.

## 1. Delete all existing icon assets in Android Studio
- Delete `ic_launcher.background.xml` and `ic_launcher_foreground.xml` in `drawable` folder. This is just an example, you could be any icon asset file format.
- Delete all `mipmap` folders which consist of all the icon assets

![Step-by-step_Guides_to_add_Android_App_Icon_01.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1638232318711/y_70wmJIE.gif)

> Tip: This step seems necessary. If I don't clean them up first, Android Studio doesn't seem to generate and overwrites the icon assets correctly. It is less messy in my opinion. You don't have mixed new and old icon assets. 


## 2. Copy your new icon asset into the `drawable` folder

![Step-by-step_Guides_to_add_Android_App_Icon_02.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1638238976695/tE7DRZCwS.gif)

> Tip: This step is optional since the actual icon assets are generated later. However, I prefer to copy the icon asset file into the `drawable` folder so that we can keep a copy of it.

## 3. Generate launcher icon from image asset
- Right-click in the project window, go to **New**->**Image Asset** 

![Step-by-step_Guides_to_add_Android_App_Icon_03.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1638239617661/t2Du8XMgF.gif)

* Make sure the **Icon Type** is **Launcher Icons (Adaptive and Legacy)**, which is the default)
    
* In **Foreground Layer**, **Source Asset**, select **Image Asset Type**. Browse to the icon asset in the `drawable` the folder just now.
    
* In **Scaling**, **Resize** the icon accordingly to fit in your app.
    
* Go to **Background Layer**, change the **Source Asset Type Color** to white color (i.e. FFFFFF)
    
* Click **Next**\-&gt;**Finish**. Different screen resolution icon assets are now generated in the `mipmap` folders

![Step-by-step_Guides_to_add_Android_App_Icon_04.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1638241036714/OoN-Jvk3b.gif)

> The default **Res Directly** is **debug** folder. Make sure you select the **main** folder, so you app with both debug and release variants.

## Done!

Run the app, and you should see your new icon! 

![Step-by-step_Guides_to_add_Android_App_Icon_05.JPG]
(https://cdn.hashnode.com/res/hashnode/image/upload/v1638241433258/3bWnST4Ld.jpeg)

---

*Originally published at [https://vtsen.hashnode.dev](https://vtsen.hashnode.dev/step-by-step-guides-to-add-android-app-icon)*.
How to kill a windows service that won't die.
Published: 2022-01-21 22:50:24

Recently had a windows service that would not go away, did not find much documentation on this, so I am writing this for anyone else who is having similar issues. 

Run with powershell as administrator.


#Stop the service:
`sc.exe stop service_name 
`
#Kill the service:
`sc.exe delete service_name
`
Day 514 : Runnin'
Tags: hiphop, code, coding, lifelongdev
Published: 2022-01-21 22:50:02

_liner notes_:
- Professional : Got to demo what we've been working on for the past week. I'm surprised with how far we got with the application. Everything worked as we expected. Everyone seemed really happy with the progress.

- Personal : Last night, I added the ability to get the credentials to be able to join the audio chat along with being able to start and stop the broadcast, I think. I didn't get a chance to try broadcasting yet. Went through some tracks for this week's radio show. Think that was it.

![View from a cliff looking into a forest full of green pine trees with a waterfall in the middle.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n5p9cho1svkq9acoeai9.jpg)

Going to finish putting together the radio show for this week. My projector screen came in so I want to figure out how to attach it to my van. Maybe I'll do some work on my side project if I feel up to it. Got to get runnin' and eat dinner. Have a great weekend.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube jQ-RrGCSa2M %}
100 días de código: 58, por fin he terminado mi pagina web de portafolio
Tags: spanish, 100daysofcode, webdev
Published: 2022-01-21 22:48:22

¡Hey hey hey!

Por fin he terminado mi pagina web, solamente me faltaba agregar algunas fotos mías y ver un poco el seo de la pagina. He logrado obtener una puntuación de 99 en móvil y 100 en pc analizada con lighthouse. 

Comencé a informarme un poco mas sobre las optimizaciones del seo lo cual no es algo que se tome mucho en cuenta en la mayoría de planes de estudio.

Realmente me siento contento con terminar el proyecto y estoy pensando en cual sera el siguiente. 

Pueden ver una vista previa de [mi portafolio](https://darito97.github.io/portafolio3/) y te agradecería cualquier feedback que quieras darme.

Aun no termina el día asi que espero comenzar a aprender typescript. 

Espero que tengan mucho éxito en sus proyectos.
¡Adiós mundo!

Foto del cover de [Hans-Jurgen Mager](https://unsplash.com/@hansjurgen007?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) en [Unsplash](https://unsplash.com/s/photos/animals?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText).
Weekend tech plans?
Tags: weekend, coding, hardware, discuss
Published: 2022-01-21 22:30:05

I work in the tech industry, and tech is also one of my hobbies! (there are quite a few others...)

I'm constantly collecting projects, ideas, and new things I want to work on. For example, I probably won't get all of this done *this* weekend, but some of my plans are:

- recabling [my home office](https://dev.to/andypiper/upgrading-my-wfh-desk-setup-14o3). I recently upgraded my home network backup and media storage (from a Netgear ReadyNAS 104, to a Synology DS920+), and I need to rearrange things to put that where it will be living; I also need more power connections for some Pis, and to take out some older machines. Finally, I really need to fix a double-NAT problem with my router and some of the kit from my ISP. Annoying!

- I've been playing with an [e-Paper display on a Pi Zero](https://github.com/andypiper/scaredi-pi). The project is working fine, but I'm thinking about switching the Python library I'm using for the rendering, and improving the configurability of the code. I might also try running it in Micropython on a [Pi Pico](https://dev.to/andypiper/raspberry-pi-pico-getting-excited-about-the-smallest-things-km5)...

{% twitter 1483887932834521096 %}

- the weekly podcast that I co-host needs some more work on the [website](https://gamesatwork.biz). We run on WordPress. Last weekend I did a bunch of cleanup and admin, but I have some ideas for some more improvements. Plus, I'll be writing the show notes and scheduling the new episode to post on Monday...

- I have a retro games handheld (a GPi Case 2, containing a Raspberry Pi Compute Module 4) that I want to finish setting up... 👾

{% twitter 1483485715908513796 %}

- there are a huge number of things I have to build / solder, including another gaming handheld (a [ByteBoi from CircuitMess](https://circuitmess.com/byteboi/)), and a [Keyboard FeatherWing](https://shop.pimoroni.com/products/keyboard-featherwing-qwerty-keyboard-2-6-lcd) that I want to combine with a [Feather S2](https://feathers2.io/) to build a handheld that can [run BASIC](https://dev.to/andypiper/classic-programming-books-available-for-free-2jg4)...

*edit: added, because I just remembered it!*
- oh! Oh! also, I have all the parts to put together a [PixelIt display](https://www.bastelbunker.de/pixel-it/), and I keep meaning to get that done, it looks super interesting 💡

Do you code or hack on tech projects at weekends? What are you working on? I'd love to hear more!
Elgato keylight wifi setup workaround
Tags: howto, techsupport
Published: 2022-01-21 22:28:42

---
title: Elgato keylight wifi setup workaround
published: true
tags: howto, techsupport
---

I recently purchased an Elgato Keylight Air, and had some trouble with the
setup. This article documents the process I went through to get it set up.

## The problem

The problem I had was during setup, when my wifi network did not appear in
Elgato's Android app (though i believe this problem also applies to other setup methods).

My wifi network is dual-band, meaning it is broadcasing on both the 2.4Ghz
spectrum (which the keylight supports), and the 5Ghz spectrum (which the
keylight does not support). It does this using the same network information on
both networks, and steers clients toward the best frequency for their needs.

It seems that Elgato's app is *removing* from the setup list any network that
has a 5Ghz component, so I could not select my wifi network from the dropdown in
the app, even though it also uses the 2.4Ghz spectrum.

## The workaround

The workaround was a simple bait-and-switch.

1. First, I powered off my main wifi network.

1. Using my phone's hotspot function, I created a new wifi network using the
same network name and password as my main wifi network.

1. Using the Elgato app at this point, I was able to configure the keylight with
the network name and password, and it successfully connected to the phone
wifi hotspot.

1. Power off the keylight, disable the phone hotspot, and restart the main wifi
access point.

At this point, the keylight is able to join the main wifi network, because it is
configured with the correct network name and password.

This little workaround is rather annoying, and took me quite a while to figure
out, but now that it is configured on the network, the keylight is working well
for me!
Computer Science versus The Science I Know
Published: 2022-01-21 22:24:09

Well, I’m officially en route. On my way to switching over to a new field of science. When I tell people, everyone says "What a drastic change!" They're not wrong. Veterinary Science is already so vastly different from most other biological sciences. Then compare it to Computer Science; They're in different dimensions! I’m still a newbie to the world of CS, but I can tell you the differences I’ve noticed so far.
 
My hands are being utilized in a much safer, more elegant way. I haven't once had my mouse try to bite me, or accidentally stabbed myself with the instrument I call my keyboard. I'm not growing different pathogens or replicating viruses. I instead, installed antivirus software. So as far as the safety of the field goes, Computer Science takes the cake.
 
The attire is comparable. Scrubs versus pajamas. Wait… everyone codes in their PJ’s, right? I'm not afraid to admit that I have been. I like to be cozy while learning.
 
I haven't once heard the mention of grant writing, nor have I had to sit next to the "stinky" one in the lab. And by stinky, I’m referring to the scientist that grows stinky bacteria. This new field seems to smell much better.
 
So far, those are the main differences I have found. I know there will be more to come, and maybe I'll come back here and share with you my very scientific findings.
Object Validator for PHP 8 V2.2.1 Release
Tags: webdev, php, opensource, showdev
Published: 2022-01-21 22:09:14


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

My new vesrion of the validator is out here:

#Additions:

- Severity
Add option to make the failed validation throw NOTICE|WARNING|ERROR

- Debugging
Add option to display all validations per class

#Bug Fixes:
- Some bug fixes for the or attribute applied

Full documentation and capabilities here: 
https://ivangrigorov.github.io/VMValidator/ 

As always:
Feel free to leave a like, give feedback or star the project :)
Testing a mui Date Picker Adaptor Component Integrated with React Hook Form
Tags: reacthookform, react, testing, webdev
Published: 2022-01-21 22:01:35

### Subject Under Test
A date picker component integrating mui's date picker with React Hook Form's form context. It uses the `Controller` component from React Hook Form(RHF) and configures mui's  `DatePicker` to handle validations and more. I use this component instead of `mui`'s `DatePicker` in all my forms. 

### Behaviours

1.  It inherits all the behaviours from `DatePicker` of `mui` and accepts all `DatePicker` props as-is.
2.  It takes `name`, `formContext` and `defaultValue` required props and registers the `DatePicker` to the form context of RHF
3.  It has two modes: edit mode and read-only mode. In read-only mode, it is disabled, has no date picker icon button and is rendered as a standard(underline) `TextField`. In edit mode, it is rendered as outlined `TextField`.
4.  It builds in the `required` validation rule and takes a `required` prop.
5. It builds in a validation rule for invalid date input
6.  It accepts validation rules and enforces them.
7.  It takes an optional `onChange` prop. It will update the value and trigger the given `onChange` method on change.
8. It has a default mask and date format and can be changed with props.
9.  It defaults to size small, full width and shrink label.
10. It set time to end of the day.
11. It takes a `style` prop for styling the underlying `TextField`.

### Code
{%gist
https://gist.github.com/rexebin/a83bf6e338bf72ae9af19c33145fc5a0
%}

### Notes
1. `matchMedia` is mocked so that the date picker can be rendered in desktop mode with the date picker icon button
2. `TestComponent` sets up a React Hook Form environment and shows how the SUT can be used.
3. `FormForTesting` is a testing utility component for testing React Hook Form form components.
4. The tests are grouped into three categories: appearance, behaviours and validations.
Task List Application
Tags: codepen
Published: 2022-01-21 21:56:19

<p>This small application is a miniature notepad where in you can write down small note and save them to local storage. The application is fully functional with the "add task" button adding your notes to the DOM, displaying them to the screen, and adding the content of the notes to local storage. The 'x' on each entry will erase the corresponding note from the DOM and from local storage. The 'clear tasks' button will erase all notes from the DOM and from local storage. The filter function is also functional and allows you to filter your notes.  Another notable feature of this project is that it uses the materialize css framework. This application is a project that I did for Brad Traversy's Modern JavaScript course on Udemy, available here: <a href="https://www.udemy.com/share/101WqkAEAbdlZRQ3kF/" target="_blank">https://www.udemy.com/share/101WqkAEAbdlZRQ3kF/</a>.  The HTML and JavaScript files for this project can also be viewed on my github at: <a href="https://github.com/Matthewcs142/web_development_projects/tree/master/task_list" target="_blank">https://github.com/Matthewcs142/web_development_projects/tree/master/task_list</a></p>

{% codepen https://codepen.io/harunpehlivan/pen/poWMoga %}
Loan Calculator App
Tags: codepen
Published: 2022-01-21 21:54:50

<p>This small application demonstrates how to just vanilla JavaScript to get user input from a UI and use it to perform calculations. This project implements the Bootstrap 4 framework as well. This project was done as course work for Brad Traversy's Modern JS course on Udemy, viewable at: <a href="https://www.udemy.com/share/101WqkAEAbdlZRQ3kF/" target="_blank">https://www.udemy.com/share/101WqkAEAbdlZRQ3kF/</a>.  I have modified the original project as it was presented in the course so that it included a 'clear' button that would reset the entire application. The original project did not include such a button and had to be cleared either manually or by refreshing the html page in the web browser.</p>

{% codepen https://codepen.io/harunpehlivan/pen/QWqeWyq %}
Building a Culture of Growth
Tags: culture, engineering, devops
Published: 2022-01-21 20:13:32

---
title: Building a Culture of Growth
published: true
description: 
tags: culture, engineering, devops
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/69nxxk76w42zo2sn6edw.jpg
---
*cover image: Photo by Akil Mazumder from Pexels*


There’s no equality in tech job market. Top candidates get swept up by FAANG while the majority of us are left with rookies or folks who never had the chance to grow the leg of their T.

When I started Otomato I had the intention of building a community of true experts. Trouble is – the culture of skill-sharpening isn’t that easy to nurture. Especially when you’re focused on keeping your customers happy. (We make it our rule to never bill the customer for our learning)

Two very promising young engineers left the team in the last couple of months. They both grew from juniors to very solid professionals. On one hand – I’m happy to see them ready for their next adventure. But they aren’t experts yet. So for me – there’s a goal unreached.

The rest of us are learning every day. If you leave your screen at the end of the day and you don’t know even a little bit more than you knew yesterday – you’ve wasted a workday.

We’re also actively [hiring new consultants](https://www.linkedin.com/jobs/view/2858238053/). And having these internal dialogues all the while – should we hire someone who already knows the job, or should we hire for potential and motivation? I always lean towards the latter. Our job is continuous learning anyway.

Of course there’s a price. Growing juniors takes the toll on seniors. But it’s a price well worth paying. The more juniors you help grow – the better professional (and human) you yourself become.

And if you ask me – in the end it’s all about being a better human. That’s the only growth that really matters.

*Originally published on [Otomato](https://otomato.io/otoblog)*
Model Portfolio Page
Tags: codepen
Published: 2022-01-21 21:34:40

<p>This is a model portfolio built with bootstrap 4. Instead of the portfolio being built with multiple HTML documents linked together, this portfolio is a single, large HTML document wherein an accordian is implemented using Bootstrap 4 collapse classes. Additionally, Ekko Lightbox is implemented as well, allowing for a better image viewing experience for the user when browsing the project images in the work tab. This portfolio page was built as the final project for a udemy bootstrap 4 course viewable here: <a href="https://www.udemy.com/share/101Xd8AEAbdlZRQ3kF/" target="_blank">https://www.udemy.com/share/101Xd8AEAbdlZRQ3kF/</a> </p>

{% codepen https://codepen.io/harunpehlivan/pen/zYEgOvd %}
Remove Firefox Minimum Width
Tags: firefox, guide, boring
Published: 2022-01-31 19:43:17

---
title: Remove Firefox Minimum Width
published: true
date: 2022-01-21 21:28:00 UTC
tags: Firefox,Guide,Boring
canonical_url: https://kevincox.ca/2022/01/21/firefox-min-width/
---

<main><h2 id="userchromecss"><a href="https://kevincox.ca/2022/01/21/firefox-min-width/#userchromecss">userChrome.css</a></h2>
<p>These changes will use the <code>userChrome.css</code> file to add custom styles to the browser. While this voids your warranty it is very easy to revert (just delete the file) so it doesn’t hurt to try it out.</p>
<p>First go to <code>about:config</code> and set <code>toolkit.legacyUserProfileCustomizations.stylesheets</code> to <code>true</code>. Then create a file called <code>chrome/userChrome.css</code> in your profile folder. You can find you profile folder by going to <code>about:profiles</code>. If you need more detailed instructions <a href="https://www.userchrome.org/how-create-userchrome-css.html">userchrome.org has an in-depth guide</a>.</p>
<h2 id="change-minimum-width"><a href="https://kevincox.ca/2022/01/21/firefox-min-width/#change-minimum-width">Change Minimum Width</a></h2>
<p>Then you can simply update the CSS to override the default.</p>
<div><pre><code><span>/* userChrome.css */</span>
<span>:root</span> <span>{</span>
	<span>min-width</span><span>:</span> <span>1rem</span> <span>!important</span><span>;</span>
<span>}</span>
</code></pre></div>
<p>I chose to keep it at <code>1rem</code> so that I can’t accidentally make a 1 pixel wide window that may be hard to widen again. But if you want to truly remove the minimum be my guest.</p>
<div><pre><code>/* userChrome.css */
:root {
	min-width: unset !important;
}</code></pre></div></main>