Show newer

Most of the time when I make my small video blogs, I need two kind of operations
- concat two or more videos
- add some background melody (to hide some noise)

I used to use video editors for this and it wasn't fun. The same actions again and again.

Recently, I learned that it's an easy task for FFmpeg, and can be scripted.

There are two steps.
1. Make a list of paths of video file in a "source file" like this
```
file 'input1.mp4'
file 'input2.mp4'
```
then concat it with
`ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4`

2. Add background music (and repeat it if necessary ). 0.05 = 5% - is its volume.

`ffmpeg -i input.mp4 -stream_loop -1 -i background.wav -filter_complex "[1:a]volume=0.05[a1]; [0:a][a1]amix=inputs=2:duration=first:dropout_transition=2" output.mp4`

Stoic boosted
Stoic boosted
@kennychaffin@diasp.org:

Portugal just ran on 100% renewables for six days in a row

For nearly a week, the country of 10 million met customer needs with wind, hydro and solar — a test run for operating the grid without fossil fuels.

www.canarymedia.com/articles/c…

Stoic boosted

The bill for my knee injection of hyaluronic acid. Note that the injection itself made the clinic a perfectly reasonable $314. The drug was $4900.
I checked the cost of making the stuff. $1100 a kg. Thus, the 48mg injection was billed at over 20,000 times cost.

We are all insane to be living with this madness. Insane.

#guillotines

@conor modern sites would be problem, not browser.

Stoic boosted
Stoic boosted

#FirefoxRelay Premium is finally available in the #Czech Republic, so I subscribed to it. It's cheap (23 CZK~$1/month).

It's not just a handy way to anonymize your email, it's also a way to financially support the only independent web browser left.

#firefox #mozilla

Stoic boosted

sup. is an open source encrypted fediverse instant messenger, similar to whatsapp, made by pixelfed.

The beta will be launching later this month, and btw most fediverse accounts will work, not just Pixelfed 😉

Three determined Russian feminists with expressions of defiance

The savanna is truly enchanting. My family and I enjoy journeying here annually.

During our previous visit, we were thrilled to encounter a tower of giraffes, and on another day, we marveled at a dazzle of zebras.

Additionally, we had the opportunity to witness a bloat of hippopotamuses basking in the sun, a parade of elephants roaming majestically, and a cackle of hyenas laughing in the distance.
At night, we listened to the symphony of a chorus of crickets and the hooting of a parliament of owls.

The savanna never ceases to amaze us.

Hello everyone!

In today's post, we'll discuss the data modeling and schema design for our Golang project, which focuses on analyzing a marketplace's purchase data. This analytical application will help us understand the relationships between sellers, products, and customers, as well as feedback provided by customers on their purchases. The marketplace operates in various locations, including countries and states.

Let's dive into the details of the data schema:

Node types:

Location: Represents a country or a state.

Seller: Contains attributes such as name, locations where the seller offers products, and feedback scores.

Product: Includes attributes like ID, price, and a relationship to its seller.

Customer: Has attributes like ID, location, and represents clients who ordered products and optionally provided feedback on their purchases.

Relationships:

Seller to Location: A many-to-many relationship, indicating the locations where a seller offers their products.

Product to Seller: A many-to-one relationship, connecting each product to its respective seller.

Customer to Product: A many-to-many relationship, representing the products purchased by customers.

Customer to Product (Feedback): A many-to-many relationship, where customers can provide feedback on the products they purchased.

With these node types and relationships in place, we can efficiently model our analytical application about marketplace purchases in a graph database. In the following posts, we'll explore different graph databases and evaluate how well they can handle our data model, in terms of installation, code samples, and performance.

Stay tuned for our next post, where we'll dive into EdgeDB and explore its potential for our Golang project. See you there!

```
classDiagram
Location "1" -- "many" Seller : Offers Products In
Seller "1" -- "many" Product : Sells
Customer "many" -- "many" Product : Purchased
Customer "many" -- "many" Product : Gave Feedback On

class Location {
+ID: Integer
+Name: String
}

class Seller {
+ID: Integer
+Name: String
+FeedbackScore: Float
}

class Product {
+ID: Integer
+Price: Float
}

class Customer {
+ID: Integer
+Location: String
}

Purchased --|> Customer
Purchased --|> Product
class Purchased {
+Count: Integer
}

GaveFeedbackOn --|> Customer
GaveFeedbackOn --|> Product
class GaveFeedbackOn {
+Score: Float
}
```

Copy the code above and paste it into the Mermaid Live Editor (mermaid-js.github.io/mermaid-l) or any other Mermaid-compatible diagramming tool to generate the updated schema diagram

Hello everyone!

In this blog series, we're going to explore various graph databases for a Golang project I'm currently working on.

The project requires a cloud-native graph database.

Our use case involves a small schema with a massive amount of data, millions of new edges inserted daily, and sub-second query times for interactive user engagement.
We will talk more about the schema in the next post.

Over the following days, we'll dive into different graph databases, test installations, code samples, and benchmark results. We'll kick off our journey with four popular graph databases: EdgeDB, Neo4J, and Dgraph.

Let's start with a brief overview of our project requirements and the plan for the upcoming blog posts:

Project Requirements:

- Cloud-native graph database
- Quite small schema with a huge amount of data
- Data-intensive for writing, tens million of new edges daily
- Sub-second query times for reading, interactive user engagement

Approximate plan:

- Task description and plan (today's post)
- Schema discussion and data modeling
- Diving into EdgeDB
- Evaluating Neo4J
- Assessing Dgraph
- Considering other options.

By the end of the series, we'll have a deeper understanding of the strengths and weaknesses of each option, and ultimately make an informed decision on the best fit for our Golang project.

Now, I'd love to hear from you! What are your favorite graph databases, and why? If there's a specific database you'd like us to consider, please let us know in the comments below. I'm open to suggestions and eager to learn from your experiences.

The first hour with universal paperclip was fantastic.
The second one, is a disaster. I am bored to death. Why? It looks like I made a few mistakes.

I think it's enough knowledge of not to use it anymore.

Thank God, I spent only two days on it, to understand.
```
user=> (pop (list 3 2 1))
(2 1)
user=> (pop [3 2 1])
[3 2]
```

I am not convinced that compiler that gives you error messages like
```
class clojure.lang.PersistentVector$ChunkedSeq cannot be cast to class clojure.lang.IPersistentStack (clojure.lang.PersistentVector$ChunkedSeq and clojure.lang.IPersistentStack are in unnamed module of loader 'app')
```

Should exist in 2023.

I am not happy with rust, but at least, error messages in rust are notably better than this.

Show older

Stoic's choices:

Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.