teleren/devto huggingface dataset:
Go Hard XL Reviews (Scam or Legit) - Does Go Hard XL Really Work?
Published: 2022-01-18 12:18:28

[Go Hard XL](https://gohardxlus.wixsite.com/gohardxl) is a strong blend of plant concentrates, minerals, and nutrients that furnishes the body with fundamental supplements it needs to support testosterone levels and further develop your sexual drive. Go Hard XL is a dietary supplement planned explicitly for grown-up men. It doesn't contain any energizer, poison component, added substance, or habit-forming ingredients that might hurt a man's health.

https://gohardxlus.wixsite.com/gohardxl
https://gohardxlus.jimdosite.com/
https://gohardxlus.godaddysites.com/
https://promosimple.com/ps/1af41/go-hard-xl
https://sites.google.com/view/gohardxlus/home
https://sites.google.com/view/go-hardxl/home
https://fetchbinarydog.com/go-hard-xl/
https://www.provenexpert.com/go-hard-xl3/
https://www.tickaroo.com/ticker/61e6a3da93c41ce710c071c6
https://gohardxlpill.footeo.com/actualite/2022/01/18/go-hard-xl-reviews-scam-or-legit-does-go-hard-xl-really-work.html
https://gohardxlpil.clubeo.com/news/2022/01/18/go-hard-xl-reviews-scam-or-legit-does-go-hard-xl-really-work
https://caramellaapp.com/gohardxlpil/gO1j-Y4hb/go-hard-xl-reviews-scam-or-legit-does-go-hard-xl-work
https://caramel.la/gohardxlpil/gO1j-Y4hb/go-hard-xl-reviews-scam-or-legit-does-go-hard-xl-work
https://mymediads.com/articles/95862
https://telescope.ac/gohardxl
https://en.gravatar.com/gohardxlpilkl
https://www.beatstars.com/gohardxl/about
https://linktr.ee/gohardxl
https://www.quora.com/What-is-Go-Hard-XL/answer/Go-Hard-XL-1
https://educatorpages.com/site/gohardxlpill
https://create.arduino.cc/projecthub/gohardxlpill/go-hard-xl-57ae59
https://gocrowdera.com/gohardxlpill
https://paper.li/7hI7YSPgpnj1dzu5p9DNA
https://www.wantedly.com/users/157897312/post_articles/373189
My biggest fuck up of 2022 (so far)

Tags: programming, testing, javascript
Published: 2022-01-18 12:13:00

I broke our signup flow at [Raport](https://raport.pro/). There was no option to sign up for our app for nearly 6 days. All of this in production.

So recently we made some big changes, implemented payments, new email notifications and changed our legal documents. All of the stuff you need to sell and become sustainable business.

In the last moment we also decided to make a better signup page. We thought that checkbox to comply with our Terms of Service is not necessary. And instead we will display simple text with information about agreement with our policies.

Everything was tested and looked good, so I pushed the changes to production and we carried on with marketing and sales. 

But as it turned out, I forgot to remove validation logic for old checkbox and the signup form returned a validation error.

Of course with removed checkbox this error was invisible to users and the whole process was confusing. You clicked "Create account" and nothing happened.

Only 6 days later, it came to our mind that something must be wrong, because no one is signing up.

Everything is fixed now, but according to our data and previous CTR we lost around 15 potential clients in that week.

And how's your year going?
JVM, JDK,JRE ve ClassLoader Nedir ?
Tags: java, jvm, jdk, jre
Published: 2022-01-18 12:04:40

JVM(Java Virtual Machine), JDK(Java Development Kit) ve JRE(Java Runtime Environment) java uygulama geliştiricilerinin aşina olması gereken temel kavramların başında gelmektedir.

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

**JRE (Java Runtime Environment)**
Java programlarının çalışmak için ihtiyaç duyduğu sınıfları ve JVM(Java Virtual Machine)’i içerisinde barındırır.

JRE => JVM ve Java Kütüphanelerini içermektedir.

**JVM (Java Virtual Machine)**
Derlenmiş bytecode’lar (.class) direk olarak CPU üzerinde çalışmazlar. CPU tarafından anlaşılması için aradaki JVM bytecode’ları okunabilir makine kodları olarak yorumlar.

**JDK (Java Development Kit)**
Java ile uygulama geliştirmek için olmazsa olmaz bileşendir. İçerisinde JRE, Compiler ve Debugger gibi geliştirme araçları yer alır.

JDK => JRE,Compiler ve debugger içermektedir.

**Java ClassLoader**
JVM tarafından Java programlarını çalıştırmak için gerekli olan tüm sınıflar, ihtiyaç duyulduğu anda ve istek gerçekleştirilerek ClassLoader ile belleğe yüklenir.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k113d0iroj9khlzq7rkv.png)
You can't believe How many website are made by Reacts!
Tags: javascript, webdev, programming, react
Published: 2022-01-18 12:01:19

Top great website are made by React! There are thousand of Big company, Engineering website, Online editor, Online graphics editor are made by React. Lets see some example:

1. [Notion](https://www.notion.so/ahadali/Web-Development-resource-b9f0d01a8ad14991b99d1ebdc82fd89e)

2. [Canva](https://www.canva.com/)

3. [Facebook](https://www.facebook.com/)

4. [TikTok](https://www.tiktok.com/)

5. [Hulu](https://www.hulu.com/)

6. [NetFlix](https://www.netflix.com/)

7. [twitter](https://twitter.com/home)

8. [JetBrain](https://www.jetbrains.com/)

9. [IBM](https://www.ibm.com/us-en?ar=1)

10. [Wix](https://www.wix.com/)

11. [PayPal](https://www.paypal.com/us/home)

12. [SqureSpace](https://www.squarespace.com/templates)

13. [AutoCAD online editor](https://www.autodesk.com/products/autocad-web-app/overview)

14. [easyEDA circuit Prototype editor](https://easyeda.com/)

15. [Udemy](https://www.udemy.com/)

16. [Educative](https://www.educative.io/learn)

17. [MDN Mozilla developer website](https://developer.mozilla.org/en-US/)

18. [Replit](https://replit.com/@iamaliahad)

19. [Outlook Mail](https://outlook.live.com/mail/0/inbox)

20. [Proton mail](https://protonmail.com)
Vue 3 + Vite + Quasar issue
Tags: vue, vite
Published: 2022-01-18 11:58:13

**Namaste to everybody!**;)

I would like to share with you one issue that i had today with my set-up of Vue, Vite and Quasar. The issue is small and it won't get much of your time and I hope this article would be useful for somebody.

I had troubles with default Quasar prebuild icons. Built a dev server I received an error: 

> The request url "../vite-vue-quasar/node_modules/@quasar/extras/roboto-font/web-font/KFOmCnqEu92Fr1Mu4mxM.woff" is outside of Vite serving allow list.

The same error I had for icons and all Quasar extras.

I had the following vite.config.js structure: 

```
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'

import { quasar, transformAssetUrls } from '@quasar/vite-plugin'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue({
      template: { transformAssetUrls }
    }),
    quasar({
      sassVariables: '@/assets/styles/quasar-variables.sass'
    })
  ],
  resolve: {
    alias: {
      '@/': `${path.resolve(__dirname, 'src')}/`
    }
  }
})
```

The tip here is that from Vite v2.7 server strict mode is set to true by default and it restricts serving files outside of workspace root. 

Link to official docs: https://vitejs.dev/config/#server-fs-strict

Below you can find an option to solve this problem with enabled strict mode, but I just turn the strict mode off.

```
export default defineConfig({
  server: {
    fs: {
      // Allow serving files from one level up to the project root
      strict: false,
    }
  },
```

Thank you for reading and I'm eager to hear if my decision is not right enough;)
Javascript's reduce method in a nutshell.
Tags: javascript, webdev, beginners, tutorial
Published: 2022-01-18 11:57:56

The word "reduce" in the English language means :

> to diminish in size, amount, extent, or number

Let's suppose that we have an array of items

`const cartItems = [1,3,5,7,9];`

I want the sum of all the items.

I could use the For Loop but it's going to be a bit hairy. The method `reduce()` will give us one total number with less code (always go for the less-code option).

reduce() takes two arguments: a callback function (the reducer itself) and an initial value. The callback function takes two arguments: the previous value and the current value:

```
let total = cartItems.reduce((previousValue, currentValue) => {
    return previousValue + currentValue;
}, 0)
```
Let's calculate the first rotation on the array.

The `previousValue` is going to be equal to 0 while the `currentValue` is going to be equal to the first item in the array, which is 1.

Next, the `previousValue` is going to be equal to 1 while the `currentValue` is going to be equal to 3 and so it goes. The total amount will be sum of all the numbers: 25

Keep in mind that the initial Value is totally optional. When omitted, the first value of the array is used as an initial value.

Note: the reverse of the `reduce()` method is `reduceRight()`. Yes! It takes items from right to left.


Ladies and gentlemen, that was a quick tutorial of the reduce() method. 

Don't forget to practice.

Thank you.
Garbage Collector: The Desirable Aspect of Java
Tags: java, programming, computerscience, tutorial
Published: 2022-01-18 11:53:17

So what is a garbage collector? 🚮
Each time we declare an object we use a system resource known as memory.
And here are some questions that spring to mind:

- What happens to the objects that we no longer need?

- Do we have to care about freeing up the space we are using?

Fortunately, Java programmers need not to care about objects that are no longer in use, that's because Java automatically frees up this space and destroys these unreachable objects and this reduces the chances of having memory leaks (which are common in other languages)
Forem: Webauthn/FIDO2 aka passwordless login
Tags: discuss, forem
Published: 2022-01-18 11:49:40

A week ago I [posted](https://github.com/forem/forem/discussions/16066) a GitHub discussion about adding passwordless accounts to forem. 

I am not sure if the post just got buried or if there is really no interest for it.

Are you interested in Webauthn support for forem? If not, why?

This is probably a rather large code change but I’d also be willing to work on it if I get some guidance, as I have not really worked with Ruby on Rails before :)
Annoying Drag & Drop Bug - Google Chrome & Chromium
Tags: javascript, chrome, webdev, linux
Published: 2022-01-18 11:39:31

---
title: Annoying Drag & Drop Bug - Google Chrome & Chromium
published: true
description: drag and drop bug in chrome browser
tags: javascript, chrome, webdev, linux
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jjim5ogcnx8k7gzedxon.png
---

In 2019, there was a bug in the drag and drop API. [#1005747](https://bugs.chromium.org/p/chromium/issues/detail?id=1005747)

Currently (Chrome Version 97.0.4692.71 (64-Bit)) there is also a bug with the drag & drop API again on Linux systems (tested on Debian Bullseye & Fedora).

Another misbehavior is that you can't move tabs anymore, but that a new window is always opened. May be the bugs are related.

The two bugs can also be observed in version 99.0.4818.0 (unstable).

You can test it with this [example](http://jsfiddle.net/e8Lrjpzt/) or [this](https://www.w3schools.com/HTML/tryit.asp?filename=tryhtml5_draganddrop)

Windows does not seem to be affected. In firefox or older chrome it works too. 

**Update:** Version 97.0.4692.99 should fix the problem

**Update 2022-05-27:** The bug seems to be back. with version  102.0.5005.61 drag and drop does not work again. Google Chrome 104.0.5083.0 dev is no longer affected. [bugs.chromium.org/p/chromium/issues/detail?id=1330158](https://bugs.chromium.org/p/chromium/issues/detail?id=1330158)

You can either use unstable, or revert to the last version.

Under debian for example it works like this:

[dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_101.0.4951.64-1.deb](https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_101.0.4951.64-1.deb)

```bash 
sudo dpkg -i google-chrome-stable_101.0.4951.64-1.deb

```

## References

* https://news.ycombinator.com/item?id=21221373
* https://chromium-review.googlesource.com/c/chromium/src/+/3355376
* https://bugs.chromium.org/p/chromium/issues/detail?id=1330158
* https://bugs.chromium.org/p/chromium/issues/detail?id=1279532
Don’t Have a Computer? Here is How to Build a Website Using Your Phone
Tags: css, html, beginners, codenewbie
Published: 2022-01-18 11:38:09

As a tech enthusiast, I am always reviewing websites, apps, the designs, creativity, functionalities, user experience and interface of the Web apps. I love playing around with websites and admiring the creativity of the designers.
 
A friend noticed this about me and advised that I started my review blog on different brand websites. That way, I will get to learn more about designs and also have an archive for my reviews.

So I decided to get my own blog but the constraint was that I don't have a personal computer. Only my phone and Internet. I said to myself, the lack of a computer won't make me procrastinate. I won't leave this for later like I always do. 

One other thing about me is, I love professionality. Yes, I want a blog with a custom domain which looks very professional and user friendly. 

**How I started Building my Blog on my Phone**

The first thing I did was to go to Google on my phone browser and searched for "How To Creat a Blog". 

To be continued...
How did you learn about Wed development?
Hello all Developers
Tags: dotnet, csharp, aspnet
Published: 2022-01-18 11:35:48

Hi,
My name ist Denis i'm from Berlin/Germany
I'm a .NET Software Developer since the year 2005.

I love to code and i'm a tech geek. 
Currently personally i'm working on a project in ASP.NET Core.
In the future i will write about my work here.
I would be happy to share with you ideas and knowledge, ask me.

Good start into 2022!
Colors.js in dart.
Tags: dart, flutter, javascript
Published: 2022-01-18 11:24:14

Ever used [colors.js](https://github.com/Marak/colors.js/)? How about the same in [dart](https://dart.dev/)?

Here, we will be using the [colorx.dart](https://pub.dev/packages/colorx/) package.

So, Let's Get Started!

### Installing
- **pubspec.yaml**
```yaml
dependencies:
  colorx: ^1.0.0
```
- Then run `dart pub get` or `flutter pub get`.

### Usage
- **main.dart**
```dart
import 'package:colorx/colorx.dart';

void main(List<String> args) {
    print(Colors('Red, Bold and with Blue background').red.bold.bgBlue);
    print('Red, Bold and with Blue background'.red.bold.bgBlue);
    print('This is a raindow text'.rainbow());
    print('This is the INDIAN Flag'.indianFlag());
}
```
Made with Extensions on the String class, this can be very productive and helpful...

### Example.dart
![Example Image 1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0co57glkuegjsaj7ly0d.png)![Example Image 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kqbcg4eegxy3x9v1vx2s.png)

### All Available Methods
- You may look [here](https://github.com/BLUE-DEVIL1134/colorx.dart/tree/main#all-available-methods/) for all available methods...

---

- **Github** • https://github.com/BLUE-DEVIL1134/colorx.dart
- **Pub.dev** • https://pub.dev/packages/colorx
Satta matka online
Tags: sattamatka
Published: 2022-01-18 11:04:47

We provide you with fastest online results of every bazar in the matka industry. We provide fastest results of RUDRAKSH MORNING, SRIDEVI DAY, TIME BAZAR, MADUR DAY, RUDRAKSH DAY, <a href="https://dreamstarline.com/" rel="nofollow">Play matka online</a> MILAN DAY, RAJDHANI DAY, SUPREME DAY, KALYAN DAY, SRIDEVI NIGHT, SUPREME NIGHT, MILAN NIGHT, RAJDHANI NIGHT And MAIN RATAN.



Time Bazar or Satta outcome improved into achieved through the making income from <a href="https://pukarmatka.com/" rel="nofollow">Play matka online</a>guess around the open up and closing fees Satta king or Time Bazar the ones that alternate in this video game can accessibility the final results of Matka, Satta on Satta Matka, Satta Matka the genuine Matka Consequence Web site


Get Lucky and and Play the satta matka game with the most minimum amount. We give you expert <a href="https://sumanmatka.com/" rel="nofollow">Play matka online</a> suggestions so that you can full fill your dreams with your own luck. Play Matka Online Today!



Kalyan Matka sartajmatka is the greatest most well-liked platform to <a href="https://sartajmatka.com/top-play-matka-online-secrets/" rel="nofollow">Play matka online</a>
  We offer you the most beneficial interface to guess and acquire substantial amounts by means of us. We proudly introduce ourselves as a user-helpful System and assist our customers with fulfilling output

Below in any respect  <a href="http://shubhlaxmimatka.com/" rel="nofollow">Play matka online</a>we don’t love Matka, we like it. Our consistant purpose to match your obsession and fervour for the sport by bringing the most effective in online matka, from kalyan as well as other important homes.


He didn’t notice which the drinking water amounts ended up a <a href="https://kabirmatka.com/top-play-matka-online-secrets/
" rel="nofollow">Play matka online</a>increased – as well as a bit hotter. He didn’t observe that all the flyfish were being absent
Liman MYS Envanter Eklentisinde Raporlama
Tags: liman, eklenti, envanter, raporlama
Published: 2022-01-18 11:03:35

Envanter eklentisinde yapılan filtrelemelerin sonucunu raporlayarak kayıt altında tutabiliriz. Öncelikli olarak filtrelenmenin nasıl yapıldığının bilinmesi gerekmektedir. Bunun için [Liman MYS Envanter Eklentisinde Filtreleme](https://dev.to/aciklab/liman-mys-envanter-eklentisinde-filtreleme-33c4) yazısını okuyabilrsiniz.

Örnek bir filtreleme yapmak gerekirse, ağaçtan **Linux Machines OU'su** seçilip **Model** kısmına "1996", **İşlemci** kısmına "KVM" yazılıp ilgili bilgisayarlar listelenir.

![1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/du0b1i8yle4gexs6m21x.png)

- Daha sonra **Rapor Hazırla** butonuna tıklanıp **CSV Raporu Oluştur** dendiğinde ilgili filtrelemenin raporu oluşturulmaktadır.

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

- Rapor oluşturulduğunda raporun tarihi ve hangi OU için oluşturulduğu da listede görünmektedir. Böylece raporlar kısmında ayrıştırma yapılabilir. Raporu yerele indirmek için **indirme butonu** kullanılır.

![3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tdl8hozq24v7ci1379vu.png)

- Rapor açıldığında ilgili filtreleme sonucunda çıkan bilgisayarların özelliklerinin raporda tablo halinde bulunduğu görülür.

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



Bir diğer filtreleme olarak ağaçtan **Computers OU'su** seçilip **Bilgisayar Ara** kısmına "pardus", **Aranacak Konumlar** kısmında ise yalnızca **İsim** seçilerek hostname bilgisinde "pardus" içeren bilgisayarlar listelenir.

![5](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sdclui4rzmac7g2hldkb.png)

- Bu filtrelemenin de raporu oluşturulduğunda Raporlar kısmına geldiği görülür. Yukarıda açıklandığı gibi tarih ve OU bilgisinden ayırt edilebilir.

![6](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mpu76ocwltxavt8zjcq5.png)
Liman MYS Envanter Eklentisinde Filtreleme
Tags: liman, eklenti, envanter, filtreleme
Published: 2022-01-18 11:02:50

Envanter eklentisinde sunulan alanlara istenilen filtreler yazılarak makineler içerisinde filtreleme yapılır. Bu kısımda her filtrenin hangi özellik üzerinde filtreleme yaptığı açıktır fakat **Bilgisayar Ara** filtresini açıklamak gerekirse:

- Bu filtre, hemen alt kısmında yer alan **Aranacak Konumlar** bölümünde işaretlenen özellikler içerisinde filtreleme yapar. 
  - Örneğin **Aranacak Konumlar** bölümünde **İşletim Sistemi** seçilip, **Bilgisayar Ara** kısmına **"redhat"** yazılırsa, **İşletim Sistemi bilgisi içerisinde "redhat" içeren bilgisayarlar filtrelenecektir.**
  - Örneğin **Aranacak Konumlar** bölümünde **İsim** seçilip, **Bilgisayar Ara** kısmına **"server"** yazılırsa, **İsim (yani hostname) bilgisi içerisinde "server" içeren bilgisayarlar filtrelenecektir.**

Bir diğer filtreleme seçeneği ise OU bazlı filtrelemedir. Sol tarafta yer alan ağaçtan istenilen bir organizasyona tıklandığında yalnız o organizasyonun altındaki bilgisayarlar filtrelenmektedir.

Geniş çaplı bir örnek vermek gerekirse, alttaki görselde görüldüğü üzere **Linux Machines OU'su** seçilir. **Üretici** kısmına "QEMU", **İşlemci** kısmına "KVM", **Bilgisayar Ara** kısmına ise "centos" yazılıp **Aranacak Konumlar**'dan **İsim** ve **İşletim Sistemi** seçildiğinde:

- **Linux Machines** OU'sunda bulunan,
- **Üretici** bilgisinde "QEMU" içeren,
- **İşlemci** bilgisinde "KVM" içeren,
- **İsim** (hostname) veya **İşletim Sistemi** bilgisinde "centos" içeren

tüm makineler filtrelenmiş olur.

![1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/812e1896gtpczx8papgb.png)
 

Farklı bir örnek olarak ağaçtan **Computers OU'su** seçilip **Bilgisayar Ara** kısmına "pardus" yazıldığında ve **Aranacak Konumlar**'dan yalnızca **İşletim Sistemi** seçildiğinde **yalnızca Computers organizasyonundaki Pardus işletim sistemine sahip bilgisayarlar** filtrelenmiş olur.

![2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nyt543go59tmoptzpe4u.png)
Day 10 of 100 - Java: Collections
Published: 2022-01-18 10:47:45

### List

`public interface List<E> extends Collection<E>`

An ordered collection (also known as a sequence). The user of this interface has precise control over where in the list each element is inserted.

1. It offers positional access to elements either by the index or looping over (ListIterator) the items in the `List`.
2. User has precise control over where items are placed in the `List`.

The common class that implements `List` interface is `ArrayList`.

https://docs.oracle.com/javase/9/docs/api/java/util/List.html

### ArrayList

`public class ArrayList<E> implements List<E>`

Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null.

Methods

- `add​(int index, E element)` - Inserts the specified element at the specified position in this list.
- `add​(E e)` - Appends the specified element to the end of this list.
- `get​(int index)` - Returns the element at the specified position in this list.
- `contains​(Object o)` - Returns true if this list contains the specified element

Example,

```java
ArrayList temperatures = new ArrayList();

temperatures.add(98);
temperatures.add(82);
temperatures.add(93);

temperatures.get(0);
temperatures.remove(0);

// clear the whole ArrayList
temperatures.clear();
```
> 📝 We do not need to specify the initial array size, like
> `int[] myArray = new int[100];`

https://docs.oracle.com/javase/9/docs/api/java/util/ArrayList.html

### Loop over the Collections

```java
for (String item: list) {
    System.out.println(item);
}
```

### Stack vs Queue

In a queue, you would be served in First in First Out.
While, in a stack it is Last in First Out like stack of documents.

```java
Stack papers = new Stack();
papers.push("Pink");
papers.push("White");
String businessPaper = (String) papers.pop();
System.out.println(businessPaper);
```


```java
Queue orders = new LinkedList();
orders.add("Order1");
orders.add("Order2");
orders.add("Order3");
System.out.print(orders.poll()); //Order1
System.out.print(orders.poll()); //Order2
System.out.print(orders.poll()); //Order3
```

### Generics

With and without generics

```diff
- List list = new ArrayList();
+ List<String> list = new ArrayList<String>();
list.add("hello");
- String s = (String) list.get(0);
+ String s = list.get(0);   // no cast
```

### Polymorphism with Collections


```java
ArrayList<Media> playlist = new ArrayList();
Video coolVideo = new Video();
Audio coolAudio = new Audio();

playlist.add(coolVideo);
playlist.add(coolAudio);

// We can use a common type to cast output
Media media = playlist.get(0);
media.play();
```