teleren/devto huggingface dataset:
Why micromanagement is good ?
Tags: beginners, remotework, programming
Published: 2023-04-08 03:35:54

---
title: Why micromanagement is good ?
published: true
description: Career guide for junior enigineers
tags: beginners, remotework, programming
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-04-06 13:35 +0000
---

I remember having discussion with one of newly joined colleague about general working style, company culture, timing, etc

Somehow we started on micro management and this person was very against it. He valued his freedom more than anything else.

Lot of young people who joined corporate world during COVID think on the same lines. (Think themself as master of their trade)

This generation usually do not know how to work efficiently, how to prioritise or communicate across different teams and also clear all blockers.

When junior engineers do not receive adequate supervision or mentorship from their senior colleagues, they may struggle to perform their tasks efficiently. They may face difficulties in understanding complex technical problems, or they may not have the necessary skills to complete their work in a timely manner. This can lead to frustration and a lack of motivation, which can further impact their productivity.

#### Getting micromanaged is not easy.
I remember my time, for 2 years - my tasks were getting prioritised by my manager, designs and flow finalized before development work.
Basically my next day was getting planned on the day before.
I was frustrated, had no choice or freedom over tasks, had to justify where I spend my time.

But this was the time, I was most productive, had very high learning curve. Understood difference between good code and bad code, learned about code standardisation, naming convention. 
I was not running for next shiny framework, library or language. 
It was pure grind.

Micromanagement puts constraints and Creativity comes from constraint. 
Great teams are hungry for constraints, they want to understand all the aspects, restrict the space, start developing, feel each other, appreciate each other's aptitude and skills

Similarly time is constraint. You can timebox your project to force creativity flow.

So micromanagement is not a bad thing, instead it’s a must for junior engineers.
Add browser tab icon to your website.
Published: 2023-04-08 03:06:17

In this tutorial, I'll be teaching you how to add browser tab to your website. This icon to be added in your web application will allow users to easily identify your application. It is as easy as ABC so let's get into it.

```
<html>
    <head>
        <!-- other meta data -->
        <link rel="icon" type="image/jpg" href="<path_to_image>">
    </head>
</html>
```

Once you add the above link tag with the images you want to use as icon, it is done. Go to your browser and you'll see that icon displayed on your tab
How to keep a persistent class on a LitElement
Tags: webcomponents, lit, webdev, javascript
Published: 2023-04-08 02:56:40

When working with lit, sometimes you want the host element to have a persistent class name. A good example is if I were using Shoelace I'd want my elements to look like this:

```html
<sl-button class="sl-button"></sl-button>
```

That way if a user registers the button under another namespace, they can still target all instances with `.sl-button {}` in their CSS, or by using querySelectors. There are a number of use-cases, but lets forget about the "why", and focus on the how.

Here is how I found the most effective way to keep a persistent class on a LitElement.

```js
import { LitElement } from "lit"
class MyElement extends LitElement {
  static properties = {
    class: { reflect: true }
  }
  
  connectedCallback () {
    super.connectedCallback()
    this.classList.add("my-element")
  }

  willUpdate (changedProperties) {
    if (changedProperties.has("class")) {
      this.classList.add("my-element");
    }
  }
}
```

Or for you folks out there using decorators:

```ts
import { LitElement } from "lit"
import { property } from "lit/decorators.js"

class MyElement extends LitElement {
  @property({ reflect: true }) class

  connectedCallback () {
    super.connectedCallback()
    this.classList.add("my-element")
  }

  willUpdate (changedProperties) {
    if (changedProperties.has("class")) {
      this.classList.add("my-element");
    }
  }
}
```

I'm sure there's another way to do this, but this has been the way that's worked for me!
Polymorphism With TypeScript
Tags: typescript, javascript, oop, discuss
Published: 2023-04-08 02:44:10

To better understand classes in TypeScript, my book club members and I learned about object-oriented programming. I got stuck on polymorphism, so I did some research and created some classes on my own.

If you find any mistakes, I would appreciate it if you could point them out in the comments below.


1. What is Polymorphism?
2. What are some sample codes and which part demonstrates Polymorphism?


**What is Polymorphism?**
Polymorphism is one of the methods in Object-Oriented Programming. Polymorphism literally means "many forms."
When extending classes from a base class/parent class, you can modify the behavior of an existing method in the derived/child class. 


**Sample Codes**

```
class Animals {
    animalName: string; 
    constructor(animalName: string) {
        this.animalName = animalName;
    }
    move(animalName: string = "Animals"):string {
        return `${animalName} can move.`
    }
}

class Fish extends Animals {
    constructor(animalName: string){
        super(animalName);
    }
    move(animalName: string): string {
      return `${animalName} swim.`
    }
}

class Birds extends Animals {
    constructor(animalName: string){
        super(animalName);
    }
    move(animalName: string): string {
      return `${animalName} fly.`
    }
}

class Kangaroos extends Animals {
  constructor(animalName: string){
    super(animalName);
  }
  move(): string {
    return `Kangaroos jump.`
  }
}


const animals = new Animals("")
const clownfish = new Fish("clownFish");
const sparrow = new Birds("sparrows");
const kangaroos = new Kangaroos("Kangaroos");

console.log(animals.move())
console.log(clownfish.move("Clownfish"))
console.log(sparrow.move("Sparrows"))
console.log(kangaroos.move())
```

Polymorphism is demonstrated through the move() method, which can be modified in derived classes to provide different implementations. When you create a new object, it executes its own version of the move() method.
Máy Phiên Dịch Atalk Plus
Tags: atalkplus, mayphiendichatalk, maydichngonngu, maythongdich
Published: 2023-04-08 02:37:09

Thương hiệu: Việt Nam

Sản phẩm tối ưu riêng dành cho người Việt - Hỗ trợ ngôn ngữ hệ thống là Tiếng Việt

https://mayphiendich.vn/may-phien-dich-atalk-plus/

Hỗ trợ phiên dịch 2 chiều với 108 ngôn ngữ

Tích hợp 5 tính năng phiên dịch tiện lợi: Dịch giọng nói, dịch ghi âm, dịch văn bản, dịch hình ảnh và dịch hội nhóm

Sử dụng công nghệ trí tuệ nhân tạo (AI): Dịch càng nhiều ==> Càng nhanh & chính xác

Có thể dịch tốt khi nói nhiều câu liên tục, độ dài câu dịch lên đến từ 30 giây đến 1 phút (Các thương hiệu khác chỉ dịch được 10-15 giây)

Đặc biệt: Tích hợp Sim Quốc Tế sử dụng trên 84 quốc gia dùng trong 1 năm được gắn sẵn trong máy, giúp Atalk Plus có khả năng dịch trên toàn thế giới mà không cần quan tâm đến internet

Atalk Plus Có Khả Năng Phát Wifi Thay Cho Cục Phát Wifi

Bảo hành chính hãng: 1 đổi 1 trong 12 tháng - Đổi ngay máy mới với bất kỳ lỗi nào

Miễn phí giao hàng: Toàn Quốc

Tìm hiểu thêm: https://mayphiendich.vn
Dùng máy phiên dịch Atalk Giao Tiếp với người nước ngoài
Tags: mayphiendich, maydich, mayphiendichvn, maydichngongu
Published: 2023-04-08 02:34:28

MayPhienDichVN@ Máy Phiên Dịch giọng nói Atalk của bạn sang bất kỳ ngôn ngữ nào bạn muốn, có máy phiên dịch cầm tay bạn có thể thoải mái giao tiếp với người nước ngoài không cần lo ngại vấn đề rào cản ngôn ngữ. 
May Phien Dich VN
Address: 399A Trường Chinh, Phường 14, Quận Tân Bình, Thành Phố Hồ Chí Minh 72112, Hồ Chí Minh, Thành phố Hồ Chí Minh 700000
Phone: 028 6679 9326
Email: mayphiendich.vn@gmail.com
Website: https://mayphiendich.vn/
https://www.google.com/maps?cid=8751613399772111976
AWS E-SEA-TWO?
Tags: ec2, aws, beginners, cloud
Published: 2023-04-08 02:11:27

I have been learning about AWS services and one of the key services to AWS is the EC2 instance! But you cannot learn EC2 without knowing about its other important friends **EBS** and **EFS**!

##What is AWS EC2?
![confused](https://media.giphy.com/media/XQvhpuryrPGnK/giphy.gif)

Have you ever wanted to use a computer that’s not in your house? Maybe you’re on vacation and need to do some work, or maybe you want to play a game with your friends but your computer isn’t fast enough. That’s where AWS EC2 can comes in! 

AWS EC2 (Amazon Web Services Elastic Compute Cloud) is a service that lets you rent computers in the cloud. It’s like renting a computer that you can access from anywhere in the world. You can use it to run your programs, play games or do anything else you would do on a regular computer. ( The “elastic” part of the name refers to the ability to easily scale up or down the number of virtual computers you’re using based on your needs )

Its like renting a movie from Blockbuster back in the day, but instead of renting a movie you're renting a computer. It can get turned on pretty quickly and ready to use within minutes! 
![blockbuster](https://media.giphy.com/media/eBnoTUMk9YNsJCs5OE/giphy.gif)

##What is AWS EBS?

When you rent a computer with AWS EC2, you might want to save some files on it. Maybe you’re working on a project and need to save your work, or maybe you want to download some music to listen to later. That’s where AWS EBS comes in!

AWS EBS (Elastic Block Store) is a service that provides storage for your EC2 instances. It’s like a hard drive that you can attach to your rented computer to store your files. You can choose how much storage you need and only pay for what you use.

Another thing to consider is if your rented computer goes down for any reason, then you still have your storage separate from the EC2 instance computer. So it's as easy as setting up a new one and attaching this storage to the new one and you're good to go! - This decoupled way of managing these services is what makes AWS/cloud powerful!

##What is AWS EFS?

Sometimes, you might want to share files between multiple EC2 instances. Maybe you’re working on a group project and need to share your work with your teammates, or maybe you want to play a game with your friends and need to share the game files. That’s where AWS EFS comes in!

AWS EFS (Elastic File System) is another storage service that lets you share files between multiple EC2 instances. It’s like having a shared folder that all your rented computers can access. You can use it to store and share files with others easily.

The following video is a good rundown of EC2! Its a bit of a tutorial but with explanations throughout the walkthrough!
https://www.youtube.com/watch?v=V2eh-m5naOY

Thanks for reading and follow for more Cloud and Linux articles!

![nodding in agreement](https://media.giphy.com/media/1uC8xfkZRi7Kw/giphy.gif)
Two-player locally-hosted battleships on terminal (Python)
Tags: python, terminal, beginners, programming
Published: 2023-04-08 02:08:21


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

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

I programmed a two-player locally-hosted Battleships board game on terminal in Python for fun. My code mainly utilizes a correspondence between a patch class and a ship class. For each player, there is a board class that manages the player's board. The game class includes the functionality to alternate between player turns, board setup, and checking if a player has won. Players cannot see the other player's board due to the implementation of a done-check and a ready-check for each player. 

Github: 
[https://github.com/muff1n0/battleships-game](https://github.com/muff1n0/battleships-game)
The AI Assistance Paradox: How ChatGPT Helps, But Can Never Replace Human Ingenuity in Programming
Tags: chatgpt, ai, programming
Published: 2023-04-08 02:03:14

Programming is a unique and rewarding field that demands a combination of technical skill and human creativity. Over the years, I have encountered numerous challenges that have required me to rely on the ingenuity of the human spirit to find solutions.

At the same time, I've also seen the emergence of AI tools that can assist programmers in their work. For example, chatbots like ChatGPT can help programmers automate repetitive tasks, generate code snippets, and even offer suggestions for optimizing performance. These tools are incredibly powerful and can save programmers a significant amount of time and effort.

However, despite the impressive capabilities of AI tools like ChatGPT, they will never replace programmers. Programming is not simply about generating code; it's about solving complex problems and finding creative solutions. It requires a deep understanding of the needs and desires of the users, as well as the ability to think outside the box and innovate.

AI tools like ChatGPT lack the human ingenuity and creativity that are essential to programming. They may be able to generate code, but they cannot understand the nuances of human behavior or anticipate the needs and desires of users. They cannot think creatively or come up with innovative solutions to complex problems. In short, they lack the human spirit that is so integral to the programming process.

To illustrate this point, let me share another anecdote from my own experience. I once worked on a project for a healthcare company that required me to develop a custom software solution for their patient management system. The system needed to be fast, responsive, and secure, with robust reporting capabilities that would allow doctors and administrators to easily access and analyze patient data.

To accomplish this, I turned to my trusted tools of the trade: Python, Django, and MySQL. I also utilized a number of AI tools, including natural language processing algorithms, machine learning models, and predictive analytics software.

These tools were incredibly useful in helping me automate certain tasks and generate insights from the patient data. However, they were not enough on their own. I had to rely on my own ingenuity and creativity to design a system that met the specific needs of the healthcare company. I had to understand the needs of the doctors and administrators, anticipate their wants and needs, and create a system that was not only functional but also intuitive and easy to use.

In the end, it was the combination of technical skill and human ingenuity that allowed me to create a successful solution for the healthcare company. And while AI tools like ChatGPT may be able to assist programmers in their work, they will never be able to fully replace the human spirit that is so essential to the programming process.

--

This article was generated by ChatGPT.
Martha x 1517
Tags: funding, 1517, grant
Published: 2023-04-08 00:17:55

Martha AI has received a gracious grant from our friends over at the [1517 Fund](https://1517fund.com), which will allow us to boost our business to new proportions and will allow Martha AI to expand and release a version to the public.

# Who are the 1517 Fund?
The [1517 Fund](https://1517fund.com) is a venture capital fund and community supporting college dropouts, renegade students, and deep tech scientists with investment at the earliest stages of their companies.

# What does this mean for Martha?
Martha, now being adequately funded by 1517, will be able to finally validate our idea and release Martha AI to the public. We're so excited to share this experience with you all and I'm so happy to share this information to you all.

We'll be continuously sharing updates with you all about Martha and our release. Stay tuned.
seo行銷公司
Published: 2023-04-08 00:12:30

您很可能在任何地方都提供了最高質量的網站。 現在是時候享受基於互聯網的流量起飛的那一刻了。 不是這樣嗎？ 並不是那麼快，擁有一個具有一流插圖的吸引人的網站是不夠的。 您的客戶準備好在 Google 或 Hurray 等網絡搜索工具的第一頁定位中在線找到您了嗎？ 您設置了哪些網站精簡系統來增加組織的收入？ 這些是站點增強管理供應商可以處理與您有關的任何後果的問題。 網絡優化組織為您提供最好的技術來升級您的網站和在線形象。
**_[seo行銷公司](https://www.i-connectweb.com/zh-hant/blog/how-to-choose-seo-agency)_**

作為一名企業家，您可能擁有一個不錯的網站，但隨著網絡變得更加殘酷，您需要製定一個完善的營銷計劃。 出色的網站改進管理可以讓您免於“在沒有任何人幫助的情況下自己動手”這一常見做法的偏頭痛，許多業務人員和辦公室主任都參與其中。 為什麼要分散你的努力？ 請記住，基於 Web 的展示系統中的任何故障都可能代價高昂。 根據廣告開拓者和頂級創作者 Bryan 和 Jeffrey Eisenberg 的說法，組織通常會花費 92 美元來吸引客戶訪問他們的網站，但是一旦這些客戶進入您的網站，他們只需花費 1 美元。 要真正了解您的客戶如何在基於 Web 的世界中與您的業務聯繫，強烈建議使用 Web 優化組織的管理。

站點優化管理非常出色。 網站設計改進組織提供的最著名的服務是關鍵字優化和市場調查。 網絡優化組織能夠熟練使用 Google Catchphrase、Wordtracker 和 Market Samurai 等工具來增加您網頁的網站流量，並為您提供隨處可用的最令人難以置信的關鍵詞。 這些是每個企業都應該在非常嚴肅的基於網絡的商業中心建立的基本廣告程序。 網站設計改進公司還提供許多服務，可以幫助您建立富有成效的網絡形象。 他們可以使用第三方參考文章傳輸管理、博客組織和基於網絡的娛樂目的地來連接到您的網頁。 這是一種理想的戒菸購物方式。 這就是為什麼搜索引擎優化管理需要像您這樣時間緊迫、有洞察力的商業遠見者的理由。 基本上跳入基於互聯網的世界以創建網絡流量並將那些預期的客戶轉化為真正的付費忠實客戶，他們傳播有關您的產品或服務的消息需要謹慎的準備和準備。 盡量不要放棄富有成效的敞開大門。 要獲得成功，您需要一個具有創意的 Web 優化組織，該組織具有將您的 Web 流量轉化為收益的信息和能力。 確保他們使用解決您的問題的網站開發優勢。 正如一句耳熟能詳的諺語所說，忽視計劃就是準備失敗。 與搜索引擎優化組織一起為未來做好準備，它可以幫助您成為您專業領域的市場主管。 如今，站點改進管理變得至關重要。 鑑於這一重要性，小型、中型和大型組織正在研究如何挑選這些專業合作社的重要性。 事實證明，對於企業家來說，聯繫他們龐大的人群比最近記憶中的任何時候都更重要。 儘管社區人群很大，但如果他們有吸引普通人群的商品，那麼獲得一部分流量也意義重大。 為了恰當地做到這一點，網絡爬蟲應該能夠感知到它們在網絡上的存在。 如果您屬於此類，那麼在眾多網站優化服務中進行選擇時考慮某些事情對您來說很重要。

以往的經驗
在發揮合理水平的努力時，關注以前的經驗意義重大。 以前的經驗很重要，因為這會讓你了解他們過去提供的服務以及他們在商業中心的有效性。 每當您看到一個看起來非常有名的組織時，關注他們過去的部分工作就意味著很多。 詢問他們以前合作過的部分組織，並驗證他們在查詢項中的知名度。 當您以這種方式獲得滿足時，繼續下一步將是他們提供的捆綁包類型，這將意義重大。

捆綁廣告
大多數專業的網站建設管理部門都會提供範圍廣泛的捆綁包。 這些捆綁包將專門為小型、中型和大型組織製作。 每個捆綁包都會提供特定程度的精簡。 您可以根據組織的特定需要來選擇這些東西。 顯然，您不限於特定的幫助； 儘管如此，您只需要選擇能夠提供您正在尋找的那種改進的東西，或者屬於您組織支出計劃的東西。 同樣，如果您不知道您需要哪種捆綁包，您可以經常與專家合作社交談，了解他們認為最適合您的業務的捆綁包。

因此，只要您清楚地知道要搜索什麼，弄清楚如何選擇站點優化管理就不會是一個麻煩的過程。 通過使用此處提供的數據，您將更好地理解什麼是可訪問的，以及什麼可以適用於您的特定情況。 網絡上還有其他教育文章提供了有關選擇正確網站簡化管理的更多信息。
Kotlin Infix Notation is Confusing
Tags: kotlin, android, beginners
Published: 2023-04-08 00:00:00

**If you see a method call that have space between, it is likely a Kotlin infix notation.**

Whenever I read Kotlin code that has infix notation, it always confuses me. Maybe I should say I still haven't gotten used to it? Honestly, it is just sugar syntax in my opinion.

For example:

```kotlin
val result = 2 plus 3
```

is the same as

```kotlin
val result = 2.plus(3)
```

2 is the `Int` object. `plus()` is the method of `Int`. 3 is `Int` parameter for `Int.plus()`

The `plus()` method definition looks like this. It is an [extension method](https://vtsen.hashnode.dev/complete-c-to-kotlin-syntax-comparisons#heading-extension-methods-functions) of `Int`.

```kotlin
infix fun Int.plus(other: Int): Int {
    return this + other
}
```

Another good example is `plugins` in the **build.gradle.kts** file.

```kotlin
plugins {
    id("com.android.application") version "7.4.2" apply false
}
```

Can you see the spaces between the `version` and `apply`? Yupe, these are the infix functions.

You can rewrite it to

```kotlin
plugins {
    id("com.android.application").version("7.4.2").apply(false)
}
```

These are the function signatures. As you can see, infix notation is used.

```kotlin
infix fun PluginDependencySpec.version(version: String?): PluginDependencySpec = version(version)

infix fun PluginDependencySpec.apply(apply: Boolean): PluginDependencySpec = apply(apply)
```

There are some specific requirements that you must follow to define an infix function:

* **Must be methods/member functions** (functions in a class)
    
* **Must have a single parameter** with **no default value**
    

For details, you can refer to the official doc [here](https://kotlinlang.org/docs/functions.html#infix-notation).

---

*Originally published at [https://vtsen.hashnode.dev](https://vtsen.hashnode.dev/kotlin-infix-notation-is-confusing)*.
WebStorage Apis (part 1)
Published: 2023-04-04 11:44:14

**Web Storage APIs: What are they and how do they work?
**
Web Storage APIs are a set of JavaScript APIs that allow web applications to store and retrieve data locally on a user's browser. This data can be used to provide offline functionality or to improve the performance of a web ``application by caching frequently used resources.

There are two types of Web Storage APIs: localStorage and sessionStorage. Both of these APIs provide a key-value store that can be used to store data on the client-side.

localStorage

localStorage is a persistent storage API, meaning that the data stored using localStorage will persist even after the browser is closed or the computer is restarted. This makes it a good choice for storing data that needs to be accessed across multiple sessions.

To use localStorage, you can simply set a key-value pair using the setItem() method:

`localStorage.setItem('myKey', 'myValue');`

You can then retrieve the value using the getItem() method:

`var myValue = localStorage.getItem('myKey');`

localStorage also provides methods to remove items, clear the entire storage, and get the number of items stored:


```
localStorage.removeItem('myKey');
localStorage.clear();
var itemCount = localStorage.length;
```

sessionStorage

sessionStorage is similar to localStorage, but it is a session-based storage API. This means that the data stored using sessionStorage will only persist for the duration of the browser session. Once the browser is closed, the data is lost.

To use sessionStorage, you can set a key-value pair using the setItem() method, just like with localStorage:

`sessionStorage.setItem('myKey', 'myValue');`

And retrieve the value using the getItem() method:

`var myValue = sessionStorage.getItem('myKey');`

sessionStorage also provides methods to remove items, clear the entire storage, and get the number of items stored:


```
sessionStorage.removeItem('myKey');
sessionStorage.clear();
var itemCount = sessionStorage.length;
```

Conclusion

Web Storage APIs provide a convenient way to store and retrieve data locally on a user's browser. By using these APIs, web applications can provide offline functionality and improve performance by caching frequently used resources. The localStorage API provides persistent storage that lasts across multiple sessions, while the sessionStorage API provides session-based storage that lasts for the duration of a browser session.
GraphQL errors: the Good, the Bad and the Ugly
Tags: graphql, errors
Published: 2023-04-07 23:36:12

<u>Abstract</u>: We, at [Escape](https://escape.tech/), have been using GraphQL for our apps for a long time, before many quality tutorials were available. Because we lacked experience, we made design mistakes on many aspects of our GraphQL API. This article reviews the evolution of how we return errors from our API, for consumption by the frontend and other internal services, emphasizing what could be improved on each step.

👉 Read more directly on our blog: https://escape.tech/blog/graphql-errors-the-good-the-bad-and-the-ugly/

Best,
Antoine
Adventures in SRE.Land
Tags: sre, engineer, beginners, programming
Published: 2023-04-07 23:22:34

Learning to learn the things I didn't know I needed to learn.
I'm a early-career SRE. I was inspired to get into this field by a fascination with the environments around me and building tools to understand an ever changing world. 

Through the course of my first job I've tried to track tools, technologies and concepts that I've come across that are key to being successful in my role. I wanted to break down these ad hoc notes into something more digestible that would serve as many of my favorite resources do, to be 'the resource I wish I had when I was learning this'. I hope you find this to be an accurate description as these posts come out and welcome feedback and insights from your own experiences. 

`commit -m`