a "quick start" really should just work when you copy paste them.
53 karma · joined August 31, 2016
a "quick start" really should just work when you copy paste them.
https://sprites.dev/api has this command:
$ curl -X POST "https://api.sprites.dev/v1/sprites" \ -H "Authorization: Bearer $SPRITES_TOKEN" \ -d '{"name": "my-sprite"}'
which responds with
{"error":"name is required"}
if you use the request body in the full "Create Sprite" documentation at https://sprites.dev/api/sprites#create then it does work.
can I live with some rough edges for some personal workflows that only impact me when things break? sure. however, I was thinking about playing with some CI/CD stuff using sprites that would impact our whole team if things broke and I'm really on the fence because of this experience in the first 20 seconds.
Fly team - please put some black box probes or just better testing on the example you give in the quick start. if you document it, test it.
adaptors - someone else's APIs
That and some drapes will be what I try this weekend, maybe next weekend try to add some acoustic panels to the wall right in front of my desk or something.
I appreciate it's a good bit of guess and check. I was hoping to avoid that and get to the root of it with a technical acoustics answer but I also appreciate there's people with phds in this kind of thing so something something balance.
is there any reference material you'd recommend reading?
sadly, Mux's manifest servers have not been redundant because the edge logic is a pile of Fastly's VCL. as mmcclure says, we're working on adding another CDN that can run our manifest serving logic so that we can be fully redundant.
I am really looking forward to a standard and portable edge platform that makes redundancy at this application layer easier. wasm here we come?
"When you start a project, you always think that finishing and launching your project is the hardest part. However, after the launch you realize that the most difficult part is just ahead."
Any recommendations for how to handle this kind of co-founder situation?
I'm thinking about working with them to define equity incentives on both sides, but I'm short on other ideas for how to make things feel well balanced in the short term given our unbalanced skill sets.
If you have questions about video streaming on a specific platform feel free to reach out! (my full name at mux)
Curious where you saw we were using the nginx rtmp module given that we don't have a public live streaming offering yet, but it is coming soon! Oh and yes nginx rtmp is probably the best open source offering on the market now so we will be using that. We've got plenty more coming as well so stay tuned.
If you want to select the quality you want to view at, that's a player decision. You can bring your own player to Mux. We think that's pretty neat. You can't bring your own CDN though, because we've taken that part of out of the equation for you. We've actually started integrating with multiple CDNs and have a Cedexis integration as well which helps us pick the optimal CDN for each playback. Hopefully handling all that configuration helps make things easier for developers just getting started with video and enables better smoother playbacks for everyone.
Finally, we are hiring so if you know some things about video and want to join us please reach out!
it has a more visual explanation of the OSI model and how it relates to routing and different kinds of hardware. I also tried to explain some of the interesting problems in actually building out a network in the second half of my talk.
if anyone is just trying to learn the basics of networking I'd also strongly recommend the Juniper Networking Fundamentals online class, its free at https://learningportal.juniper.net/juniper/user_activity_inf... or you can find videos of it on YouTube.
https://github.com/theRealWardo/proto-bench
So yes, if your application has to send a lot of structured data around, you will end up paying a non-trivial serialization cost. On the other hand, if your application is sending really simple messages then I highly doubt proto serialization is the performance bottleneck you should focus on.
Here are a few things I highlight in this post as things to consider when architecting for failure: Retry, Backoff and Rate Limit. Use a Cache. Add Redundancy. Build a Buffer. Reconsider Dependencies. Introduce Isolation. Improve Test and Release Practices.
Click the post for more about how I think about each of these. I think that considering cost tradeoffs when doing evaluating each of these approaches is what makes architecting systems so challenging (and interesting).
What else do you do in your systems to handle failures gracefully? Any questions about what we are doing or how we are doing it?