As you’ve pointed out High SPL isn’t what breaks ribbons, it’s high SPL at low frequencies (ie wind/air moving frequencies, like those produced from a slamming wooden case lid.
Kick drums and bass guitar amps might not be a good match for a ribbon, but speech (with a pop filter) is fine.
Modern mics like those from Royer Labs can handle high SPL (cranked 100w guitar amp).
There are a few reasons why professionals still like ribbons for certain tasks: unlike condensers and dynamics, the resonant frequency of the ribbon is typically very low (20Hz), so you don’t get any peaks or artifacts when the source audio vibrates at the resonant frequency of the mic. Also, if you like the sound of your expensive mic preamplifier, the low output ribbon mics let you add gain/dirt/harmonic distortion which to some is pleasing to the ear.
Love that the op built his own, that’s really awesome.
No, it's a function of the acoustic, mechanical, and electrical properties of the entire system.
An easy way to understand this with dynamic mics is that the coil itself has some resistance, inductance, and capacitance that impedes the flow of the induced current through the coil. That impedance is frequency dependent, so the properties of the coil affect the frequency response.
Same principle applies to all transducers. The acoustic energy is converted into mechanical/kinetic energy and then into electrical energy. So to understand the frequency response you need to understand the acoustic, mechanical, and electrical impedances.
Yeah, I have a Royer R-121 which I use in combination a SM57 on guitar cabs/amps - classic combo as you get the fullness and low-end of the Royer, and attack and top-end of the dynamic. But eyewatering price when considering it's only one microphone (though it has more use cases, like overhead).
With that said, every ribbon mic I've owned, I've felt like I've had to handle with kid gloves, just in case.
The AWS v4 signing method is a spec for how to do HMAC request signing. It is not limited to use only with AWS services.
You can use it to sign requests on any service, and there are many implementations. Here is an example of one I’ve used in the past: https://github.com/auroratechnologies/vangoh
Tapping out SOS with a wrench makes sense. SOS has an unmistakable sound to it that is instantly recognizable to even the most novice Morse operator (even when I've practiced it, it has chilling effect on me).
Even though each tap (each clunk of the wrench) has the same duration the altered mark/space ratio makes it unmistakable. (Try it by tapping a rule on the desk or clapping hands.)
If a skilled Morse operator were ever in that situation I'm pretty certain at least simple messages could be communicated that way—almost anyone will recognize SOS, skilled operators will be able to do better.
This is cool, and I applaud the author’s effort. For certain projects this is likely the right way to go.
However, another way to solve this which is safe to use when testing packages in parallel, and let’s you work against your exact database (driver/protocol/version etc)
Each package under test copies the database schema to a new database with the name “{package}_{uuid}”.
TestMain in each package is responsible for:
-cleanup of old databases with the same prefix
-create a new test database to work against.
Tests within a package are run sequentially, and are responsible for wiping the package’s test DB at the start of each test.
The pattern of “defer cleanup” is avoided in favor of deleting at the start to avoid the edge cases of crashing in the middle of a test run.
One of the beautiful things about a static site is it’s ability to be served by object stores like S3 as your origin, and cached by a CDN.
From an operations standpoint, you are not responsible for maintaining much of anything, the performance is super fast, highly available, and relatively cheap (no dedicated servers, just paying for bandwidth and storage costs)
Contrast that with a docker container as your origin... it must be running (and that is your problem to ensure it is).
If you’re optimizing for developer convenience, your traffic is low or not mission critical, or maybe you have a globally distributed highly available k8s cluster and that is “the way” your company does all the things... sure why not
Docker is nice because you end up with the same configuration in development and production. There are many hidden details that "just let someone else host your site" or "just rsync your files to a server" gloss over. Who is renewing your TLS certificate? Where do you configure headers, redirects, mime type mappings, etc.? Where do access logs go? How do you update the version of the web server? What effects does that update have?
When you manually do these things, you rely on a bunch of implicit defaults. Maybe your production server and your workstation happen to have the same version of nginx, and happen to set the same defaults. So you can test a change on your workstation and the same change works in production. But more likely, that is not the case. So you get weird differences between development and production, and you only notice when you push to production. That is not ideal. Building an image with your webserver and static files ensures that you see the same things in both places. There is no need to test anything in production, as you have a copy of the exact code and data that is going to be running in production, locally. You can tweak and poke to your heart's content, confident that you'll have the same effect when you push to production. There is no need to maintain documentation about how to build your project and what versions of things you use; you specify them in a machine-readable format and the machine dutifully builds the project correctly every single time.
(One disadvantage of clean builds, though, is that sometimes you want old artifacts to exist. Consider a case where you use webpack to generate javascript. Typically, you'll output a bundle like "main.abc123.js" which is loaded from "index.html" via a script tag. What happens when the browser loads index.html from your last build, then you the next request goes to an updated server, which says to get "main.def456.js" instead? The page silently breaks, because the server doesn't have a file called "main.def456.js" anymore. "rsync --delete" has the same problem. And if you never delete anything, you eventually use an infinite amount of disk space. So there is definitely room for improvement here, but "it will probably work if I don't think about it and cross my fingers" is not the improvement we're looking for.)
Common mistake. Good vibrations did not actually use a theremin. It was a ribbon controller type instrument that was designed to mimic the sound. Theremins are hard. https://en.m.wikipedia.org/wiki/Electro-Theremin
It’s a static site, so perhaps S3 (or any static cloud storage origin) and any CDN are a better comparison. What is the total power consumption of 1/nth of a large pool of cloud resources compared to the power draw of the router they are using in the office that is powered by the grid?
Regardless, I must say I love the “offline is ok”, “slow computing” (ala slow food), “get off my lawn”, “sustainable beats schfnacy” attitude. Nice one!
Beme is looking for a software engineer to join us in creating the next generation of apps for newshounds. We're building a new, independent, and wildly ambitious technology+media company bringing a wider range of perspectives to the news. We want to change who informs the world, and how. Our team is small and we are in our earliest stages, so your impact will be massive.
You will be developing product features and infrastructure at scale. If building a better, scalable foundation for the future of video and mobile technology is a challenge you want take on, we’d love to hear from you.
This position is based at Beme’s office in Tribeca, NYC.
What you'll do:
- Architect application’s backend, creating scalable services, frameworks, and storage solutions using GoLang.
- Have a voice in the entire product, but focus on the performant, server-side implementation of features.
- Collaborate with the rest of our small, talented team of designers and engineers on a mobile-first application. Specifically Beme’s API and workers written in Golang, and hosted on AWS.
What we're looking for:
- Prior experience with Go and AWS is not a prerequisite for a seasoned coder, but mastery of at least one statically typed language (C++, Java, Golang, etc), understanding of back-end scalability, performance, and/or automation is important.
- The ability to comfortably straddle the line between back-end dev and dev/ops.
- A practical view towards technology selection, striking the right balance between cutting-edge tools and more stable, rock-solid, traditional choices.
- Eagerness to learn as well as teach. Our engineering team come from large scale platforms like Livestream, Google Search, and Tumblr; there are many learning opportunities in this role, but we also expect you can show us a new thing or two!
We have all the perks you might expect: catered lunches, unlimited snacks, relaxed time off and work from home policy, subsidized health, vision, and dental care, 401k program, and fun team outings. We also have a homemade arcade. Interested? Get in touch with us at [email protected].
Kick drums and bass guitar amps might not be a good match for a ribbon, but speech (with a pop filter) is fine.
Modern mics like those from Royer Labs can handle high SPL (cranked 100w guitar amp).
There are a few reasons why professionals still like ribbons for certain tasks: unlike condensers and dynamics, the resonant frequency of the ribbon is typically very low (20Hz), so you don’t get any peaks or artifacts when the source audio vibrates at the resonant frequency of the mic. Also, if you like the sound of your expensive mic preamplifier, the low output ribbon mics let you add gain/dirt/harmonic distortion which to some is pleasing to the ear.
Love that the op built his own, that’s really awesome.