Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API

From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "audio"
-
Fuck chromium devs and their hate for linux. Piece of shit
https://bugs.chromium.org/p/...
TL;DR
Screen share with audio is broken under chromium, because some user didn't want the desktop audio appear when asking for input devices, when there's no microphone available.
The thread doesn't mention a specific cause for this besides "for some reason pulseaudio does this"
So what did the gigabrains working on chromium decide to do? Not list monitors (basically recording devices for on desktop audio) at all.
Why?
* UI is hard
* Because we say so
* Fuck standards
And they only do that on linux. Windows, which uses a similar concept works just fine. Mac? Yeah, just hacked it in. Linux? GL won't fix
Meanwhile they decide to add all shits of non standard, bug causing events for shits and giggles, but when you actually want to resolve issues you're met with silence and arrogance.
Once again, what a piece of shit. Chromium devs must love making things worse with every passing version8 -
I think I am going to start doing lets play series for minecraft and post online. I spend a lot of time playing modpacks with my kids and I should just start recording and add audio commentary later. I can compress the video and do speedups for boring parts and cut other segments. If I create a spreadsheet for the modpack and do it by numbers then I can burn through the modpack fast. I like watching lets play series to figure out modpacks. Especially direwolf. However, these lets play episodes are a good 30 to 45 minutes long. I want to play, not watch someone else play. I hate the ones where they don't know how to do the modpack and they don't cut the video. Direwolf does a great job editing his videos. His video is FULL of good content.
If I can get the videos short enough it will keep the attention span of the mass plebes that cannot find their way out of a paper bag. This is definitely catering to the lowest denominator. I can turn my hobby into something useful. I want to try and compress the 30 minute video into 5 to 10 minutes. It will be a minecraft junky playthrough. Maybe add some time lapse stuff too.
I think I should do the playthrough first, reset server and do again with video capture. I want to incorporate comedy into the videos too. Gaming should be fun. I wonder how much space a 30 minutes video will take?6 -
"Old Person" (noun):
Someone who refuses to wear earplugs, headphones or other personal hearing aid audio devices while demanding, but not paying attention to, a living room television set on the loudest possible volume.2 -
I know streams are useful to enable faster per-chunk reading of large files (eg audio/ video), and in Node they can be piped, which also balances memory usage (when done correctly). But suppose I have a large JSON file of 500MB (say from a scraper) that I want to run some string content replacements on. Are streams fit for this kind of purpose? How do you go about altering the JSON file 'chunks' separately when the Buffer.toString of a chunk would probably be invalid partial JSON? I guess I could rephrase as: what is the best way to read large, structured text files (json, html etc), manipulate their contents and write them back (without reading them in memory at once)?4
-
The Zen Of Ripping Off Airtable:
(patterned after The Zen Of Python. For all those shamelessly copying airtables basic functionality)
*Columns can be *reordered* for visual priority and ease of use.
* Rows are purely presentational, and mostly for grouping and formatting.
* Data cells are objects in their own right, so they can control their own rendering, and formatting.
* Columns (as objects) are where linkages and other column specific data are stored.
* Rows (as objects) are where row specific data (full-row formatting) are stored.
* Rows are views or references *into* columns which hold references to the actual data cells
* Tables are meant for managing and structuring *small* amounts of data (less than 10k rows) per table.
* Just as you might do "=A1:A5" to reference a cell range in google or excel, you might do "opt(table1:columnN)" in a column header to create a 'type' for the cells in that column.
* An enumeration is a table with a single column, useful for doing the equivalent of airtables options and tags. You will never be able to decide if it should be stored on a specific column, on a specific table for ease of reuse, or separately where it and its brothers will visually clutter your list of tables. Take a shot if you are here.
* Typing or linking a column should be accomplishable first through a command-driven type language, held in column headers and cells as text.
* Take a shot if you somehow ended up creating any of the following: an FSM, a custom regex parser, a new programming language.
* A good structuring system gives us options or tags (multiple select), selections (single select), and many other datatypes and should be first, programmatically available through a simple command-driven language like how commands are done in datacells in excel or google sheets.
* Columns are a means to organize data cells, and set constraints and formatting on an entire range.
* Row height, can be overridden by the settings of a cell. If a cell overrides the row and column render/graphics settings, then it must be drawn last--drawing over the default grid.
* The header of a column is itself a datacell.
* Columns have no order among themselves. Order is purely presentational, and stored on the table itself.
* The last statement is because this allows us to pluck individual columns out of tables for specialized views.
*Very* fast scrolling on large datasets, with row and cell height variability is complicated. Thinking about it makes me want to drink. You should drink too before you embark on implementing it.
* Wherever possible, don't use a database.
If you're thinking about using a database, see the previous koan.
* If you use a database, expect to pick and choose among column-oriented stores, and json, while factoring for platform support, api support, whether you want your front-end users to be forced to install and setup a full database,
and if not, what file-based .so or .dll database engine is out there that also supports video, audio, images, and custom types.
* For each time you ignore one of these nuggets of wisdom, take a shot, question your sanity, quit halfway, and then write another koan about what you learned.
* If you do not have liquor on hand, for each time you would take a shot, spank yourself on the ass. For those who think this is a reward, for each time you would spank yourself on the ass, instead *don't* spank yourself on the ass.
* Take a sip if you *definitely* wildly misused terms from OOP, MVP, and spreadsheets.5 -
- Linux (OS)
- VSCodium (General Coding)
- Godot (Game Dev)
- Krita (Digital art and edits)
- Blender (3D Art)
- LibreOffice (Docs)
- LMMS (Music/Audio)
I'm trying to find OpenSource alternatives to anything creative I do.3 -
this is the third tape deck ive bought and the only one that gives any good quality bass/treble adjustment2
-
Behold! This is the first time in my career when Jest and unit testing in general actually helped me 😂
Spent two days moving from a fucking slow piece of crap called Gatsby to Vite, trying to comprehend the difference between TS aliases, Babel aliases and Linaria aliases. Found an answer inside a totally unrelated issue explaining Jest stuff, good job on documentation, Linaria!
Vite is fast. Crazy fast. Forget about Webpack, Parcel and things alike — Vite doesn't even need to bundle JS.
Gatsby was slow to the point of my computer's audio glitching, I'm not even talking about the OS interface lags.
Vite is fast to the point that I don't actually need a new MacBook.1 -
Utility libraries, because I actually get to see my life improve because I have them. Creating new projects becomes easier because I put parts I reuse somewhere else.
There was an old config file generator/manager I kept using for a while, some string conversion libraries between formats, some REST/WebRTC API wrappers, I have a web audio API I create tunes with in various projects. CI/CD scripts for laziness so I never have to know how to set anything up again. Lately the thing I'm most happy about is I turned some free text saving service into a makeshift database and it's been working well for about half a dozen projects now. Wouldn't handle large amount of users but can't beat free and easy.
I also find merit in prototypes/old projects, because I can reference random things I did in them in newer unrelated projects. Things too small to warrant their own utility library, argh! -
everyone has been on pipewire's nuts lately and i dont really get it
it keeps fuking up for me every update. dropping sources, swapping sources. every time i start certain things it will NOT save the audio from pavucontrol
wtf is the hype for then?8 -
!Rant?
Hey, have been having several job interviews, does anyone have any advice on how to approach being interviewed by people from India, have been doing a lot of job interviews for a lot of companies in the US and seems like I'm interviewing for a position at India, it's very difficult to understand them and often they get offended when asked to repeat themselves... I try to be as positive and optimistic as I can but often poor audio on their part and very thick accent makes it difficult... any tips? this happen to more people? am I the only one?
Thanks...5