teleren/devto huggingface dataset:
Mudando a experiência do trabalho
Tags: productivity, career, careerdevelopment
Published: 2024-04-09 19:13:08

"Você ainda tem aqueles episódios de ter que parar de trabalhar uns dias por causa de stress?"

A pergunta me pegou de surpresa. Eu estava conversando com um dev com quem trabalhei há alguns anos e tive que parar um momento para tentar lembrar do que ele estava falando. É verdade, eu tive episódios de intenso stress no trabalho e algumas vezes cheguei no limite de parar de funcionar. 

O curioso é que eu sequer lembrava que tinha passado por isso, de tão diferente que as coisas são hoje em dia.

**O que mudou?**

Não fui morar na praia, não abandonei a área de tecnologia nem mudei de trabalho, mas diria que minha experiência hoje é completamente diferente. Os desafios seguem aí: balancear data apertada para entregar projeto com criação de débito técnico, fazer o time render mais, contratar e treinar, resolver bugs em produção, conseguir a renovação de contrato com cliente, enfim, as coisas normais de desenvolvimento de software.

O trabalho em si teve mudanças, processos evoluíram, houve amadurecimento em vários aspectos. Mas o principal fator na redução do stress, e também aumento de produtividade, foi a _mudança da minha relação com a experiência de trabalhar_.

**Hein? Experiência?**

É como quando a arquitetura de um framework ou sistema "clica" e passa a fazer sentido, você enxerga como a coisa funciona e consegue trabalhar com ela de uma maneira totalmente diferente de antes. 

**O sistema não mudou, mas você agora navega por ele com mais habilidade.**

No meu caso, o catalisador foram estudos sobre o entendimento da mente, que me levaram a procurar a mentoria da cbo.digital.
Na mentoria, tive Insights que me ajudaram a navegar todos esses desafios do trabalho e da vida pessoal. 

> Não é fácil traduzir um insight em palavras, já que ele é um fenômeno de "dar-se conta" de algo que de repente passa a ser óbvio, não em um nível intelectual, mas em um nível de vivência.
 

Dado esse porém sobre explicar insights, vou tentar: me dei conta que o stress não era algo criado das atividades do trabalho em direção a mim, "de fora pra dentro", mas sim a partir da minha percepção, _"de dentro pra fora"_. _Se a percepção muda, a experiência muda_, independente do volume de coisas para fazer.

Já faz mais de três anos e insights seguem vindo, cada vez mais me mostrando que tudo pode ser ainda mais leve e tranquilo, mesmo em momentos críticos. Aliás, é muito mais efetivo e eficiente lidar com ações super importantes do trabalho a partir de um estado centrado e leve.

Um dos insights que essa experiência me trouxe foi a vontade de abrir a porta para ajudar mais devs a experienciarem um jeito de trabalhar com mais leveza: o [desprograma](https://desprograma.com.br), **uma imersão online para devs que querem mais paz sem abandonar a área de tecnologia!**
Finding and solving a nasty bug with Cloud Run and environment variables
Tags: googlecloud, swe, cloudrun, story
Published: 2024-04-09 18:40:58

Finding nasty bugs is never pleasant. Finding nasty bugs that others left and that you're pretty much powerless to solve is _even worse_. Trying to solve them with the wrong tools is **_mission impossible_**.

---

A couple days ago I encountered a particularly interesting bug regarding Cloud Run and environment variables. To be more precise, a value ending in a space (` `) character:

When setting said ENV var via the UI\*, everything would show up as you would expect. The value had the space at the end and it all looked good. Yet the app was crashing. Logs pointed us to that ENV var which, at runtime, was somehow trimmed (we obviously weren't doing that via our code). This left me baffled for a good while. I checked, rechecked. "But it all _looks good_!!" - I said to myself. And therein lies the issue.

> The bug came from Google's Cloud Run service, sure, but I was not using the right tools at my disposal to find it.

That's the main takeaway I wanted to share. I quickly opened up my terminal and updated the variable via `gcloud`, using double quotes to ensure the value was set correctly. Lo and behold, problem fixed. Somehow setting it via the UI didn't play nice, but I was banging my head against the wall (figuratively) by using the UI to try to solve it.

Fortunately it only took about 10 minutes for me to realise this, but I could've spent a good couple hours - hell, even tried to convince my team to change that value for something else altogether! - **had I not stopped for a second to think**.

**TL;DR**: Don't forget the other tools in your toolbelt. Using a wrench to nail something might work, but not be ideal. Save yourself time.

Note: I've already reported this issue to Google, and it's [the second one I've encountered regarding ENV vars](https://github.com/google-github-actions/deploy-cloud-functions/issues/392) with their services. We're all human, even Google Engineers. Contribute to OSS however you can!

---

\* I know, I know. We're in the process of migrating to IaC with OpenToFu, but we're a small startup and other more pressing matters take precedence T.T
Data/SSIS Engineers LATAM based wanted
Tags: career
Published: 2024-04-09 18:22:58

Dear community. My team and I are working on a high quality project which is aiming to hire 7 Engineers (4 of whom should be SSIS specialist).

- 0nly LATAM based people.
- EST schedule
- Competitive salary.
- Communication with the team in English (mandatory).
- Meticulous and demanding client.

If you're interested in learning more, here's the link to the position and my email!

https://boards.greenhouse.io/moovx/jobs/4366280005
tiago@moovx.mobi
.NET Monthly Roundup - March 2024 - .NET 9 Preview 2, Smart Components, AI fun, and more!
Tags: dotnet, aspire, blazor, visualstudio
Published: 2024-04-09 18:19:48

{% embed https://www.youtube.com/watch?v=h9f3wlbFKbQ %}

📆Welcome to our March .NET Monthly Roundup with Jon Galloway! In just 3 minutes, Jon breaks down the latest news from the month of March 2024 that .NET developers need to know.

### Top links
📚[All the links](http://aka.ms/dnmr-2403)

🌟.NET 9 Preview 2
➡️[.NET 9 Preview 2 Discussion](https://github.com/dotnet/core/discussions/9217)
➡️[ASP.NET Core updates in .NET 9 Preview 2](https://github.com/dotnet/aspnetcore/discussions/54503)
➡️[ASP.NET Core updates in .NET 9 Preview 2 Release Notes](https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview2/aspnetcore.md)
➡️[EF Core updates in .NET 9 Preview 2](https://github.com/dotnet/core/blob/main/release-notes/9.0/preview/preview2/efcoreanddata.md)
➡️[.NET Aspire preview 4 - .NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/preview-4)

🧪Smart Components🧪
➡️[Introducing .NET Smart Components - AI-powered UI controls](https://devblogs.microsoft.com/dotnet/introducing-dotnet-smart-components/)

🤖AI Fun
➡️[Get started with .NET 8 and AI using new quickstart tutorials](https://devblogs.microsoft.com/dotnet/get-started-with-dotnet-ai-quickstarts/)
➡️[Get Started with Milvus Vector DB in .NET](https://devblogs.microsoft.com/dotnet/get-started-milvus-vector-db-dotnet/)

⚙️Visual Studio and Tools Updates
➡️[Unity extension for Visual Studio Code - Now Generally Available](https://devblogs.microsoft.com/dotnet/unity-extension-for-visual-studio-code-now-generally-available/)
➡️[A new MSBuild editing experience](https://devblogs.microsoft.com/visualstudio/experimental-msbuild-editor/)

⚠️.NET 7 End of Support
➡️[.NET 7 will reach End of Support on May 14, 2024](https://devblogs.microsoft.com/dotnet/dotnet-7-end-of-support/)

📺Top Video Recommendation
➡️[Writing async/await from scratch in C# with Stephen Toub](https://www.youtube.com/watch?v=R-z2Hv-7nxk)

### What did you think?

With so much new information coming at you each month, we're looking at ways to bring you the highlights. Let us know if this helps, and how we can do it better next month!

Jon
Implementing Google AdMob Interstitial Ads in Android Studio with Java | Step-by-Step Tutorial
Tags: admob, interstitalads, android, java
Published: 2024-04-09 18:18:14

{% embed https://youtu.be/9ngjd4FJtc0 %}

Welcome to this detailed guide on implementing Google AdMob Interstitial Ads in Android Studio using Java. This tutorial covers the entire process, from loading Interstitial ads to displaying them in your app. Whether you're a seasoned developer or just beginning your app monetization journey, this video provides essential insights into maximizing your earnings through AdMob Interstitial ads.

**Step 1: Setting Up Google AdMob Account and Creating Ad Units**
To start, we'll guide you through the process of setting up a Google AdMob account and creating Interstitial ad units. You'll learn how to configure ad units to match the requirements of your app.

**Step 2: Adding Google AdMob Dependency to Your Project**
Next, we'll demonstrate how to add the Google AdMob dependency to your Android Studio project using Java. You'll understand the importance of integrating the AdMob SDK for seamless ad functionality.

**Step 3: Loading Interstitial Ads**
In this step, we'll cover how to load Interstitial ads into your app. You'll learn the necessary code implementation to fetch ads from the AdMob network.

**Step 4: Displaying Interstitial Ads**
We'll guide you through the process of displaying Interstitial ads at appropriate moments within your app. You'll understand how to trigger ad display events and ensure a smooth user experience.

**Step 5: Maximizing Revenue and User Experience**
In this final step, we'll discuss strategies for maximizing revenue while maintaining a positive user experience. You'll gain insights into ad placement, frequency, and other best practices.

**Conclusion:**
Congratulations! You've successfully learned how to implement Google AdMob Interstitial Ads in Android Studio using Java. This tutorial has equipped you with practical insights to monetize your app effectively and maximize earnings through AdMob Interstitial ads.

If you have any questions or comments, please feel free to leave them below. Don't forget to subscribe to our YouTube channel for more exciting tutorials on Android app development and monetization strategies.

Now, armed with the knowledge of Google AdMob Interstitial ads implementation, you're ready to boost your app's revenue and provide users with a seamless ad experience. Happy coding!

**Build android apps without coding** 
Start for free: https://try.draftbit.com/buildwithoutcode

**Source Code:** https://github.com/AhsanAhmed03/AdMob-Ads-Java

Feel free to reach out to me with any questions or opportunities at (aahsanaahmed26@gmail.com)
**LinkedIn** (https://www.linkedin.com/in/ahsan-ahmed-39544b246/)
**Facebook** (https://www.facebook.com/profile.php?id=100083917520174).
**YouTube** (https://www.youtube.com/@mobileappdevelopment4343)
**Instagram** (https://www.instagram.com/ahsanahmed_03/)
Start with Python Dictionaries
Tags: python, programming, coding, webdev
Published: 2024-04-09 18:11:00

Python dictionaries are powerful data structures that allow you to store and manipulate collections of key-value pairs. Understanding dictionaries and their usage is crucial for effective Python programming.

## What are Python Dictionaries?

Dictionaries in Python are unordered collections of items, where each item consists of a key-value pair. Dictionaries are mutable, meaning they can be modified after creation. Dictionaries are often used to represent mappings between unique keys and their corresponding values.

## Creating Dictionaries

Dictionaries are created by enclosing key-value pairs in curly braces { }, separated by commas, with a colon : separating each key and its corresponding value.

```
# Example of creating a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
```

## Accessing Elements

You can access the value associated with a specific key in a dictionary by using square brackets and the key itself.

```
# Example of accessing elements
print(my_dict["name"])   # Output: Alice
print(my_dict["age"])    # Output: 30
```

## Modifying Dictionaries

Dictionaries can be modified by adding, removing, or updating key-value pairs.

```
# Example of modifying a dictionary
my_dict["email"] = "alice@example.com"    # Add a new key-value pair
my_dict["age"] = 31                        # Update the value associated with a key
del my_dict["city"]                        # Remove a key-value pair
```

## Dictionary Methods

Python dictionaries provide several built-in methods for working with dictionaries, such as keys(), values(), items(), get(), pop(), and update().

```
# Example of dictionary methods
print(my_dict.keys())      # Output: dict_keys(['name', 'age', 'email'])
print(my_dict.values())    # Output: dict_values(['Alice', 31, 'alice@example.com'])
print(my_dict.items())     # Output: dict_items([('name', 'Alice'), ('age', 31), ('email', 'alice@example.com')])
```

## Use Cases

Dictionaries are commonly used for:

 - Storing settings and configurations.
 - Representing JSON data.
 - Counting occurrences of items in a collection.

## Handling Missing Keys

The get() method allows you to retrieve the value associated with a key, with an optional default value to return if the key is not found.

```
# Example of handling missing keys
print(my_dict.get("gender", "Unknown"))   # Output: Unknown (since "gender" key does not exist)
```

Python dictionaries are versatile data structures that offer efficient key-based lookup and manipulation. By understanding how to create, access, and utilize dictionaries, you can write more efficient and expressive code. Dictionaries are a fundamental tool in Python programming, allowing you to represent mappings between keys and values in a clear and concise manner.
Batch Size
Published: 2024-04-09 17:57:24

"Batch size", derin öğrenme ve makine öğrenmesinde kullanılan bir hiperparametredir. Bir yapay zeka modelinin eğitimi sırasında, eğitim verilerinin model üzerinden geçirilirken, tüm verilerin aynı anda işlenmesi yerine belirli bir grup veya "batch" içinde işlenmesini sağlar. Batch size, birçok eğitim işleminin boyutunu belirler ve modelin eğitimi sırasında önemli bir faktördür¹.

Batch size'in belirlenmesi, modelin eğitimi sırasında birkaç faktöre bağlıdır:
- **Hız ve Veri Belleği Kullanımı**: Büyük bir veri kümesini tek seferde işlemek, bellek ve hesaplama kaynakları açısından zorlayıcı olabilir. Batch size, daha küçük veri grupları üzerinde işlem yaparak bu sorunları hafifletir ve eğitim işlemini hızlandırabilir.
- **Daha İyi Genelleme**: Farklı veri örneklerini kullanarak modelin daha iyi genelleme yapmasını sağlar. Batch size küçüldüğünde, model, daha fazla farklı örnek üzerinde eğitilir ve daha iyi öğrenme sağlar.
- **Paralel İşleme**: Birden çok işlemci veya GPU kullanıyorsanız, batch size'ı ayarlamak, eğitim sürecini paralel olarak hızlandırabilir.

Örnek olarak, "Batch 16" ifadesi, her eğitim adımında 16 veri örneğinin model tarafından işlendiği anlamına gelir. Eğer her bir veri örneği 128x128 piksel bir görüntüyü temsil ediyorsa ve her piksel için 4 byte kullanılıyorsa, her bir görüntü için bellek kullanımı şu şekilde hesaplanır:

128 * 128 * 3 * (piksel sayısı x renk kanalları)  * 4  (her piksel için 4 byte)  = 196,608  byte veya yaklaşık  0.19MB

Bu durumda, her bir veri örneği yaklaşık 0.19 MB bellek kullanır ve batch size 16 olduğunda, toplam bellek gereksinimi yaklaşık 3.04 MB olur¹. İyi bir batch size, deneysel olarak belirlenebilir ve hiperparametre ayarlaması sırasında optimize edilebilir.
爬蟲與反爬蟲
Tags: web, crawl, scraping, webdev
Published: 2024-04-09 17:52:17

## 爬蟲的發展

可以從目的上分為多個時期/類型：

1. 批量採集數據：這也是scrapy等爬蟲框架著重解決的問題，如何更快的、併行的獲取網站上的大量資料，並且定位出所需信息（使用xpath等方法）。這段時期內，爬蟲都是獲取公開的數據。
2. 鑑權時期：網站可能存在漏洞，或存在一些可以使用自動化技術獲得優勢的步驟。例如SQL注入、搶火車票。這些技術背後與爬蟲技術有相似性。一些這類型技術的目的是獲取非公開數據或依靠自動化獲得優勢/利益。網站需要透過鑑權來阻擋。
3. 流量風控時期：網站注意公開數據本身的加值，不希望大量數據被採集。這類反爬蟲是在阻擋批量採集數據。

## 爬蟲技術

大體還是分為兩個類型：協議採集 和 真機採集。

- 協議採集：開發成本低、逆向成本高、性能非常好，一旦有純算能力。日採千萬級別是沒問題的，資源佔用低。
- 真機採集：開發成本較高、逆向成本相對低、性能較差（因為需要做出瀏覽器環境）。


對於協議採集，最優先採用鑑權進行反爬蟲，其次考慮用高頻攔截。
Day 9/366
Tags: 1percentplusplus, 100daysofcode
Published: 2024-04-09 17:42:42

🚀 **Today's Learning:**

🌟 DSA

- Bubble sort
- Selection Sort

🌟 Dev

- Features of React
- JSX

🔍 **Some Key Highlights:**

DSA

In bubble sort, we just compare the current element with the next element → if the current element is greater than next element it is swapped → This let the maximum element reach the end of the array. Now the unsorted array left is till the second last element. Same process is repeated for sorting this array and so on. Finally we get the sorted array. There is an outer loop ‘i’ which runs from n-1 to 0. And an inner loop ‘j’ that runs from 0 to i-1 (not till i coz we are comparing A[j] and A[j+1]). Avg and worst case T.C. O(n2) | Best case: O(n) (when the array is already sorted)

In selection sort, we check a range of array at each pass. An inner loop finds the minimum element from that range and swaps it from the first element of the range. The range starts from complete array and keeps on decreasing till the complete array is sorted. The outer loop, say i, is running from 0 to n-2 i.e. n-1 times, and for each i, the inner loop j runs from i to n-1. For, i = 0, the inner loop runs n-1 times, for i = 1, the inner loop runs n-2 times, and so on. So, the total steps will be approximately the following: (n-1) + (n-2) + (n-3) + ……..+ 3 + 2 + 1. The summation is approximately the sum of the first n natural numbers i.e. (n*(n+1))/2.  Avg and worst case T.C. O(n2)

DEV

JSX is a syntax extension of JavaScript. It is used with React to describe what the user interface should look like. By using JSX, we can write HTML structures in the same file that contains JavaScript code. 

Note: 

- Web browsers cannot read JSX directly. This is because they are built to only read regular JS objects and JSX is not a regular JavaScript object
- For a web browser to read a JSX file, the file needs to be transformed into a regular JavaScript object. For this, we use **Babel**


 #100daysofcode #1percentplusplus #coding #dsa
Hillock Green in Singapore - Hillock Green Condo - Hillock Green
Published: 2024-04-09 17:41:33

For over four decades Soilbuild Construction Group Ltd has been a prominent figure in the construction industry, renowned for delivering award-winning residential and commercial properties. Hillock Green in Singapore Since its founding in 1976, Soilbuild has provided a comprehensive range of real estate services, including Civil Engineering, Design and Build, Construction, Turnkey Construction, Project Management Consultancy, Procurement, Mechanical & Electrical Installation, and Precast and Prefabrication. Its excellent transport connections and proximity to amenities make it an ideal location for families and professionals looking for a convenient and comfortable place to call home just hillock green.

https://hillock-green-condo-sg.com/
Learning AWS Day by Day — Day 32 — CloudWatch
Tags: aws, cloud, cloudcomputing, beginners
Published: 2024-04-09 17:33:54

Exploring AWS !!

Day 32:

CloudWatch

Pre-Cloudwatch: Difficulty in monitoring resources

Cloudwatch monitoring: Monitors all AWS resources provisioned and deployed.
Sends notification if anything goes wrong.
Dimensions and Statistics:
Dimensions - eg: CPU Utilization, how much data in/out, etc.
Statistics - Data aggregations over a period of time eg: comparing-time

Cloud Metrics and Namespaces:
Metrics are fundamentals to Cloudwatch Monitoring.
All actions are based on metric, eg: CPU Utilization
All AWS services send metrics to Cloudwatch by default.

Resource Metrics: EC2

CPU credit metrics: CPU credit usage, CPU credit balance
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/woadbeahd9vep84a1l23.png)
Online Investment Scams Recovery _ Pro wizard Gilbert Recovery
Published: 2024-04-09 16:49:00

The increasing use of virtual currencies like Bitcoin has completely changed the financial scene by providing new avenues for safe and effective transactions for both individuals and companies. But as cryptocurrency use grows, so does the possibility of thievery, fraud, or unintentional loss of priceless possessions. In situations like these, having the assistance of qualified Bitcoin recovery specialists is essential. PRO WIZARD GIlBERT RECOVERY is one such well-known company that is leading this industry. My piece explores the profitable actions made by PRO WIZARD GIlBERT RECOVERY emphasizing their excellent strategy for Bitcoin recovery. To assist people and companies in recovering their lost or stolen Bitcoin assets, PRO WIZARD GIlBERT RECOVERY uses a variety of sophisticated tactics, sophisticated technologies, and successful case studies. This article delves into how the company navigates this challenging field. Step one of the PRO WIZARD GIlBERT RECOVERY methodical procedure for Bitcoin recovery is detecting the loss and obtaining evidence. They are aware that figuring out the appropriate course of action in each situation calls for thorough consideration. They take their time to comprehend the essence of the loss before anything else. They collaborate with you to obtain all the information required, regardless of whether it's a compromised exchange, a forgotten password, or a hacked account. This enables them to evaluate the circumstances and create a customized recovery strategy. They then gather pertinent data and supporting documents. This contains account information, transaction history that may be pertinent, and substantiation of the occurrence. They establish the groundwork for an all-encompassing recovery plan by painstakingly compiling this vital information. Finally, 
PRO WIZARD GIlBERT RECOVERY, Supplies a wealth of experience, cutting-edge technology, and painstaking research on the topic of Bitcoin recovery. They guarantee that misplaced bitcoins have an opportunity to be recovered with their excellent services. Therefore, use PRO WIZARD GIlBERT RECOVERY dependable and efficient recovery services if you find yourself in the terrible position of losing your priceless digital assets.

Reach out to them using the below info.
Email: prowizardgilbertrecovery(@)engineer .com
WhatsApp: +1 (425) 623‑3222