Show newer

At some point in the collective minds of people we stopped understanding the difference between attacking ideas, vs attacking the people who hold those ideas. People assume if you hate an idea someone holds by extension you hate the person. If you think an idea is idiotic then you must think people who hold the idea are idiots.

We need to get back to the place where people dont take personally when ideas are attacked.

My preferred way of making is using a since I use loose grounds/herbs.

Until recently, I could not figure out why when the plunger is all the way done and one tries to pour all the liquid in the beacon, there will always be some underneath the plunger. This made cleaning the soggy herbs more messy than necessary.

I finally noticed that if one pulls up the plunger ever so slightly, the leftover liquid will pour with more ease and thereby make cleanup easier.

While writing up a reflection of completing the for a year, I realized that my based website is missing data in its head.

The [hugo clarity theme](github.com/chipzoller/hugo-cla) comes with SEO though it is not activated by default and one would only realize it when going through the `layouts/partials/opengraph.html` code. There is the mention of the site param `blogDir` that is not implemented anywhere else within the code.

Thus to activate the SEO over and one needs to add the param `blogDir` and point it to the designated section. Using the exampleSite as a reference it would be `blogDir = "post"` in the `config/_default/params.toml` file.

(365/365)

The only caveat of the project is that it only works on 16-bit files.

There is a script on how to do it via the

`ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav`

Show thread

(364/365)

The 'Quick Start' section in the Readme sufficed for setting up.

The only thing that I had to change in the `./models/download-ggml-model.sh` script (1) is remove the option `--show-progress` on line 105. Seems like GNU Wget2 2.1.0 doesn't have that option.

Alternatively one can replace the option with

`--progress=bar --force-progress`

- 1: github.com/ggerganov/whisper.c

Show thread

(363/365)

Instead opted in to using which also works with .

Although Whisper is originally written in there is a project that makes transcribing very fast. It took less than 2min to transcribe the 26 min audio clip.

github.com/ggerganov/whisper.c

Show thread

(362/365)

Originally wanted to use to transcribe the . Initially tried it out over and its 'Speech Recognition' tool.

This took quite awhile to setup, since it is not concrete what kind file format, if any, the VOSK model should have. Additionally, the recommendation of setting up a virtual environment didn't work as expect and went with the global approach.

And finally scratched the whole approach, once realizing that transcribing 26 min audio clip is taking longer than 10min.

Show thread

(361/365)

Further options exist like (1) or stream via .

Sometimes I wished that creators would mirror their channels on more permissive sites like or that don't hard-lock into watching ads.

- 1: github.com/ytdl-org/youtube-dl

Show thread

(360/365)

Alternatively one could also use to combine the files together via the like

`ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac output.mp4`

Source: superuser.com/a/277667

Show thread

(359/365)

Most of the time, I try to watch videos on with lower resolution to speed up loading time, especially since I watch by default at twice the playback rate.

Today I realized that some instances permit the downloading of content. And even if one has to download audio and video separate, one can easily merge them together temporarily in one's favorite without the need to render the end product.

Show thread

(358/365)

For a long time was the trick to mitigate ads.

Seems like YouTube has finally caught on and now going back to .

(356/365)

Now one shall add the missing checks and default cases. Further one shall add the CSS classes mentioned in 353.

The result is seen in the image.

- 353: qoto.org/@barefootstache/11291

Show thread

(355/365)

Now that the partial is complete, look back at its parent. Combining the code from 345 and 348 one gets this image.

The problem of this code so far is that it doesn't check if the `$itemsOutput` exists. Further there are no checks that the array `.Params.paypalItems` has any items and there is no default case.

- 345: qoto.org/@barefootstache/11278
- 348: qoto.org/@barefootstache/11291

Show thread

(354/365)

The whole code of the partial looks like in the image.

A lot of this code can be squashed to save space for the cost of readability.

Show thread

(353/365)

Looking at the code in the image that will be parsed over using the `printf` function.

First one creates a `change` event listener function that is bound to the id of `item-select-$uniqueID`. The `<select>`-tag shall be added the `id` attribute in line 13 (351).

Additionally a custom attribute `data-image` shall be created and placed on the `<option>`-tag in line 15 (351). This holds the path to the image value within the `paypalItems` element.

Outside of the partial the classes `selected-value` and `selected-image` need to be defined. They present the respective values from `paypalItems` element.

In the initial case, lines 10-11 will be called that take the value from the first element in the `paypalItems` array. Defined from `{{ $selectedValue := index .items 0 }}` which shall be prepended before the JavaScript code.

- 351: qoto.org/@barefootstache/11291

Show thread

(352/365)

This code will generate dynamically based off of the length of the `paypalItem` or `.items` variable and use the first element of it as the default value (line 9).

Next one will extend the code with more CSS classes to ease the referencing of the JavaScript actions.

Show thread

(351/365)

Now that the exists, it shall be converted into syntax as described in 349. As in the image, some functions are used like `printf` and other Hugo functions to loop over the variables that are saved as an array type.

- 349: qoto.org/@barefootstache/11291

Show thread

(350/365)

Now wrap the code (338) with a `<div>` and a class that extends the `uniqueID` (345) in its name. The pseudo code looks like the image.

- 338: qoto.org/@barefootstache/11278
- 345: qoto.org/@barefootstache/11278

Show thread

(349/365)

Further within the partial, since `safeHTML` will be used one can parse string using and syntax within . As an example

`{{ $output := "" }}`

`{{ $output = print $output "<span>Example</span>" }}`

`{{ return $output }}`

This creates a `<span>`-tag with the text `Example` after `safeHTML` pipe is applied.

Show thread
Show older
Qoto Mastodon

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