I was going to say essentially the same thing. In my early 20s I was working at Sony Computer Entertainment America as a QA tester and EVERYONE was playing and talking about WoW non-stop. This was probably around the time that Burning Crusade came out, or maybe WotLK. At the time it felt like I was the only person in my work/social circle NOT playing WoW.
I tried to pick it up years later, playing solo. It just doesn’t have the same appeal. I definitely feel like I missed out on something special by not having played it during the heyday.
The problem could be solved by placing PCM audio into some other container format. WAV proliferates for historical reasons but perhaps we need a slightly more modern audio container format that will accept any kind of bit stream + metadata, etc. I suppose MKV could fit the bill today. Are there any other good candidates?
I feel like there’s actually a growing subculture of C programmers of late, seemingly spawned by Casey Muratori’s Handmade Hero series, Zed Shaw’s “Learn C The Hard” way and other more recent popularizations of C and low level programming ideas. There’s a whole “Handmade” software scene growing up, seemingly as a reaction against the bloat and over engineering of more recent software trends like Electron and web apps.
Just the other day I stumbled across a vibrant Discord group focused on a fairly new but surprisingly feature complete game engine called Gunslinger, written entirely in C99.
I’ve been working on my own C-based game engine for awhile too after having been exposed to the ideas of Handmade Hero, as well as from the influence of a good friend who has been writing games in C for many years. He’s now working on an application called Pixel CNC for generating 3D tool paths from 2D images.
May as well call it Tracky McTrackface. Looks like and awesome project but “Ploopy” is such an odd naming choice. Is it a non-English word or have special meaning in the community?
My friend is working on a (currently) Windows-only desktop app called PixelCNC, which converts 2D images to 3D meshes and the associated g-code for machining. He’s been doing alright with it from my understanding.
Wirecast has existed since at least 2008, with most of the same core compositing and switching functionality we see in the space, although originally Wirecast did not support RTMP. It was originally only able to stream to QuickTime RTSP servers and Windows Media Server.
XSplit emerged slightly before OBS Classic but OBS innovated with a far superior game capture implementation on Windows, supporting shared texture hooking across D3D8-D3D11 and OpenGL, which helped it gain massive traction with the Twitch crowd. After retaining a large user base it was eventually rewritten as the cross-platform OBS Studio.
VSCode has excellent work preservation. I’ve had multiple Windows in VSCode open for months, with many “unsaved” documents open, and it always reloads everything after reboots and shutdowns.
I don’t understand why everyone is supposing that an entire household should be fine with the ability to send at most a single video stream out. What if both my wife and I have separate calls we need to be on? Or my kids want to play Fortnite while I’m uploading data for work? 10mbps up is 1990s-era tech.
I used to work on a commercial live streaming software app and we routinely had C920s fail from the actual USB wire shorting out. The Brio is overall a much better camera, particularly with the detachable USB-C cable.
My father routinely had to transfer multiple gigabytes of CAD model data to colleagues and clients back when he was was working in aerospace as a private contractor. He lived in a rural area and had to get by with satellite internet at the time. The real killer for him was the data caps and throttling that the satellite provider would impose after transmitting some ridiculously small amount like 25GB.
Not every worker in the world goes to work in a shared office space with enterprise class Comcast or fiber accounts. Modern businesses of many types can benefit or even must have fast uploads.
I think it's the fact that mindisc and CDs and other removable media had physical motion that some people find fascinating. As computers have become more powerful they've also become much less mechanical, at least at the human interaction scale. The physicality of human-computer interaction has almost been reduced to holding up a glass screen and either passively viewing or endlessly swiping, at least for many people.
OBS uses NV12 variant of YUV by default for its rendering pipeline, which is supported as a GPU pixel format by Direct3D. OBS has written various shaders to convert into and out of NV12 on GPU.
Wirecast has been around since the mid-2000s and has a very similar feature set to OBS. It is lacking in some areas and ahead of the curve in others (Wirecast has GPU-accelerated scene preview thumbnails instead of OBS’ flat text list). VMix is another successful proprietary desktop streaming software. You could also probably add the OG, TriCaster, to the same list as it solves many of the same problems (video switching on commodity PC hardware, real-time layering/compositing, desktop capture, etc) but is married to NewTek’s hardware.
My friend develops PixelCNC, an OpenGL app for generating 3D tool paths from 2D images, on a netbook because he knows many of his users have under-powered older systems.
Game developers know how to make smooth and performant UI, to say nothing of the rest of what goes into writing a game engine, particularly a fast GPU-accelerated engine. I’m starting to think it’s primarily a cultural thing, where it’s just become acceptable in the web dev and Electron app world to ship sluggish, resource-intensive apps. I also feel like more corners are cut and performance issues swept under the rug when devs are not staring down the barrel of the hardware on a daily basis.
This is increasingly becoming less true as more people purchase the "digital only" version of most of their games. I haven't purchased a boxed copy of a game in many years, both on my consoles (PS3/PS4 + Switch) and my PC (Steam/Origin/Blizzard stores, etc). The only feasible way to resell a game tied to one of these digital accounts would be to sell the entire account.
I had a relatively normal life, working a job in tech and keeping up a stable relationship with my girlfriend while also using heroin every day. Of course I would rather have not been going down to the Mission every morning to procure the stuff. The lifestyle that accompanied the illicit use was ultimately the problem for me, not the use of the substance itself.
Thousands of people are high functioning and doctor-prescribed amphetamine users (Adderall) in this country and we don't bat an eye. As soon as you call it "meth" people get weird about it.
Don't forget about the huge ramp up in overdoses over the last few years due to street heroin being cut with fentanyl. I lost my best friend two years ago from this. If he could have been getting a known pharmaceutical quantity from a medically supplied source this wouldn't have been an issue.
Whenever discussion of FPGA comes up on HN, someone inevitably points to low latency workflows but nobody ever mentions video capture and play-out boards using FPGAs. Companies like Blackmagic, Elgato, Matrox, etc.
Did you configure FFMPEG to encode your video with the exact same encoder as ScreenFlow? If Screenflow is using hardware accelerated encoding and FFMPEG was configured for software x264 encoding, that might explain the discrepancy.
36 year old me is very glad to have learned VGA graphics programming with Turbo Pascal and Turbo C++ during high school. I've met kids these days coming out of university CS degrees in the U.S.A. that still don't have a solid grasp on how pointers work.
I believe it is in every programmer's interest to have a deep understanding of the system for which they are working on, even if they don't need to use the low level tools from day to day. Teaching C++ in DOS can still provide an excellent CS foundation IMO.