teleren/devto huggingface dataset:
YOLO V5 running on an Android phone Part 1(train model)
Tags: yolov5, android, beginners, tutorial
Published: 2024-01-26 03:18:08

Kia Ora!
Recently in our AI project, we have been working on monitoring river heights using the Yolo algorithm. It sends an alert like a server when the river height exceeds a certain safe range.
Today I am bringing you a share on how to deploy the Yolo algorithm program using an Android phone

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

My main development environment is currently an M1 chip MAC, and I often encounter all kinds of bugs on Yolo v8 (but I already have a solution, I'll organize it and update it later), so for today's demo tutorial we're going to start with Yolo v5. I'd like to thank this YouTuber, whose video solved a very large number of problems for me:
https://www.youtube.com/watch?v=zs43IrWTzB0

I won't go over the steps to install Yolo v5, you can easily find their repository on Git Hub.
For labelling and processing the data I used: roboflow
This page is very user-friendly for all versions of Yolo support. There are also many open-source datasets available.

### Use the dataset to train:
```
!python train.py --img 640 ---batch 16 --epochs 10 --data DataSet/data.yaml --weights yolov5s.pt
```

### Validate using the dataset:
```
!python detect.py --source DataSet/valid/images --weights runs/train/exp/weights/best.pt
```

#### After completing the training, we need to export to the tflite format
```
!python export.py --weights runs/train/exp/weights/best.pt --include tflite
```
This concludes our training of the model and I can't wait to try it out:
```
!python detect.py --source 0 --weights runs/train/exp/weights/best.pt
```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kb07ifzibf4wjsrfhrly.png)
This way we have our own model, and of course we are able to achieve better performance through various manipulations of the dataset during the training process.
A Brief History of the Internet
Tags: webdev, learning, codenewbie, web
Published: 2024-01-26 02:48:09

The way to communicate before the Internet was the telegraph, which was invented in 1840 and was really very useful at the time.

The true origin of the Internet is in 1958... seriously... back then the USA founded the Advanced Research Projects Agency (ARPA) through its Ministry of Defense.

The objective?

Find a way to have direct communication between two computers to be able to communicate to different research bases. Only that? ... of course not, in fact it was created during the Cold War and they intended to make military communications less vulnerable by eliminating dependence on a central computer.

To do this they needed about 200 scientists and a lot of money. In 1962 ARPA created a research program under the direction of John Licklider and in 1967 ARPANET (Advanced Research Projects Agency Network) was born, a computer network that compiled the best ideas from three teams: MIT, Natinonal Physics Laboratory (UK) and the Rand Corporation, however in 1969 the first 4 computers were connected through Leonard Kleinrock's Interface Message Processor, in that same year the 'internet' opened to the public.

In 1971 ARPANET already had 23 connected points and the first email was sent by Ray Tomlinson. The following year it was presented at the First International Conference on Computers and Communication in Washington DC, where scientists demonstrated that the system did work by creating a network of 40 connected points in different places.

Between 1974 and 1982, quite a few networks were created, but the following stood out:

Telenet (1974) commercial version of ARPANET
Usenet (1979) Open system focused on e-mail that continues to function!
Bitnet (1981) linked American universities using IBM systems
Eunet (1982) which linked the United Kingdom, Scandinavia and The Netherlands.

Finally in 1981, ARPANET adopted the TCP/IP protocol and at that time the Internet (International Net) was created.

The use of the network was limited to the exchange of emails and as a documentary fund to store global information. But locating and identifying information still remains a fairly complex task. Fun fact Google in 2014 mentioned its search engine only reflected 0.004% of all information.

After that HTML was created, but you can read about this on another article [here](https://dev.to/caf_rf_1986/html-a-fighter-who-had-to-evolve-to-get-the-place-it-has-with-a-bit-of-help--gli).

The Internet, the World Wide Web (www), was introduced in 1991. Two years later CERN opened the web for commercial use.


The first web page is still active, it is a very basic HTML with active links. You can access [here](https://info.cern.ch/).
FAKTOR YANG MEMPENGARUHI KEINDAHAN PLAKAT AKRILIK
Tags: tutorial, learning
Published: 2024-01-26 02:14:54

Keindahan produk akrilik, termasuk plakat, dipengaruhi oleh beberapa faktor yang berkaitan dengan kualitas material, desain, dan proses pembuatan [plakat ucapan terima kasih](https://plakatakrilik.id/plakat-ucapan-terima-kasih/). Berikut adalah beberapa faktor utama yang mempengaruhi keindahan dan estetika produk akrilik:

Kualitas Material
Kualitas bahan akrilik itu sendiri sangat penting. Akrilik yang berkualitas tinggi memiliki kejernihan yang baik, tidak mudah kuning, dan memiliki permukaan yang halus. Bahan yang berkualitas rendah mungkin tampak keruh atau menguning seiring waktu.

Ketebalan Akrilik
Ketebalan akrilik berpengaruh pada penampilan akhir dan kekuatan produk. Ketebalan yang sesuai akan memberikan tampilan yang lebih mewah dan estetis serta memastikan durabilitas.

Presisi Pemotongan
Presisi dalam pemotongan akrilik sangat mempengaruhi estetika akhir. Potongan yang rapi dan halus memberikan tampilan yang lebih profesional dan berkualitas.

Pengolahan Permukaan
Permukaan akrilik yang telah diolah dengan baik, seperti melalui proses pengamplasan dan pemolesan, akan meningkatkan keindahan produk. Permukaan yang halus dan terawat menunjukkan kualitas pembuatan yang tinggi.

Desain dan Grafis
Desain yang elegan dan grafis yang dipilih dengan baik sangat mempengaruhi keindahan plakat akrilik. Grafis harus jelas, tajam, dan sesuai dengan konteks penggunaan.

Teknik Pencetakan atau Ukiran
Cara teks dan grafis ditransfer ke akrilik, baik melalui pencetakan, ukiran, atau gravir, juga berperan penting. Teknik yang tepat dapat meningkatkan detail dan kejelasan desain.

Pencahayaan
Untuk beberapa desain, pencahayaan dapat menambah dimensi ekstra pada keindahan akrilik. Penggunaan pencahayaan LED, misalnya, dapat menonjolkan aspek tertentu dari plakat atau karya akrilik.

Warna dan Finishing: Pemilihan warna dan finishing yang tepat juga penting. Akrilik dapat diwarnai atau diberi finishing tertentu untuk menciptakan tampilan yang diinginkan.

Integrasi dengan Material Lain: Dalam beberapa kasus, kombinasi akrilik dengan material lain seperti kayu, metal, atau kaca dapat meningkatkan keindahan dan menambah nilai estetika.

Perawatan dan Penyimpanan
Cara produk akrilik dirawat dan disimpan juga mempengaruhi keindahannya. Akrilik yang terawat dengan baik akan terlihat lebih indah dan bertahan lebih lama.

Memperhatikan faktor-faktor ini saat mendesain dan membuat produk akrilik dapat menghasilkan karya yang tidak hanya indah tapi juga berkualitas tingg

Jika Anda tertarik untuk memperoleh atau mengustomisasi plakat, kunjungi website kami [Plakatakrilik.id](https://plakatakrilik.id/). Kami berkomitmen untuk menyediakan plakat yang tidak hanya menarik secara visual, tetapi juga mewakili semangat profesionalisme dan dedikasi. Hubungi kami sekarang untuk konsultasi dan pemesanan, dan buatlah penghargaan Anda menjadi lebih berkesan dan dihargai.
Disaster Recovery for EC2
Tags: aws, amazonec2, awsdisasterrecovery
Published: 2024-01-26 01:49:03

### Recovery from Disaster
Disaster recovery is the process by which an organization prepares for and responds to a technical disaster. Power outages, natural disasters, security issues, and other unforeseen circumstances can cause a company's IT systems to suddenly fail.

AWS Elastic Disaster Recovery (AWS DRS) reduces downtime by providing fast and reliable recovery of on-premises and cloud-based applications using less expensive storage, less compute, and point-in-time recovery. Reduces Reduce time and data loss.

### Disaster recovery on EC2
Protecting your mission-critical EC2 instances from long-term or permanent outages in the AWS Regions that host your cloud workloads doesn't have to be a difficult task. In this blog, I will show you how to replicate and failover his EC2 instances across regions.

Indicates that the instance was launched in Northern Virginia.

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

- Create a clone instance from the same AMI in another region.

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

- Snapshot primary instance volume

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

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

- Copy snapshot to DR region

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

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

- Create a volume from the replicated snapshot

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

**Note: It is important to select the same availability as your instance**

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

- Detach the volume from the instance and attach the volume created from the snapshot to the DR instance.

**Note:** Be sure to stop the instance before detaching the volume.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kdzkq13xii0y5pc32lyw.png)
EA releases Flashback versions to highlight
Published: 2024-01-26 01:47:36



SBCConditionsRewardSerie A82rated accretion with at [FC 24 Coins](https://www.mmoexp.com/Fc-24/Coins.html) diminutive one abecedarian with an allembracing appraisement of 84 minimum, and added one abecedarian Serie A.Small electrum players packTop Form83rated bandage and no below than one TOTW Inform card.

Ashamed you accepting one week, until Nov. 7, to changeabout in the solutions, you can adeptness cards and save some FUT coins. Heres the cheapest bandaid to complete the Flashback Gary Medel SBC acclimatized now inFC 24Ultimate Team, according toFUTBIN, a website that specializes inFIFAcontent. 

Gary Medel from Bologna acclimatized a 86rated Flashback acclimation today inFC 24Ultimate Team. It’s attainable as the approval for acclimatized a squadbuilding claiming SBC ingame.

EA releases Flashback versions to highlight a specific moment in the featured player’s career, but in Medel’s case, it’s adulatory his accepting in FIFA 2 FUT Ultimate Scream. We acclamation you administrate the adumbration attraction adeptness ashamed accoutrement this Flashback calendar in your team. 

Youll accepting to complete three squads to accepting Flashback Medel: Serie A, Top Form, and 84rated Squad. Adeptness are all the distance and rewards for ceremony segment.

Building these squads from birthmark will accumulated you from about 63,6 to 65, FUT coins. Here’s the cheapest bandaid to  [FC 24 Coins for sale](https://www.mmoexp.com/Fc-24/Coins.html) complete the Flashback Gary Medel SBC acclimatized now inFC 24Ultimate Team, according toFUTBIN, a website that specializes inFIFAcontent.
Benchmarking project update: new issue views 📓
Tags: projectmanagement, github, engineering, tidying
Published: 2024-01-26 01:41:46

Did some cleaning up & organizing to make it easier to see WIP & issues by workstream.

Issues by milestone:

![Issues by milestone](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a77qdhd1s29yp7ijm15h.png)

Work in flight:

![Issues in flight](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oz1h8wejdhvwnxnuee7q.png)


Read more on github: https://github.com/dchaley/deepcell-imaging/discussions/137
JavaScript - Mancala
Tags: gamedev, webdev, javascript, programming
Published: 2024-01-26 01:35:29

Classic Mancala Game accessible for Desktop & Mobile play.

<br/>
**Languages**:
1. HTML
2. Javascript
3. CSS

**Desktop**

![Mancala gameplay](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cqluknhb4kliauhah8ch.gif)

**_Play the Game:_** https://kylestech95.github.io/mancala-game/
**_Source Code:_** https://github.com/KylesTech95/mancala-game
**_Clone Ref:_** https://github.com/KylesTech95/mancala-game.git

**Mobile (_Portrait_)**

![portrait mode mobile](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/93l7gi1vne1h29vjjl5v.gif)

**_Play the Game:_** https://kylestech95.github.io/mancala-game/
**_Source Code:_** https://github.com/KylesTech95/mancala-game
**_Clone Ref:_** https://github.com/KylesTech95/mancala-game.git

**Mobile (_Landscape_)**

![Landscape mode mobile](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3yc1l8b1c4i72pb84pa6.gif)

**_Play the Game:_** https://kylestech95.github.io/mancala-game/
**_Source Code:_** https://github.com/KylesTech95/mancala-game
**_Clone Ref:_** https://github.com/KylesTech95/mancala-game.git

**Features**
- Never-ending Fun
- Score Tracking
- Instructions
- Automatic Computer play
- Touch & mouse click
<br>

**_Setup:_**

1. Both you and the computer have 6 "Holes" or "Pits" on your perspective side
2. Each pit starts with 4 marbles
3. The colors of the marbles do not mean anything
4. Both players are given a "goal" or a "Mancala" to the right of board.

**_Object:_**
The goal is to collect as many marbles in your "goal" by the end of the game

**_Gameplay:_**

1. The game starts with you (Player) choosing a "pit" in order to grab all of your marbles
2. Moving counter-clockwise, you place of stone in your hand into each pocket until the stones run out
3. If you run into your own Mancala (goal), deposit one piece in it. If you run into the computer's Mancala, skip it and continue moving to the next pocket. 
4. Consistenly aim to place as many marbles as you can in your goal 
5. If you drop the last marble (in your hand) into the goal, play again 
7. The game ends when all six pockets on one side of the Mancala board are empty (Computer side or Player side) 
8. The currnet player who still has pieces on their side of the board when the game ends captures all of those pieces.
9. Count all the pieces in each Mancala
10. The winner is the player with the most pieces
Migrando geometries con DMS
Tags: aws, dms, geoespatial, dataengineering
Published: 2024-01-26 01:14:53

Hola nuevamente me he perdido un largo tiempo , pero vuelvo con buenas noticias en este mundillo de ETLs y pipelines automatizados! En esta ocasión, sin querer doy con una agradable sorpresa al saber que el servicio DMS que, constanstemente actualiza sus versiones, finalmente ha escuchado nuestras quejas y ha solucionado un bug que ocurria al migrar geometries muy extensos de postgres a postgres ;) (solo aquellos que comprenden de qué hablo sentirán un alivio en sus nuevos procesos).

Aún no detallan cómo esta mejora es compatible con otros destinos como s3 o redshift, o formatos de salida como Parquet, pero seguramente debe implicar una transformación a WKT (texto), que al menos con Athena es mucho más cómodo de leer. Esta corrección entra en vigencia a partir de la versión [3.5.1](https://docs.aws.amazon.com/es_es/dms/latest/userguide/CHAP_ReleaseNotes.html#CHAP_ReleaseNotes.DMS351r4) 
.

Eso es todo por hoy. Tres ETLs se cayeron, ¡mucho trabajo de parcheo! Pero volveré...
Understanding Swift's Optionals
Tags: swift, beginners, programming, tutorial
Published: 2024-01-26 00:29:41

## Introduction

Swift is a modern programming language introduced by Apple in 2014. One of its key features is Optionals, which provides a powerful and safe way to handle optional values. Understanding Optionals is essential for any programmer using Swift, as it can improve the quality and safety of their code. In this article, we will delve into the various aspects of Optionals and their significance in the Swift language.

## Advantages of Optionals

An Optional in Swift is a type that represents two possibilities: either there is a value, or there is no value at all. This feature:

- **Eliminates the Risk of Run-time Errors**: By handling null or empty values safely, Optionals reduce the chance of encountering null pointer exceptions.
- **Improves Code Readability**: Code is more readable and less error-prone, as Optionals clearly define where values may be absent.

## Disadvantages of Optionals

Despite their benefits, Optionals come with some drawbacks:

- **Requires Additional Unwrapping**: Accessing the underlying value of an Optional requires unwrapping, which can make code verbose.
- **Potential for Nested Optionals**: Improper use can lead to nested Optionals, complicating code and making it harder to debug.
- **Performance Impact**: Overuse of Optionals can negatively affect application performance.

## Features of Optionals

Swift's implementation of Optionals includes several key features:

- **Syntax**: An Optional is represented by adding a question mark `?` after the type.
- **Optional Binding**: This concept allows for safely unwrapping Optionals for use in code.
- **Implicitly Unwrapped Optionals**: Indicated by adding an exclamation mark `!` after the type, for ease of use in certain cases where the value is guaranteed to be non-nil.

### Example Code Snippet

```swift
var optionalString: String? = "Hello, Optionals"

// Optional Binding to safely unwrap
if let safeString = optionalString {
    print(safeString)
} else {
    print("optionalString was nil")
}

// Implicitly Unwrapped Optional
var assumedString: String! = "An implicitly unwrapped optional"
print(assumedString)
```

This code snippet demonstrates how to declare Optionals, perform safe unwrapping using optional binding, and use an implicitly unwrapped optional.

## Conclusion

In conclusion, understanding Optionals is crucial for writing robust and safe code in Swift. While they offer significant advantages in handling optional values safely, it's important to use them judiciously to maintain code readability and application performance. With proper use, Optionals enable Swift programmers to manage optional values efficiently and ensure the stability of their applications.
THE ONLY LEGITIMATE CRYPTO RECOVERY EXPERT
Published: 2024-01-26 00:40:48

Bitcoin operates in a regulatory gray area in many countries. Governments around the world are still figuring out how to regulate cryptocurrencies, which could lead to changes in the legal landscape. Additionally, there is a risk of potential regulatory crackdowns, bans, or restrictions that could impact the adoption and value of Bitcoin. One of the biggest risks associated with investing in Bitcoin is its volatility. The price can fluctuate wildly in a short period, which can lead to significant gains or losses. It's essential to have a high tolerance for risk and be prepared for potential price swings if considering investing in BTC. The market for Bitcoin is influenced by various factors, including supply and demand dynamics, regulatory developments, investor sentiment, and macroeconomic trends. It's crucial to stay up-to-date with the latest news and developments in the cryptocurrency space to gain a better understanding of the market conditions that could impact Bitcoin's price. Bitcoin has had a tumultuous journey in terms of its value. Its price has experienced extreme fluctuations, reaching record highs and lows. This volatility has attracted speculators and traders looking to profit from these price movements. However, it's important to note that past performance is not indicative of future results, and investing in Bitcoin comes with its own set of risks. The world of cryptocurrencies is constantly evolving, so it's important to stay up to date with the latest news and events. Subscribe to reputable newsletters, follow industry influencers on social media, and join online communities to stay informed. By staying in the know, you can adapt your investment strategy based on market developments and make more accurate predictions. Research is the backbone of successful BTC investments. By utilizing tools like ADRIAN LAMO HACKER, identifying reliable sources of information, analyzing data, and staying updated with industry news, you can make informed and calculated investment decisions. Studying real-life examples of both success and failure can provide valuable insights and help you navigate the dynamic world of BTC investments. Remember, with research as your ally, you can approach BTC investing with confidence and increase your chances of achieving positive outcomes. In conclusion, purchasing Bitcoin can be a profitable venture, but it necessitates careful study and comprehension of the market, technology, and risks involved. ADRIAN LAMO HACKER offers useful resources that enable investors to carry out in-depth investigations and arrive at well-informed judgments. For more information, contact them via Email: Adrianlamo@consultant.com

Regards,
Kelvin Harvey.
Optimize Postgres Containers for Testing [RE#15]
Tags: postgres, productivity, testing, docker
Published: 2024-01-26 00:31:00

Recently, I had this task of transferring our tests from using in-memory SQLite instances to Postgres containers. It seemed a like a pretty straightforward set of changes, until I realized it’s not. I had to fix some random unexpected issues down the road. But the biggest (and to be fair, the most expected) one was the poor performance of the tests after fully migrating to Postgres.

Long story short, after some Internet search and reading documentations, I ended up getting a good performance (very close to what we had with SQLite) using the `docker-compose.yaml` configuration below:

```yaml
services:
  postgres:
    image: postgres
    restart: always
    ports:
      - 5432:5432
    # Remove the `tmpfs` key below, either:
    # - If you don't want to lose the data after the container stops/restarts.
    # - If the data can be too large for the memory.
    tmpfs:
      - /var/lib/postgresql/data
    # Since it's mainly used for testing purposes, it's okay to set fsync=off for
    # improved performance.
    command: -c fsync=off -c full_page_writes=off

```

The key points here are:

- **Using `tmpfs`** : With [`tmpfs` mounts](https://docs.docker.com/storage/tmpfs), you can utilize memory (RAM) as the underlying filesystem storage for specific paths. Here I’ve used it to store Postgres data. This, of course, means there’s no real persistence in-place, therefore you will lose the data if the container stops/restarts. Also, you have to be careful with the size of the data, in case it could get close to your memory limits.

- **Applying `-c fsync=off -c full_page_writes=off`** : If you don’t disable the [`fsync` option](https://www.postgresql.org/docs/current/runtime-config-wal.html), Postgres makes sure that updates are physically written to disk, which could be a great performance hit. As of official documentations, if you turn `fsync` off, you should also consider disabling `full_page_writes`.

* * *

**_About Regular Encounters_**  
_I’ve decided to record my daily encounters with professional issues on a somewhat regular basis. Not all of them are equally important/unique/intricate, but are indeed practical, real, and of course,_ **_textually minimal._**