teleren/devto huggingface dataset:
Challenges in Live Call Transcription and Translation
Published: 2024-06-27 01:47:04

Recently, I had the opportunity to work on a project called [AIPhone.AI](https://www.aiphone.ai/) that pushed the boundaries of live call functionality – a concept that  involved  both transcription and translation.Developing a sophisticated iOS app that features real-time call transcription and translation involves several key technical aspects and challenges. 

## 1. Real-Time Audio Processing

The foundation of any transcription and translation app is its ability to handle real-time audio processing. This requires the integration of low-latency audio streaming capabilities. For iOS, leveraging AVAudioEngine allows developers to capture and process audio in real-time efficiently.

## 2. Speech Recognition

Implementing speech recognition is another critical component. Apple's Speech framework provides a robust API for converting speech to text. Ensuring accurate transcription involves fine-tuning various parameters and handling different accents and dialects.

## 3. Accuracy and Speed

Live features require a delicate balance between accuracy and speed. Users expect real-time results, but maintaining transcription and translation fidelity is crucial.

## 4. Handling Different Languages and Accents

The beauty of such a feature lies in its ability to bridge language barriers. However,  supporting  diverse languages and accents presented a significant challenge.

To provide real-time translation, integrating with a reliable translation API is essential. APIs like Google Cloud Translation or Microsoft Translator offer the necessary functionality. These services can handle text translations in numerous languages and return translations quickly.

## 5. Network Management

Ensuring that the app handles network requests efficiently, especially during calls, is crucial. Using URLSession for network tasks and handling errors gracefully ensures a smooth user experience.

## 6. User Interface and Experience

The UI/UX design of a call transcription and translation app must prioritize ease of use and clarity. Displaying transcriptions in real-time, handling multiple languages, and providing clear translations are all vital for user satisfaction.

Working on this project  solidified  my belief in the potential of AI-powered features to revolutionize communication.  While there are  obstacles to overcome, the ability to break down language barriers and ensure clear understanding in real-time phone calls  is  a significant step forward in an increasingly interconnected world.
Gym Planner | My Coding Adventure as a Code Newbie
Tags: computerscience, python, codenewbie, codecademy
Published: 2024-06-27 01:26:28

I am a gap year student, currently on a journey of my own, learning how to code, to upskill in different areas in computer science. This path that I find myself on, a path of learning and adventure, with the guidance of Codecademy, is what led me too write my first program, and to write this first blog of mine. I must admit, for every problem that I faced, to solve bugs, issues and to have a working program, has invoked a sense of excitement and deepened my motivation.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/73d2ew614gqv0y3bfz5v.png)
This is one of my first few programs written in the programming language Python. Initially, this project was to create a terminal game, but I wanted my program to be of somewhat useful in the real world. This is a terminal-based program and serves the purpose to help decide any gym goers on what exercises to do based on what muscle groups they want to train. At the beginning of the program would prompt the user to enter their name, and a personalised welcome message would follow.

The user is asked to select their desired muscle group that they would want to train. Based on this, the program would iterate through a list of exercises working the selected muscle group. Users can either add or reject the exercises.

There is a limit of three exercises per muscle group. The user is required to select another muscle group to train alongside with their first choice, and an additional three exercises. The only exception being legs, where is limited to six exercises and there are no secondary muscle group to train alongside with legs.

The program would finally then return the exercise plan, a result of their muscle groups and a list of exercises linked to those muscle groups.

[Gym Planner | Github](https://github.com/S-City/python-terminal-game)

Go ahead and check out my program on GitHub, any suggestions and improvements are most welcome :)
🚀 Authentication and Authorization in Node.js 🚀
Published: 2024-06-27 00:22:08


Your instructor here again #KOToka





🔐 Authentication: Verifying the identity of users. It's the process of ensuring users are who they claim to be. 



In Node.js, popular libraries like Passport.js simplify this process by providing strategies for local and third-party (OAuth) authentication.



🔓 Authorization: Determining what authenticated users are allowed to do. This step decides if a user has permission to access specific resources or perform actions. 



Tools like JSON Web Tokens (JWT) and roles-based access control (RBAC) are commonly used to handle authorization in Node.js applications.



🌟 Key Libraries:

- Passport.js: A versatile middleware for authentication.

- JWT: Securely transmit information between parties.

- Bcrypt: Safely hash and store passwords.



Implementing strong authentication and authorization ensures your Node.js applications are secure and your users' data is protected.
Dynamically Adding To The Webpage
Tags: dynamic, webpage, dom
Published: 2024-06-26 23:35:19

The code iterates through an array called `userList`, and for each user object `(el)`, it creates a card element using the `createElement` function. This card contains the user's avatar, name, and email. The card is then appended to an element called `servicesContent`.

---

```
// Iterate through each user object in the userList array
userList.forEach(el => {
    // Create a 'card' div with user details using the createElement function
    const card = createElement('div', 'card', `
        <img src="${el.avatar}" alt="img" class="w-3">
        <div class="p-2">
            <h1>${el.last_name} ${el.first_name}</h1>
            <p>${el.email}</p>
        </div>
    `);

    // Append the created card to the servicesContent element
    servicesContent.append(card);
});
```

---

### Detailed Steps

1. **Iterate through `userList`:** The forEach method loops through each user object (`el`) in the `userList` array.
2. **Create a Card:** For each user object, a `div` element with the class `card` is created. This card contains:
- An `img` element displaying the user's avatar.
- A `div` with the user's name and email.
3. **Append the Card:** The created card is appended to the `servicesContent` element.

---

### Key Points
**`createElement Function:`** This is used to create the card element. **It takes three arguments:** the tag name (`'div'`), the class list (`'card'`), and the inner HTML content (a template literal containing the user's details).

**Template Literals:** Template literals (enclosed in backticks ``) allow embedding variables directly into the string using `${variable}` syntax.

**Appending to the DOM:** The `append` method adds the created card element to the servicesContent element in the DOM.

---

This code dynamically creates and adds a user card to the webpage for each user in the userList array.
100 days of python challenge
Published: 2024-06-26 23:28:30

Starting this to document my 100 days of python challenge. Feels a better fit than other socials. 

I am using "Master Python by building 100 projects in 100 days. Learn data science, automation, build websites, games and apps!" by Dr. Angela. 

Don't @ me because I am enjoying it so haters to the left. 

Wrote a band name generator today, switched up the name of the city and the name of the pet using variables nickmillerfingerguns.gif
Reusable createElement()
Tags: createelement, dom, javascript
Published: 2024-06-26 23:20:47

## Function Explanation
The **createElement** function creates a new HTML element with optional classes and content.

### Parameters

**tagName**: The type of element you want to create (e.g., `'div'`, `'h1'`).
**classList**: (Optional) A string of classes you want to add to the element.
**content**: (Optional) The inner HTML content you want to add inside the element.

### Steps

1. It creates a new element of the type specified by **tagName**.
2. If **classList** is provided, it sets the element's class attribute.
3. If **content** is provided, it sets the element's inner HTML content.
4. It returns the created element.

```
function createElement(tagName, classList, content) {
    // Create an element of type tagName
    const tag = document.createElement(tagName);
    
    // If classList is provided, set the class attribute
    if (classList) tag.setAttribute('class', classList);
    
    // If content is provided, set the inner HTML
    if (content) tag.innerHTML = content;
    
    // Return the created element
    return tag;
}

// Example usage
console.log(createElement('h1', 'bg-success p-3', 'Hello world')); 
// Output: <h1 class="bg-success p-3">Hello world</h1>

console.log(createElement('div')); 
// Output: <div></div>
```
### In the examples:

- The first call creates an `<h1>` element with the classes `bg-success` and `p-3`, and the content "Hello world".
- The second call creates an empty `<div>` element with no classes or content.
Project Zomboard: Zombies cap is now almost 2000
Published: 2024-06-26 23:03:42

https://www.youtube.com/watch?v=fdYwanSgPvk

Project Zomboard: Zombies cap is now almost 2000 ^^ but unless I can reach the 3000 limit without lag I can't move on to the next step!!!


#zomboard #nekoniiistudio #unitydev #unity #devlog #developer #gamedev #taniafelidae #indiegame
测试 iOS app 的后台行为
Tags: ios, swift, swiftui, testing
Published: 2024-06-26 23:03:11

最近在开发中碰到用 SwiftUI 的 [`backgroundTask(_:action:)`](https://developer.apple.com/documentation/swiftui/scene/backgroundtask(_:action:)) 修饰符来实现“真后台”下载数据的功能。代码实现本身就已经有点儿绕了，而测试更是令人挠头。主要在于 iOS 和其他桌面操作系统相比，最初就没有想着如何精确控制后台程序的行为，导致很多的行为都是靠操作系统自己来协调。因此，测试起来也颇费一番周折。

在测试过程中，我们发现了一些小的技巧，在此记录一二。

## 打印日志

iOS 14 引入的 `OSLog` 库能够让我们用现代而高效的日志来刻画程序运行状态。通过创建一个由环境变量控制的 [`Logger`](https://developer.apple.com/documentation/os/logging/generating_log_messages_from_your_code)，我们可以在 debug build 里打出更多日志，而毋需影响 release build。

## 导出日志

iOS app 的后台行为之所以难测，是因为一旦程序被操作系统挂起、进入所谓“假死”、“软退出”的状态后，Xcode 的 debugger 就不再和程序连接在一起了。因此，也没法通过看 debugger 的输出来决定程序目前到底处在什么状态、下载数据下载到多少。

这个时候我们就需要把在真实设备上运行的程序日志，输出到电脑上查看。通过以下的命令

```sh
sudo log collect --device-name "My iPhone" --last 10m --output "~/Desktop"
```

可以把设备上之前10分钟的日志输出到桌面的 `.logarchive` 文件里，从而用 macOS 的 Console 控制台软件打开。

## 如何模拟后台运行

Eskimo 曾经写过一个很好的回答：https://developer.apple.com/forums/thread/14855 

主要的几点：

- 可以用 syscall `exit(0)` 来模拟类似挂起的“软退出”。在 iOS 上滑的后台管理界面里，如果你拖拽来杀后台的话，系统默认是“硬退出”，从而会导致后台任务被完全暂停；而如果只是上滑把程序放进后台，而不手动杀后台的话，系统会时不常分给程序一点儿后台时间，从而让后台下载数据的任务持续进行
- 尽量用真实设备，而非模拟器来测试后台行为
- 为了确保后台行为的可重复性，建议每次都删掉之前的测试 app ，或者手动清空数据，或者使用 `invalidateAndCancel()` 方法来重置 app 的状态
You don't always have to be doing something
Tags: rnd, productivity, leadership, code
Published: 2024-06-26 21:06:04

---
title: You don't always have to be doing something
published: true
description: Ideas on working on what matters
tags: RND, productivity, leadership, code
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2024-06-26 19:58 +0000
---

It often surprises people when I suggest them to rest or read something when they have completed their Sprint tasks.

***You don't always have to be doing something.***

Managers often believe that keeping everyone occupied is essential, feeling accomplished when everyone around them is busy.

However, in software delivery, it's more like a relay race. (as Taiichi Ohno of Toyota said). Each team member plays a crucial role in achieving the common goal by completing their part.

We should focus on passing ***the baton forward*** by working on items that matter and provide (business) ***value***, rather than just staying busy and actually, ***keep running in circles***.

Taking a break, observing or reading something that interest you, can help you identify what truly matters, allowing you to get back to the race and pass the baton effectively.


![Baton race](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fqzf63eaudedkybut5hb.png)
Peterborough Tree Removal
Tags: treeremoval, treeservice, treeservices, treecare
Published: 2024-06-26 22:57:42

Peterborough Tree Removal offers a comprehensive tree care service in the Peterborough area. Our team of certified arborists utilizes advanced equipment to handle all your tree needs, from safe removal to meticulous trimming and stump grinding. At [Tree Services Peterborough ON](https://peterboroughtreeremoval.ca/) customer satisfaction is their top priority, ensuring every project meets the highest standards.

Contact us at +1 (705) 535-1114 or peterboroughtreeremoval@gmail.com

Services

Tree Removal
Tree Trimming/Pruning
Stump Grinding/Removal

Monday - Sunday Open 24 Hours
বুবল সর্ট, সিলেকশন সর্ট এবং ইনসার্টশন সর্ট
Published: 2024-06-26 22:36:47


কম্পিউটার বিজ্ঞানে সর্টিং অ্যালগরিদমগুলি ডেটা সংগঠনের জন্য অত্যন্ত গুরুত্বপূর্ণ। এখানে আমরা তিনটি বেসিক সর্টিং অ্যালগরিদম নিয়ে আলোচনা করব: বুবল সর্ট, সিলেকশন সর্ট, এবং ইনসার্টশন সর্ট। প্রতিটি অ্যালগরিদমের নিজস্ব পদ্ধতি এবং কার্যকারিতা রয়েছে।



**১. বুবল সর্ট (Bubble Sort)**

**সংক্ষিপ্ত বিবরণ:**
বুবল সর্ট একটি সহজ সর্টিং অ্যালগরিদম যা বারবার তালিকাটির মধ্য দিয়ে যায়, সংলগ্ন উপাদানগুলির তুলনা করে এবং প্রয়োজনে তাদের স্থান বিনিময় করে। এই প্রক্রিয়া চলতে থাকে যতক্ষণ না তালিকাটি সম্পূর্ণভাবে সর্ট হয়ে যায়।

**মূল পয়েন্ট:**
- **পদ্ধতি:** সংলগ্ন উপাদানগুলির তুলনা এবং প্রয়োজন অনুযায়ী স্থান বিনিময়।
- **দক্ষতা:** সেরা ক্ষেত্রে \(O(n)\), গড় এবং সবচেয়ে খারাপ ক্ষেত্রে \(O(n^2)\)।
- **স্থিতিশীলতা:** হ্যাঁ, এটি সমান উপাদানগুলির আপেক্ষিক ক্রম বজায় রাখে।
- **ব্যবহার:** ছোট ডেটাসেট বা শিক্ষামূলক উদ্দেশ্যে সর্বোত্তম।

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6286osgsw8jpj2kc58ij.jpg)
**২. সিলেকশন সর্ট (Selection Sort)
**
**সংক্ষিপ্ত বিবরণ:**
সিলেকশন সর্ট প্রতিটি পদক্ষেপে তালিকাটি দুটি অংশে বিভক্ত করে: সর্ট করা এবং অসম্পূর্ণ। এটি অসম্পূর্ণ অংশ থেকে সর্বনিম্ন (বা সর্বাধিক) উপাদানটি খুঁজে বের করে এবং সর্ট করা অংশে যোগ করে।

**মূল পয়েন্ট:**
- **পদ্ধতি:** সর্বনিম্ন উপাদান খুঁজে বের করা এবং তার স্থান বিনিময় করা।
- **দক্ষতা:** সেরা, গড় এবং সবচেয়ে খারাপ ক্ষেত্রে \(O(n^2)\)।
- **স্থিতিশীলতা:** না, এটি সমান উপাদানগুলির আপেক্ষিক ক্রম বজায় রাখে না।
- **ব্যবহার:** সাধারণভাবে শিক্ষামূলক উদ্দেশ্যে ব্যবহৃত হয়।

**৩. ইনসার্টশন সর্ট (Insertion Sort)**

**সংক্ষিপ্ত বিবরণ:**
ইনসার্টশন সর্ট তালিকাটির প্রতিটি উপাদানকে তার সঠিক স্থানে স্থানান্তরিত করে এবং ক্রমান্বয়ে সর্ট করা তালিকা তৈরি করে। এটি প্রতিটি উপাদানকে আগের উপাদানগুলির সাথে তুলনা করে এবং সঠিক স্থানে প্রবেশ করায়।

**মূল পয়েন্ট:**
- **পদ্ধতি:** প্রতিটি উপাদানকে তার সঠিক স্থানে প্রবেশ করানো।
- **দক্ষতা:** সেরা ক্ষেত্রে \(O(n)\), গড় এবং সবচেয়ে খারাপ ক্ষেত্রে \(O(n^2)\)।
- **স্থিতিশীলতা:** হ্যাঁ, এটি সমান উপাদানগুলির আপেক্ষিক ক্রম বজায় রাখে।
- **ব্যবহার:** ছোট ডেটাসেট বা প্রায়-সর্ট করা তালিকার জন্য উপযুক্ত।
[Game of Purpose] Day 39
Tags: gamedev
Published: 2024-06-26 22:36:07

Today I managed to make the drone properly spawn granades. When dropping the granade it correctly inherits drones velocity and angular momentum.

{% embed https://youtu.be/bb0M8MwTkX8 %}

I also organized my Drone's Event graph into smaller graphs and do a Sequence calling each one.


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

Tomorrow I plan to make the explosions do damage to objects. For that I watched a 1h long [Chaos Destruction Series by BuildGamesWithJon](https://www.youtube.com/playlist?list=PLPpgDoSBYYWgAsFdt3AsvyblUk04qkEob).
@Resource: The Versatile Bean Injection Annotation for Jakarta EE and Spring
Tags: java, springboot, spring, programming
Published: 2024-06-26 22:30:00


This annotation does bean injection, like the `@Autowired` and `@Inject` annotations. 

This annotation is packaged with Jakarta EE and will work on your Spring projects.

You can use this annotation almost in the same way you use the other annotations used to inject dependencies.

Using in-field injection and set methods is possible, but constructors are not supported. 

It can match the type and the bean name definition. Also, you can combine it with the @Qualifier annotation.

It can simplify migrating projects between Jakarta and Spring. 

Let’s take a look at some examples of how to use it.

### Field Injection with @Resource

This is the standard way, using above the field that will be injected.

```java
@Repository
public class MyRepository {

}

@Component
public class MyService {
    @Resource
    private MyRepository myRepository;
}

```

### Setter Injection

Another alternative to injecting beans with `@Resource` is to use the setter method.

```java
@Repository
public class MySetterRepository {

}

@Component
public class MySetterService {
    private static final Logger log = LoggerFactory.getLogger(MySetterService.class);
    private MySetterRepository mySetterRepository;

    @Resource
    public void setMySetterRepository(MySetterRepository mySetterRepository) {
        this.mySetterRepository = mySetterRepository;
    }
}
```

### Combining with @Qualifier

You can use the `@Resource` annotation combined with the `@Qualifier` in the same way you would do when using the `@Autowired`. 

```java
@Repository("anotherRepository")
public class AnotherRepository {

}

@Repository("specificRepository")
public class SpecificRepository {

}

@Component
public class MyQualifierService {
    @Resource
    @Qualifier("specificRepository")
    private SpecificRepository specificRepository;

    public void performService() {
        specificRepository.doSomething();
    }
}

```

### Matching by Name: The 'name' Attribute

If you do not want to use the `@Qualifier` annotation, you can use the `name` attribute from the `@Resource` annotation, to define the bean which will be injected.

```java

@Repository("anotherRepository")
public class AnotherRepository {

}

@Repository("specificRepository")
public class SpecificRepository {

}

@Component
public class MyNameService {
    @Resource(name = "specificRepository")
    private SpecificRepository specificNameRepository;

}
```

### Conclusion

In this blog post, you learned about the `@Resouce` an alternative to the `@Autowired` annotation to inject beans, that can work both with Jakarta and Spring.

If you like this topic, make sure to follow me. In the following days, I’ll be explaining more about Spring annotations! Stay tuned!

Follow me!
ACCELERATING DEVOPS TESTING: Advanced Parallel Testing Techniques with Python
Tags: webdev, devops, python, beginners
Published: 2024-06-26 21:58:51



**Parallel Testing:**


Parallel Testing in DevOps is a  technique where different tests are  executed at the same time thereby improving efficiency.   Parallel  testing in DevOps with Python involves  using frameworks and libraries from python to execute different tests at the same time. 



_Frame works/Tools used  in DevOps parallel testing with Python:_

_1. Nose  testing Framework._
_2. Locust loading tool._
_3. Pytest testing framework._
_4. Behave testing framework._


**Implementation of Parallel Testing In DevOps with Python.**


The steps involved In DevOps parallel testing with Python are:


1.  Install the required framework / Library. Some popular python libraries  Include locust, Behave-Parallel and nose-parallel.

2.  Write test case with the library/framework you choose.

3.  Specify the number of parallel processes.

4. Run the tests in  parallel. 

5.  Observe and carefully analyze  results to make sure  tests are passing and to confirm improved performance.
Day 979 : Run
Tags: hiphop, code, coding, lifelongdev
Published: 2024-06-26 21:57:47

_liner notes_:
- Professional : Not a bad day. Had a couple of meetings. Responded to some community questions. I even finished a draft of the blog post I've been writing for a new feature and sent it to some folks for a technical review to make sure what I wrote is technically correct.

- Personal : Last night, I went through tracks for the radio show. Also did some research for a side project. Went through my budgeting app and cleaned up some things. I think that was it. I really don't remember. haha Really need to write this stuff down. It's not like I didn't make a Web app https://whatyoudo.in/ to keep track. haha.

![This is a picture of a rural road in the mountains. The sky is cloudy and the sun is setting. The sun is shining brightly through the clouds. There are trees and bushes on both sides of the road. The road is unpaved. The location is Tagamanent, Spain.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tyds6r9bt2l0v18khtrm.jpg)

Again, the AI used to generate the image caption was pretty scattered and I had to put it together to make sense. Still quicker than me coming up with it myself though. Going to go through more tracks for the radio show. Work on my side project and try to finalize the logo for a project. Looking to watch a couple of "Demon Slayer" episodes. Got to run because it is about to storm!

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube eMSY3zfLxRA %}
Новая нейросеть
Published: 2024-06-26 21:30:54

О существовании нейросетей общественность узнала недавно, но они быстро проникли в различные сферы жизни — от медицины до развлечений. Сегодня они способны обрабатывать огромные объемы данных, распознавать объекты и генерировать тексты и изображения. Последние тренды нейросетей включают метаобучение, обработку естественного языка, обучение с подкреплением, генеративные модели, автокодировщики и GANs. Разработчики работают над улучшением существующих моделей и созданием новых - https://chataibot.ru/blog/novyye_neiroseti/[](https://chataibot.ru/blog/novyye_neiroseti/)  Недавно была выпущена усовершенствованная версия ChatGPT, способная распознавать и описывать изображения и лучше понимать контекст. Также была разработана генеративная модель MuseNet, которая может создавать музыку в различных стилях и жанрах. Особое внимание уделяется улучшению обработки изображений, анализа текста, обучения с подкреплением и созданию видео. Новые алгоритмы и техники обучения позволяют нейросетям становиться более гибкими и адаптивными к разным сценариям использования.
Let's talk about CSSBattles
Tags: css, learning
Published: 2024-06-26 21:22:53

Recently I discovered a great website to exercise my CSS skills in a different way daily. [CSSBattle](https://cssbattle.dev/) offers every day a different "target", a design you should make as close as possible with CSS. I highly recommend it cause it helps me to get more familiar with CSS proprieties like margin, padding, display, and more. 
Would you like to join and/or share your results with me? I'm always looking for new ways of doing the target cause sometimes I think I did it the hard way.


![Cat with glasses using computer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6p2fjjc3r0jqa9ihdt8d.png)