The span is simply the way the data is modeled. The way the tracing works is it calls a component called a Span Processor on both span start and end. It would be possible to implement a Span Processor that sends span_start and span_end events to your backend without waiting for the span to start.
In terms of crashing and taking a long time to complete, these are problems that are very difficult to solve on the backend as well. Simply having the start event without the end event is not enough info to say for sure that there will _never_ be an end event. For low data volumes and simple use-cases this may not seem like a big deal, but it gets complex extremely quickly.
I'm unclear about the part about expensive queries to the data store. What cron/celery/quartz job would require a check to the data store for a check that wouldn't need to be done with posthook? It seems like if work depends on a decision made with data from my data store, that doesn't change based on what I use as a timer for the task. I'm not sure that I see a clear value-add here.
What is truly astounding about this is the patience to even attempt to explain free theorems to a 6 year old. Most parents would likely answer "math" and that would be the end of it. I don't (yet) have kids, but when I do I hope I have the wherewithal to recognize and take advantage of moments like these.
>”I don’t think the average person likely reads that whole document.”
This is my favorite quote in the whole article. Sums up the pompousness of the company quite nicely I think. This is one of the largest companies in the world. The quote could easily have been “we go to great lengths to make sure that’s the case,” or “that’s the point, grandpa.” At least it wouldn’t have come across as dishonest and cowardly that way.
I assume this refers to the overhead of the JVM itself. How high that is and how much that matters has been subject to debate, but I think it is objectively higher overhead cost than the Go runtime.
I think the author is saying "more complex" relative to higher level languages like Go. They mean to put Rust in the same category as C++. It could be rephrased as "prepared to accept languages like C++, D, and Rust with more complex syntax"
I think you misunderstood what I meant by non-responsive. 10ms latency from click to action is nowhere near as noticeable as 10ms latency when dragging, because the mouse visibly lags behind.
Creating a false sense of urgency is a cornerstone of modern marketing. The only difference between this and any other marketing campaign is that you just happened to catch them this time.
This is just like when you go to an electronics store and they put the super expensive tv (almost) nobody buys right next to the still very expensive but comparably more modest model. You are more likely to buy that second tv even if costs more than you initially budgeted because your brain tells you that this is the cheaper model with _almost_ the same features as the flagship tv.
For another example, many ecommerce sites will list the number available in stock if it is low, and sometimes will just say "few available" without specifying a number. This creates the same (sometimes false) sense of urgency.
Yes there is. Humans are normally not very responsive to the time between when an action is started and when it is carried out on the screen, but this changes for actions like drawing and dragging. This is the reason for the new Pro Motion behavior on the recently released iPad Pro models. For more information, this video [1] is a good place to start.
Netlify with a GitHub post-update hook to automatically build and deploy when I push. No muss no fuss with free SSL termination provided by letsencrypt and low latency handshakes across the globe. Now if only I had something to write...
This is a nice solution but if you have any readers that don't live near you, you may want to think about using Cloudflare for SSL termination. SSL can add unacceptably high latency to connection costs for people who are not in close proximity to your host. A typical HTTPS handshake using TLS requires 4 round trips assuming no packet loss. The Cloudflare CDN does a great job of making sure this penalty is reduced as much as possible by having edge nodes as close to as many users as possible. Just something to think about.
edit: You may even want to think about using something like netlify. The free tier is easily generous for all but the most popular personal blogs and if you outgrow it you probably will be able to make enough revenue to pay for better hosting anyways.
> How do people implement live dashboards on the web these days?
> This is a solved problem. Use Flash. It's insanely customizable, has a huge ecosystem and now runs x% of the sites on the web.
This is argumentum ad populum. Lots of people used Java applets or Flash just a few short years ago, and I think we can all agree that the current HTML5/CSS3/JS ecosystem is much better.
I believe that the gist is not really meant to provide accurate numbers in every case. Especially with things like network latency, it is very difficult to say that any time is the 'correct' time because it will be different in any case. The real purpose of the gist, which is posted at regular intervals here, is to illustrate the order of magnitude differences between e.g. the L1 cache and L2 cache latency. It is meant to get a programmer to think about cache locality. If I can keep something in L1/L2 cache, it will be orders of magnitude faster than something that needs to make regular round trips to main memory, which is orders of magnitude faster than something that needs to make regular round trips to disk, and so on.
I assume it has to do with the official branding of both Google Play and the Apple App Store. The official button images that they've approved use the verbs 'get' and 'play' respectively, and I believe it is probably against their TOS to use non-approved graphics/text/branding for download buttons.