teleren/devto huggingface dataset:
What if we can't afford to hire an expert?
Tags: hiring, startup, devops, softwaredevelopment
Published: 2021-11-02 12:01:50

---
title: What if we can't afford to hire an expert?
published: true
date: 2021-10-24 00:00:00 UTC
tags: hiring,startup,devops,softwaredevelopment
canonical_url: https://jhall.io/archive/2021/10/24/what-if-we-cant-afford-to-hire-an-expert/
---

I recently made the case that early-stage startups should [hire seniors](https://jhall.io/archive/2021/10/21/who-to-hire-first-a-senior-or-junior/) for business-critical roles.

But this sometimes leads to a Catch-22. Startups often have the least money they can spend on hiring top-notch talent. You need talent to build a successful business. But you need to have a successful business to afford the talent.

What can you do?

Let’s discuss the things you hope to get out of your expert would-be hire, if you could afford them:

1. You want someone to “do” things: build software, configure servers, design an automated-test platform, etc
2. You want someone who “knows” things: how not to expose customer credit card numbers to the world, how to design a system that will scale as your business grows, etc.

In a perfect world, you would hire an expert who checks both boxes. Such experts are expensive, but well worth it, because they “do” things you need and they “know” how to do them well. They’re also usually very fast, to boot, so even though they may cost more per hour, they often cost less per unit of output.

But recognizing and acknowleding the value such an expert would provide doesn’t suddenly make the money appear in your bank account.

So this is when you can “[moneyball](https://en.wikipedia.org/wiki/Moneyball) it”: Hire an expert who “knows” the important things, on a limited, part-time or retainer basis. Then hire a less experienced, and therefore cheaper, person to handle the “doing”, with the limited oversight of the expert.

One approach that seems to be gaining in popularity is the hiring of a [fractional CTO](https://www.google.com/search?q=fractional+cto). But there are other approaches, too. A simple approach is just to find a part-time freelance expert on an hourly basis. There are also cosultants (like [me!](https://jhall.io/products)) who are available for ongoing advice on a regular basis.

With this part-time, fractional, or advisory person on board, they can then help you fill the “doer” role. Get their help to define the job role(s) and description(s), and help with the technical interview and final selection. Use them for what they know, to help select those who do.

* * *
_If you enjoyed this message, [subscribe](https://jhall.io/daily) to <u>The Daily Commit</u> to get future messages to your inbox._
Enable CSD in GNOME Terminal
Tags: gnome, terminal, csd
Published: 2022-09-17 14:34:04

---
title: Enable CSD in GNOME Terminal
published: true
date: 2021-10-24 00:00:00 UTC
tags: gnome, terminal, csd
canonical_url: https://kalnytskyi.com/posts/gnome-terminal-csd/
---

Client-side decoration ([CSD](https://wiki.gnome.org/Initiatives/CSD)) is the concept of allowing a graphical application software to be responsible for drawing its own window decorations, historically the responsibility of the window manager. GNOME applications is slowly migrating to client-side decoration. While some applications use CSD by default, others draw them only while running in GNOME session.

![gnome-terminal with csd](https://kalnytskyi.com/posts/gnome-terminal-csd/headerbar.png)

Unfortunately, CSD is not used by GNOME Terminal if you launch it outside of GNOME session. Fortunately, there's a configuration option you can use to explicitly enable it. In order to do that just run the following command in your terminal:

```
$ gsettings set org.gnome.Terminal.Legacy.Settings headerbar true
```

The setting won't be applied as long as there's a running copy of`gnome-terminal-server` process. You have to terminate it and restart the terminal.

The configuration option is tested with `gnome-terminal 3.40`. It might or might not work with other versions.
Azure Functions University - HTTP Lesson (PowerShell via Portal)
Tags: azure, serverless, programming, powershell
Published: 2022-03-16 21:34:39

---
title: Azure Functions University - HTTP Lesson (PowerShell via Portal)
published: true
date: 2021-10-24 00:00:00 UTC
tags: azure, serverless, programming, powershell
canonical_url: https://blog.marcduiker.nl/2021/10/24/azfuncuni-http-lesson-powershell-portal.html
series: Azure Functions University
---

![Http Lesson PowerShell](https://blog.marcduiker.nl/assets/2021/10/24/AzureFunctionsUniversity_HTTP_Lesson_PowerShell.png)

Hi serverless friends, we have a new Azure Functions University lesson for you! In this lesson we will learn how to use the HTTP trigger in PowerShell Azure Functions in the Azure Portal.

<!--more-->
## Lesson

You can find the lesson on GitHub: [HTTP Trigger (PowerShell via the Azure Portal)](https://github.com/marcduiker/azure-functions-university/blob/main/lessons/PowerShell/http/http-lesson-powershell-portal.md).

And you can watch the video on YouTube:
{% youtube w0FcA7Prnjk %}

The lesson consists of the following exercises:

| Nr | Exercise |
| --- | --- |
| 0 | Prerequisites |
| 1 | Creating a Function App |
| 2 | Take a tour of the interface |
| 3 | Creating your first Function |
| 4 | Changing the template for GET requests |
| 5 | Changing the template for POST requests |
| 6 | Changing the name of the Request parameter |
| 7 | Change the route for a custom greeting |
| 8 | Homework |
1 line of code: How to count all occurrences in an Array
Tags: javascript, webdev, productivity, codequality
Published: 2021-10-23 23:35:17

```javascript
const occurrenceMap = arr => arr.reduce((acc, current) => (acc[current] = (acc[current] || 0) + 1, acc), {}); 
``` 

Returns an object where the keys are the array entries and the values the number of their occurrences.


---

## The repository & npm package

You can find the all the utility functions from this series at [github.com/martinkr/onelinecode](https://github.com/martinkr/onelinecode)
The library is also published to [npm as @onelinecode](https://www.npmjs.com/package/@onelinecode/onelinecode) for your convenience.

The code and the npm package will be updated every time I publish a new article.

---

Follow me on [Twitter: @martinkr](http://twitter.com/_martinkr) and consider to [buy me a coffee](https://www.buymeacoffee.com/martinkr)

Photo by [zoo_monkey](https://unsplash.com/@zoo_monkey) on [Unsplash](https://unsplash.com/s/photos/fuji)

---
Experimenting with HTTP/3 — How the Next Gen Web is being built on UDP
Tags: http3, web, webdev, networking
Published: 2022-02-08 00:46:15

---
title: Experimenting with HTTP/3 — How the Next Gen Web is being built on UDP
published: true
date: 2021-10-23 23:32:57 UTC
tags: http3,web,webdevelopment,networking
canonical_url: https://blog.insiderattack.net/experimenting-with-http-3-how-the-next-gen-web-is-being-built-on-udp-ba01cb88a495
---

[![](https://cdn-images-1.medium.com/max/2600/1*Da2fCrxCSz11y4FT2aGo7A.jpeg)](https://blog.insiderattack.net/experimenting-with-http-3-how-the-next-gen-web-is-being-built-on-udp-ba01cb88a495?source=rss----57f0c4748c10---4)

HTTP3 is fundamentally different from its predecessors we knew. It ditches TCP and is built upon a novel UDP based protocol, QUIC.

[Continue reading on Deepal’s Blog »](https://blog.insiderattack.net/experimenting-with-http-3-how-the-next-gen-web-is-being-built-on-udp-ba01cb88a495?source=rss----57f0c4748c10---4)
How to do conditional execution in Bash
Tags: bash, linux
Published: 2021-10-23 23:26:02

---
title: How to do conditional execution in Bash
published: true
date: 2021-10-23 23:15:14 UTC
tags: Bash,Linux
canonical_url: https://donaldfeury.xyz/how-to-do-conditional-execution-in-bash/
series: Small Bytes of Bash
---

 ![How to do conditional execution in Bash](https://images.unsplash.com/photo-1607877361964-bf792b65e593?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDF8fHpzaHxlbnwwfHx8fDE2MzUwMzA3ODQ&ixlib=rb-1.2.1&q=80&w=2000)

In Bash scripts, any command following a `&&` will only execute if the previous conditional or command succeeded (returned 0)

The following script will only print out the variable if the conditional succeeds:

```
[[-z "$1"]] && echo "$1"

```

On the other hand, any command following a `||` will only execute if the previous conditional or command failed (returned a non zero)

The following script will only print out the variable if the conditional fails:

```
[[-z "$1"]] || echo "$1"

```

### Related

- [Posts about Bash](https://donaldfeury.xyz/tag/bash)

* * *

Did you find this information useful? If so, consider heading over to my [donation](https://donaldfeury.xyz/donate/) page and drop me some support.

Want to ask a question or just chat? Contact me [here](https://donaldfeury.xyz/contact)
Porque o modelo de ciclo de vida em espiral é considerado um modelo para processos de software evolucionário?
Tags: braziliandevs, programming, software, engineering
Published: 2021-10-23 22:31:34

<p> Os outros modelos de ciclo de vida tendem a não ser flexíveis a mudanças e seguir um trajeto do inicio ao fim do projeto, seguindo uma sequencia de passos para obter, apenas e somente, um objetivo que foi definido no planejamento. </p>

<p> O modelo de ciclo de vida em espiral é considerado um modelo evolucionário porque ele é flexível à mudanças, e é facilmente manuseável de acordo com os pedidos do cliente. </p>

<p> O modelo espiral permite que o projeto possa ser modificado conforme interesse do cliente, seja incrementando ou decrementando funcionalidades ou alterando a interface. </p>
Leetcode libraries and apps during Hacktoberfest 2021
Tags: hacktoberfest, python
Published: 2021-10-23 22:01:08

### About me
I work at Facebook as an SRE for a couple of years already.

Before joining FB I (as many others) was grinding leetcode. But unlike others I didn't give up leetcode after passing the interview. It became kind of a hobby to me. I'm still doing that and I solved almost 800 problems by this moment.

### Background

I'm not new to open-source. I've been in the industry for more than 10 years, and have quite a few small opensource contributions already.

### Progress and contributions
I made
* A swagger file describing leetcode API [https://github.com/prius/leetcode-swagger](https://github.com/prius/leetcode-swagger)
* A python library to work with leetcode API [https://github.com/prius/python-leetcode](https://github.com/prius/python-leetcode)
* (the most popular project) An **Anki flashcards generator** that uses the leetcode API client [https://github.com/prius/leetcode-anki](https://github.com/prius/leetcode-anki)
* A website that analyses your leetcode activity and suggests you the next problem to solve [https://avid-life-90820.appspot.com/](https://avid-life-90820.appspot.com/) (and the source code [https://github.com/prius/grind-helper](https://github.com/prius/grind-helper))

### Reflections
It was quite fun, and some of the projects actually became kind of popular (like anki flashcards generator). People are reporting problems and sending pull requests. It motivates me to keep going and improve what's already done.
Priority Queue
Tags: beginners
Published: 2021-10-23 21:03:17

Priority Queue is an upgraded version of the data structure queue. Queue is a simple data structure which follows a simple First In First Out (FIFO) rule in order to perform operations on its elements.

![A basic queue](https://www.codingeek.com/wp-content/uploads/2016/09/queuePQ.png)

Whereas Priority Queue as the name suggests performs different operations on the elements based on the priority. Sometimes when the elements of the queue need to be processed according to the priority, that’s when the Priority Queue comes into play.

The Priority Queue is based on the priority heap. The elements of the priority queue are ordered according to the natural ordering, or by a Comparator provided at queue construction time, depending on which constructor is used.  

##Few key points to remember: 
1. Priority Queue doesn’t permit null.
2. We can’t create Priority Queue of Objects that are non- 
   comparable
3. Priority Queue are unbound queues.
4. The queue retrieval operations poll,  remove,  peek, and 
   element access the element at the head of the queue.
5. It provides O(log(n)) time for add and poll methods.

## Syntax for creating priority queue:
1. PriorityQueue(): Creates a PriorityQueue with the default initial capacity (11) that orders its elements according to their natural ordering.
2. PriorityQueue(Collection<E> c): Creates a PriorityQueue containing the elements in the specified collection.

## Applications of Priority Queue:
1. CPU Scheduling
2. Graph algorithms like Dijkstra’s shortest path algorithm, 
   Prim’s Minimum Spanning Tree.
3. All queue applications where priority is involved.
Vscode is finally available in the browser
Tags: vscode
Published: 2021-10-23 20:50:15

A web-based and lightweight version of vscode is now accessible via the web, all you have to do is go to the link  [https://vscode.dev](https://vscode.dev),  and you will be presented with an instance of vs code.

![vscode-dev.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1634918453125/9MCnDzu0Z.png)

and to make it even better, sync it (i.e. syncing settings, themes, key bindings, ...etc) with the vscode in your local machine by activating "Settings Sync" and connecting it with either your Microsoft or Github account.

that's it, enjooooy 

Source:  [vscode.dev](https://code.visualstudio.com/blogs/2021/10/20/vscode-dev#_bringing-vs-code-to-the-browser)
The css chrome dev tool you didnt know of
Tags: css, webdev, beginners, productivity
Published: 2021-10-23 20:39:17

Did you know that chrome dev tools has a css overview panel to identify flaws inside your css?

### Edit:
You may first need to enable that feature because its an experimental feature. 
* First open your Dev-Tools settings(the ⚙️ on the right or Press F1)
* Go to Experimental
* here you should find the checkbox "CSS Overview"
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m73xg657nelzgavrlqjx.png)
 

You can find it when you open your dev-tools in chrome (F12) and than **More options**()   **More**   > **More tools** > **CSS Overview**.

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

Here you can get an high level overview of you page's css

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

In the **colors** section you can see all the colors you used and it even indicates bad contrasts in your css.

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

I hope you learned something just as i did =)

✅ If you liked this post, you may like 
my  🏠 [blog](https://www.harun-sevinc.com) or even want to
connect 💬 on [twitter](https://twitter.com/harsvnc) 📢 for more information about building web applications or saas development or 💻 software development in general.
Building a Web Component 
Published: 2021-10-11 02:52:29

I am currently a student at Penn State taking IST 402 and as part of the class, we have 3 major projects.  Our first project was creating a button. Now as part of the 2nd project, we are creating a card. I think we will be putting the button that we previously made, onto that card. Which I think will be really cool. We have started with some base code provided to us by our professor and it is just a basic card set up that looks like a learning tool.  

**Break Down**

The card has multiple elements, these elements are emphasized icon, banner/header, scaffolding of card, and the whole card. These are going to be the different pieces that must be put in place to create an organized card that looks appealing.  My group and I will have to tackle each of these pieces individually then bring them together as one.  We are also going to have to choose which direction we want to go with splitting up the tasks as well as which order we achieve these tasks. 

**Possible Difficulties**

I think the biggest difficulty will be my groups inexperience. None of us have a ton of experience working with JavaScript or HTML. We are going to have to do a lot of CSS styling and are learning as we go.  I think the first project that we completed helped us get our feet wet with CSS styling so we will have to keep moving from there. I think we can really work through our difficulties by just being organized with our process and asking questions.  

**Manageable Pieces from Last Project**

Like I said, thankfully my group and I have been able to learn a lot from creating a button in our previous assignment.  We are able to look how we used CSS styling in our button and see which parts of that we could use as part of our card.  We can also just use the basic formatting that we learned to use from our button.  Not only layout of the button, but basic layout of coding in JavaScript and HTML. I was able to see the correct way to set up a project and that is something I will definitely be referring back to as I move forward with this project.

Current Repo: https://github.com/PaddysHub/project-two.git
Media Queries - CSS
Tags: css, webdev, vscode
Published: 2021-10-23 20:23:45

## What is a media-query?

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8q00zfkx5057w72kccf5.jpg)

A Media Query is a CSS Technique that uses a @media and @import at-rules which helps in invoking CSS properties inside a block only if the desired condition is true for various device resolutions.

Ex: 

```css
@media only screen and (max-width: 600px) {
  body {
    background-color: lightyellow;
  }
}
```

#Adding breakpoints..

Breakpoints help in eliminating clutter of rows and columns made in a web page. It was responsive but it wasn't made for a smaller screen with a lower resolution like Mobile Phones, Tablets, etc.

Ex: 

```css
@media (max-width: 768px) { 
  html {
   color: gray;
   font-size: 1rem;
  }
}

```

#Improving the compatibility with outdated or older browsers

Certain browsers don't support media queries and the applied media features like styling does not get implemented. The example being displayed below has no effects on modern browsers.


```css
@media only screen and (max-width: 600px) {
  body {
    background-color: lightblue;
  }
}
```
#Are media queries really that important?

Media queries have always been a powerful tool and is being used widely as a CSS Toolbox with great power. Accomodating a design to every possible situation will lead to complexity to maintain. Having a universal design on the web is pretty hard and it almost sounds non existent. 

Therefore, media queries play an important role in responsive web designing as they allow us to create various layouts with accurate spacing and clarity with no clutter depending on the viewport’s size. Media queries can also be used to detect the users environment the site is being run for example if the user is using a touchscreen or a joystick other than a mouse to navigate on a website.
To all the devs with crazy ideas . . .
Published: 2021-10-23 20:04:12

**Git Commit Show #season03 on 27th & 28th November, 2021**. To all the developers with crazy ideas, amazing breakthroughs! Git Commit Show is inviting you guys to showcase your breakthrough project ideas on web, robotics, automation, ml, etc. Giving a platform for those crazy ideas, that can impact a wider audience. Last two seasons we had some amazing projects home cleaner robot, 3D mouse and what not! 
So this is the [link](http://push.gitcommit.show/) to fill the form, the whole team at Git Commit Show would like to help you with your idea! Let's have you there! And meanwhile for any further discussions join our [discord](https://discord.gg/JFWP8c2gPG).
See you there! 👋
Our Website [gitcommit.show](https://gitcommit.show/)
Linux Sistemlerde Bir Kullanıcıya Root Yetkisi Verme

Tags: linux
Published: 2021-10-23 18:46:44


Merhabalar, bu yazıda Linux sistemlerde yeni bir kullanıcı oluşturmayı, oluşturduğumuz kullanıcıya şifre atamayı, root yetkisi vermeyi ve yetkilerini görüntülemeyi inceleyeceğiz. İyi okumalar :)
### Yeni Kullanıcı Oluşturma

Yeni bir kullanıcı oluşturmak için;
```sh
sudo useradd <username>
``` 
komutu kullanılır.

![1.JPG](https://www.dropbox.com/s/h1gcdvu3gp6bvzv/1.JPG?dl=0&raw=1)
### Kullanıcıya Şifre Atama
Oluşturulan kullanıcıya şifre atamak için;
```sh
sudo passwd <username>
``` 
komutu kullanılır.

![2.JPG](https://www.dropbox.com/s/6uffpwbb0v98m40/2.JPG?dl=0&raw=1)

### Kullanıcıya Root Yetkisi Verme

Tüm kullanıcıların görüntüleyebileceği dosyalar, çalıştırabileceği komutlar olduğu gibi sadece root yetkisine sahip kullanıcıların görüntüleyebileceği dosyalar ve çalıştırabileceği komutlar da vardır.
 
 > Oluşturduğumuz kullanıcıya, 
 su username
 diyerek giriş yapalım.
 Root hesabına geçiş yapmak için, 
       sudo -i
 komutunu çalıştıralım.
 ![5.JPG](https://www.dropbox.com/s/4dk0b52pq4z41uw/5.JPG?dl=0&raw=1)
 sudoers dosyası içinde bulunmayan bir kullanıcı olduğumuz için talebimiz reddedildi.
 
Bir kullanıcı root yetkisine sahip olduğunda istediği bütün işlemleri gerçekleştirebilir. Sistemi daha esnek ve güvenli kullanmak için root yetkisi verirken dikkatli olmalıyız. Root yetkisine sahip kullanıcıları;
>cat /etc/sudoers

dosyası altında görüntüleyebiliriz.

Bu dosyayı düzenlemek için ;

```sh
sudo visudo 
``` 
komutu kullanılır.

![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h1i2asxzcm0lhwxnhcuk.JPG)
 
 

Komutu çalıştırıp, rootun bulunduğu kısmın altına, 
```sh
<username> ALL=(ALL)    ALL
``` 
satırını ekleyerek kendi kullanıcımıza bütün izinleri vererek, kullanıcımıza root yetkisi vermiş oluruz.

 ![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9os74d2laj17xmc105ps.JPG)
 
 
### Kullanıcı Yetkilerini Görüntüleme
Bir kullanıcının hangi yetkilere sahip olduğunu görmek için; 
> sudo -l 

komutu kullanılır.

![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dwqteot921dik5yyj8nt.JPG)
bml - a cute, compact markup language.
Tags: python, rply
Published: 2021-10-23 19:10:44

BML is a sweet markup language that compiles to minified HTML.  


# Example

Input in BML:

###### Updated 10/24/21 in accordance with commit #c698b56
```
`body` {
    `div align="center"` {
        `h1` {
            `Hello, World!`
        //}
        `br` { \\}
        `h2` {
            `It's BML time!`
        //}
    //}
//}
```

HTML output from [BMLCC](https://github.com/ProjectBML/bml/blob/master/bmlcc.py)

```html
<body><div align="center"><h1>Hello, World!</h1><br><h2>It's BML time!</h2></div></body>
```

### See? That's pretty cool syntax.

# Where do I get it?
[GitHub](https://github.com/ProjectBML/bml)

# How do I use it?
[Table of Contents - Tutorials](https://github.com/ProjectBML/bml#tutorials)
Community Call with Typesense Maintainers, Jason Bosch and Kishore Nallan
Tags: opensource, devops, webdev, developers
Published: 2021-10-23 19:09:33

Hey Open-Source enthusiasts,

Join Aviyel and Typesense for a community roadmap call on October 25 at 8:30 AM PST | 11:30 EST. The host Jason and Kishore will run the community through Typesense’s goals for the next quarter, and glimpses on version updates they are planning to launch shortly.

Team Aviyel will join the community by showcasing easy implementation of Typesense on Aviyel and live deployment of the open-source search engine. The hosts will conclude the call with an exclusive Q&A with the maintainers along with tips on getting started with open source.

To register for the event, tap here 👉 [Join](https://bit.ly/3EpdYDp) 

Let’s talk community, Typesense, open-source, and Aviyel!

See you there!