teleren/devto huggingface dataset:
The Art of Community Building
Tags: community, productivity, management, podcast
Published: 2023-04-07 22:00:00

What does building an engaged community really mean for your business?

When we look at a company like Postman with over 20 million active users and one of the most passionate groups of evangelizers in tech, we find that Postman's story is really a story of community success. In fact, after product-market fit, community has become a must-have for any startup looking to survive.  But community building is a tricky thing, so where and how do you start?

On this week's episode of Dev Interrupted, listen as Joyce Lin, Head of Developer Relations at Postman, shares the secrets and behind-the-scenes lessons learned from building one of the most successful communities in tech. Joyce is also an expert TikToker, diving into its algorithm, its relevance for developers, and whether or not engineering leaders should devote attention to building a community on the platform.

{% spotify spotify:episode:6gkyFTtNlGYH5tMUkWc7Yl %}

## Episode Highlights:
* (1:53) APIs are "table stakes"
* (7:29) How Postman's founders approach community
* (14:26) Day-to-day community building
* (17:03) Not mistakes, lessons learned
* (20:34) The rise of TikTok
* (25:21) It takes 70 posts to find your niche
* (26:36) Joyce's community building advice

***While you’re here, check out this video from our [YouTube channel](https://www.youtube.com/c/DevInterrupted?sub_confirmation=1), and be sure to like and [subscribe](https://www.youtube.com/c/DevInterrupted?sub_confirmation=1) when you do!*** 

{% youtube 9nJ8OdYpYsc %}

### Want to cut code-review time by up to 40%? Add estimated review time to pull requests automatically!
*gitStream is the free dev tool from LinearB that eliminates the No. 1 bottleneck in your team’s workflow: pull requests and code reviews. After reviewing the work of 2,000 dev teams, LinearB’s engineers and data scientists found that pickup times and code review were lasting 4 to 5 days longer than they should be.* 

*The good news is that they found these delays could be eliminated largely by adding estimated review time to pull requests!*

### Learn more about how gitStream is making coding better [HERE](https://linearb.io/blog/why-estimated-review-time-improves-pull-requests-and-reduces-cycle-time/?utm_source=Substack%2FMedium%2FDev.to&utm_medium=referral&utm_campaign=gitStream%20-%20Referral%20-%20Distribution%20Footers).

![Start using gitstream today!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xg1l6hxt134px501bf7d.png)
🎉 Excited to Join DEV Community as a Moderator
Tags: community, motivation, news
Published: 2023-04-07 21:59:59

###❤️ Proud to Be a Part of DEV Community as Tag Moderator.

I am thrilled to be given the opportunity to contribute to such an amazing community 🤗. As a tag moderator, I will work hard to maintain the quality of posts on #aws #cloud #devops #virtualmachine #kubernetes and ensure that it remains a valuable resource for everyone 🚀.

The role of a tag moderator is essential in keeping the community thriving, and I am committed to upholding the high standards with integrity and diligence 👍. I look forward to collaborating with the DEV Community Team and the other tag moderators to achieve this goal 💪.

I am excited about the potential for learning and growth that comes with this role, and I am grateful for the opportunity to be a part of this dynamic community 🔥. I am confident that I will be able to contribute significantly to the success of #aws #cloud #devops #virtualmachine #kubernetes and the DEV Community as a whole.

Once again, thank you for this opportunity, and I am looking forward to working with you 🤝.



```
Code never lies, comments sometimes do. 😉
```
---
@bhatnagargargee
Day 731 : April
Tags: hiphop, code, coding, lifelongdev
Published: 2023-04-07 21:39:38

_liner notes_:
- Professional : So... I was making some pretty good progress with my proof of concept project. I would publish the updates I made to a Web Component while I was integrating it into the project. Then I would install the Web Component into the project to make sure it worked. Once it worked, I would move on to another Web Component and repeat. I made it to the last one but ran into an issue. Took me a long time to figure it out. It wasn't until I put in a console.log and it didn't show up. That's when it hit me that I needed to shutdown the server and start it back up again. I thought it was pulling from the node modules folder every time I made a change and it would refresh. Now I know. haha. Took a lot longer than I thought, but hey that's development.

- Personal : Last night, I went through Bandcamp to see what projects I would pick up today because it's the first Friday of April and artists make more off each sale. I also worked on the layout of the details section of my side project. Got pretty far. Then I ended the night watching the first episode for season 3 of "Dr. Stone".

![A canoe on the water between an opening in some reeds that lead to open water with a field on the other shore.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d9ogzclwywpvgn0rkret.jpg)

Going to go through tracks for the radio show. I've been slipping because I let my lead on future tracks go down. So know I'm going to work on building it back up. It was good while it lasted. haha For my side project, I want to get the info card to show up on the details page when clicked. Maybe I'll check out "Swarm" tonight before bed.

Have a great night and weekend!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube 9Lq6KSPcdiY %}
Offshore Myth #1
Published: 2023-04-07 21:21:22

On one website, I find this words:"Partnering with an offshore development company completely eliminates the costs of hiring in-house staff while providing the same or better benefits." I think it's not true!

I must say that this statement is not entirely accurate. While partnering with an offshore development company can indeed reduce the cost of hiring in-house staff, it does not eliminate it entirely.

Offshore development companies do offer cost-effective solutions compared to in-house staff, but there are other factors that need to be considered before making a decision. For example, language and cultural barriers can arise when working with an offshore team, which may lead to misunderstandings and delays in project delivery. _Try to hire people from Asia, if you are US/EU citizen. _

Additionally, managing a remote team can be challenging and requires strong communication and project management skills.

Furthermore, while offshore development companies may provide benefits such as access to a larger pool of talent, specialized expertise, and flexible pricing models, it is essential to carefully evaluate the quality of work they produce and ensure that they meet your project requirements and standards. _Otherwise, there would not be so many failure stories on the market. _

**In conclusion**, partnering with an offshore development company can offer cost-effective solutions and benefits, but it is important to carefully evaluate the pros and cons before making a decision. It's also important to understand that completely eliminating in-house staff may not always be the best approach and that a combination of in-house and offshore development may be the most suitable solution for your organization.
長輩 禮物
Published: 2023-04-07 20:23:29

拿出檸檬水和臭蟲評論家，因為夏天快到了。 在那些酷熱的日子和溫暖的夏日夜晚花時間放鬆和欣賞生活是當今喧囂喧囂的必然要求。 假設您是鳥類的寵兒，這可能意味著回到家，坐在院子裡，坐在鬱鬱蔥蔥的綠色苗圃上方，看著鳥兒跳躍嬉戲。 我們中的很多人都非常相似，我們在我們的托兒所裡設置了棲息空間，試圖說服一個有墊子的家庭搬回家，但沒有任何結果。 有一些基本的東西會阻止鳥兒在你的棲息地安頓下來。 它們可能看起來很基本，但我們中的很多人都忽略了這些關鍵組件。
**_[長輩 禮物](https://blog.jofulove.com/give-the-elders-a-special-gift-during-the-chinese-new-year/)_**

首先，要讓鳥兒把你的托兒所當成家，它們需要持續的水儲備。 這可以是湖泊、溪流，也可以是像在育兒室裡放一個水盆一樣基本的東西。 保持水盆裡的水是新的，否則他們可能需要搬走。 鳥類會在水源豐富且距離不太遠的地方定居。

其次，為了增加機會，您可以為它們提供靠近棲息空間的食物來源，因為這會讓它們想要更多，並最終將您的貢獻帶回家。 確保食物來源不會被松鼠、老鼠或其他可能吃掉食物並驚動小動物的生物弄到。 有許多商家為您的托兒所出售松鼠證據餵鳥器，它們的功能非常好。

第三，也是普遍重要的是，嘗試將鳥舍放置在幾乎沒有人來往且免受所有獵人攻擊的空間。 這是最重要的，因為鳥類需要真正的安全感，並且如果房子被兒童遊戲裝置或人行道掛在天天走動的人行道上，可能性很小 鳥兒不會有很好的安全感而繼續前行。 確保普通獵人無法像貓科動物、蛇或您空間中的其他普通獵人那樣進入房屋。

最後，面向鳥籠，背部迎風。 例如，假設微風經常從西方吹來，您需要將其設置為入口指向東方。 這將使鳥類在下雨時保持乾燥，並讓它們在那些較涼爽的春天晚上保持溫暖。 請將鳥類圍欄設置在您家與微風軸承相反的一側。

嘗試這些直截了當的技巧，您將獲得非凡的成果。 Recollect 鳥類需要像我們一樣有很好的安心感和安全感。 假設周圍有食物水和安全設施，它們會很高興地搬進您的育苗區。
Embracing Technology Without Losing Your Sanity: The Fallacy of the '100 AI Tools' Hype
Tags: ai, hype, chatgpt, developers
Published: 2023-04-07 20:59:43

In today's fast-paced world, technology is advancing at a breakneck speed. The hype around AI has led to the misconception that there are hundreds of AI tools that can make you a _10x developer_. However, the reality is that only a handful of AI models, such as GPT and Bard, are truly groundbreaking, while the majority of other tools are simply _a layer_ over the OpenAI API.

It's important not to let the hype and fear of missing out (FOMO) drive you into chaos and madness. Instead, you should embrace the flow of technology as you always have, keeping up with the latest developments, but not letting it consume you. In fact, finding a balance between technology and self-care is crucial for maintaining a healthy work-life balance.

As quoted by author Arianna Huffington, 

> "We think, mistakenly, that success is the result of the amount of time we put in at work, instead of the quality of time we put in."

It's important to remember that your worth is not solely defined by your productivity or output, and that taking care of your mental and physical health is just as important as working hard.

One way to achieve this balance is by setting boundaries with technology. As quoted by digital well-being expert Cal Newport,
> "To simply wait and be bored has become a novel experience in modern life, but from the perspective of concentration training, it's incredibly valuable."

This means taking time to disconnect from screens, engage in real-world interactions, and find hobbies and activities that bring you joy.

It's also important to remember that you don't need to _outperform_ AI, but rather use it to your advantage. As quoted by author and productivity expert Tim Ferriss,
> "The goal is not to be perfect by the end. The goal is to be better today."

This means focusing on developing your skills, competing with other beings, and finding ways to leverage technology to enhance your work and personal life.

In summary, while technology has brought many benefits and opportunities, it's important not to lose sight of our self-worth and the importance of finding a balance between technology and self-care. Embrace technology, but don't let it consume you. Use it to your advantage, but remember that your worth is not solely defined by your productivity or output. Find a balance, set boundaries, and focus on developing your skills and enhancing your personal and professional life.
O que é o Nginx?
Tags: programming, nginx
Published: 2023-04-07 20:59:33

## O que é o Nginx?

O Nginx inicialmente foi construído para ser usado como servidor web, em resposta a um problema chamado C10K, esse problema era gerenciar 10 mil conexões simultâneas. Todavia, dado o desempenho ao longo do tempo, a ferramenta foi aumentando as funcionalidades, atuando hoje como: webserver, load balancer, proxy reverso, media streaming, além de proxy para serviços de e-mail.

## Como ele funciona?
Hoje o Nginx é um dos servidores mais seguros e escaláveis por usar conexão orientada a eventos e assíncrona. E o que isso significa?

Ele usa o funcionamento de single thread para as requisições recebidas, explicarei logo abaixo, de maneira que pouca memória é necessária.

Ok, mas o que é a single thread?
Analise a imagem abaixo, o nginx possui uma fila de processos, chamada _Thread Master_, essa por sua vez gerencia os _workers_, que são os responsáveis por de fato executar a tarefas, onde cada um é alocado em núcleos de processamentos da máquina.

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

Agora que entendemos as divisões de tarefas dos núcleos, precisamos entender o porquê do nginx ser assíncrono e orientado a eventos. Veja bem, imagine um servidor que recebe 100 requisições por segundo, onde o tempo de resposta varie e não sabemos ao certo quando o processamento irá ser finalizado. Nesse cenário, não podemos travar o servidor, impedindo que ele receba novas requisições, logo, enquanto uma tarefa X aguarda resposta, outras são resolvidas simultaneamente. Note que aqui encontramos mais uma característica do server, ele não faz com que uma tarefa seja bloqueada em detrimento de outra, há uma reorientação de recursos enquanto aguarda resposta, isso é possível porque é criado um canal de escuta que avisará quando tudo estiver concluído, sendo assim, orientado a eventos.

Você pode ler um pouco mais sobre isso [aqui](https://www.nginx.com/blog/inside-nginx-how-we-designed-for-performance-scale/).
How The Fuck Did We Get Here?
Tags: programming, opensource, webdev, frontend
Published: 2023-05-16 11:00:12

---
title: How The Fuck Did We Get Here?
published: true
date: 2023-04-07 20:51:06 UTC
tags: programming,opensource,webdev,frontenddevelopment
canonical_url: https://fagnerbrack.com/how-the-fuck-did-we-get-here-b9bac6ba7a0f
---

#### A small rant on the "modern" front-end

(This was supposed to be a text post on /r/programming, but I can’t create a text post there, so I thought about posting here to share the link)

![](https://cdn-images-1.medium.com/max/767/1*NoxWIJjx8EDXBHg0FdRWuw.jpeg)
_Part of a popular xkcd everyone already knows because I needed some cover image for the thumbnail_

Ok, let's talk about a seriously big deal now. I'm writing this at 6AM AEDT without sleep; sorry for the grammar.

More than a decade ago, I authored what today has become [one of the top heavily relied upon Open Source libraries](https://github.com/js-cookie/js-cookie) in the world which is co-maintained with [Klaus Hartl](https://medium.com/u/8de1791147b8), the original maintainer of [jquery-cookie](https://github.com/carhartl/jquery-cookie). To put into perspective, on the day I’m writing this, [js-cookie](https://github.com/js-cookie/js-cookie) is more than 14 years old; it has more than [6.1 million downloads](https://www.npmjs.com/package/js-cookie) per week on NPM (jQuery has [5.9M/week](https://www.npmjs.com/package/jquery)). It has more than [22 BILLION downloads](https://www.jsdelivr.com/package/npm/js-cookie) every year in jsDelivr and growing. It’s included by more than [2.2 million](https://webtechsurvey.com/technology/js-cookie) websites on the internet. [Its Github repository](https://github.com/js-cookie/js-cookie) receives more than 22 thousand UNIQUE visits per month, and more than [7 thousand other packages on NPM](https://www.npmjs.com/package/js-cookie?activeTab=dependents), including [half a million repositories on Github](https://github.com/js-cookie/js-cookie/network/dependents), depend on it.

That’s not the big deal I’m talking about.

The big deal I’m talking about is that the library weighs **800 bytes** , uses only JavaScript and hasn’t had any fundamental API change in the last 7 years.

Today, I updated one NPM package of an app I created last year. The number of broken packages that don’t adapt to newer versions of other packages or that don’t work anymore by doing nothing is absolutely unbelievable. It will take the whole day to update them all because updating one creates a cascading effect with similar issues forcing me to update everything else.

How did we unlearn how to build stable software/dependencies that can actually integrate with each other?

How the hell did we get here?

Thanks for reading. If you have feedback, contact me on [Twitter](https://twitter.com/FagnerBrack), [LinkedIn](https://www.linkedin.com/in/fagnerbrack/) or [Github](http://github.com/FagnerMartinsBrack).
Unit testing a page title on Phoenix LiveView
Tags: elixir, phoenix, liveview, testing
Published: 2023-04-07 20:49:45

**TL;DR:**

```elixir
assert page_title(lv) =~ "my page title"
```

---

Phoenix LiveView has a [live_title/1](https://hexdocs.pm/phoenix_live_view/Phoenix.Component.html#live_title/1) component that allows us to easily update a page title and see those changes reflect in the browser.

They also have a [page_title/1](https://hexdocs.pm/phoenix_live_view/Phoenix.LiveViewTest.html#page_title/1) function to test if your page title was updated using the `page_title` assign.

You can use it to make sure you're assigning a `page_title` to your pages:

```elixir
def mount(_params, _session, socket) do
  {:ok, assign(socket, :page_title, "My page title")}
end
```
Upgrade your project to Firebase 9: Get the most out of the new features and API changes
Tags: firebase, angular, ionic, capacitor
Published: 2023-04-07 20:38:48

When I decided to migrate from Firebase 8 to version 9, I couldn't find all the resources in one place. That's why I decided to write about these changes, so you can easily follow them and keep your code up to date.

_Firebase 9_ is a significant update that introduces new features and benefits that make it easier for developers to create high-quality apps. This release includes a new modular API that enables **tree-shaking**, **bundle size reduction**, and other benefits designed to eliminate unused code.

By adopting the modern JavaScript module format, Firebase 9 enables developers to selectively import only the components they need in their app, rather than importing the entire library.

> Depending on your app, tree-shaking with Firebase version 9 can result in up to 80% fewer kilobytes than a comparable app built using version 8.

Upgrading to Firebase 9 may involve some effort to adjust the implementation of companion libraries like **@angular/fire**, **RxFire**, and the **Firebase Capacitor plugin** (if you are building a mobile app).
However, the effort is worth it for the benefits of modularization and reduced app size.

It’s worth mentioning that Firebase version 8 will be frozen at some point in the future, meaning you will not receive any more updates or bug fixes.

While there is a Firebase compat package available to make the migration easier, it is only a temporary fix. I highly recommend upgrading to Firebase 9 to take full advantage of its benefits and keep your app up-to-date.

The effort required to upgrade to Firebase 9 may appear daunting, but it is a necessary step in ensuring that your app is optimized for maximum performance and user experience.

If you want to take full advantage of the latest features and benefits, you must upgrade your Firebase library.
Firebase 9 is a must-have for any developer who wants to build high-quality apps that perform well and provide the best user experience, thanks to its modularized approach, reduced app size, and ongoing feature development.

So, what are you holding out for?
Upgrade to Firebase 9 right now!
What every new developer should do in their first few days at their first job (if they want to)
Tags: advice, junior, beginners, career
Published: 2023-04-07 20:38:33

You’ve landed your first job (cue excited screams).

You realise you’re going to actually have to do the job (cue terrified screams).

Everyone feels the same but preparation can make you feel a little better. A good induction will cover all of this for you but just in case you are worried - here are some things you can do to make it easier to settle in. 

### Prepare a “tell us about yourself”

Managers love to spring this in meetings with little warning - beat the system by having something prepared. Nothing crazy - but having something prepared will make you seem more confident. Practice saying it out loud a few times if public speaking isn’t your thing and you’ll find it’ll flow easier. 

### Ask your manager who you should ask for help and introduce yourself early

Good developers are usually happy to help new developers. You will have lots of questions, especially in the beginning and building a relationship will make it easier. Always say thank you, and shout out to the team about their help to give them recognition. 

### Look through the repos

There should be a form of source control used in your new company. The most common is GitHub but there are plenty of others that could be used instead. There should be a `README.md` file to look through which should either offer some documentation- or link to some. Take some time to explore the code and see if you can work out what is happening. You get better at this with time and practice. 

Look at closed Pull Requests or commits to see what other engineers have done to complete their tasks. You can see what changes they have made and it might help you when trying to work out how to do similar tasks. 

### Check out the tickets

Larger teams will have a system of keeping track of ongoing work. Tasks are often assigned as tickets and they give descriptions of the tasks and what is expected. Jira is a commonly used platform, but many are available. Looking through the list of tickets should give you an idea of the available tasks, and a good manager will make sure there are some easy win tickets for you to pickup. Take a look through the active tickets and ask the assigned engineers if they mind pairing so you can see how they do it. 

### Accept that you will be asking a lot of questions

You are going to regularly run into things you have never seen before - that is a certainty. Getting used to admitting you need help early on will make things easier and remove a lot of anxiety. Entry level developers are expected to attempt things, then ask for help when they are stuck and good developers should be happy to help.

Good luck in your new role!
How to clear Elixir warnings on VSCode
Tags: elixir, phoenix, vscode
Published: 2023-04-07 20:36:52

After making changes to my Phoenix project, VSCode often gives me [warnings](https://elixirforum.com/t/lsp-warnings-on-latest-release-of-liveview/54726):

- `Phoenix.LiveView.TagEngine.component/3 defined in application :phoenix_live_view is used by the current application but the current application does not depend on :phoenix_live_view.`
- `Invalid type specification for function` coming from the `ElixirLS Dialyzer`.
- And other warnings that I don't remember now.

Here are some the things that help me to clear those warnings on VSCode:

- Delete the `_build`, `.elixir_ls` and `deps` directories.
- Reinstall dependencies: `mix deps.get`
- With an `.ex` file open, go to the Command Palette (Cmd + Shift + P) and run these commands: `Elixir: Trigger mix clean --deps in language server` and `Elixir: Restart language server`, then restart VSCode.

If Elixir (not VSCode) starts complaining about routes not found, then you can delete the `_build` directory and compile your project again (`mix compile`).