HN user

dyladan

391 karma
Posts1
Comments98
View on HN
OpenTelemetry 5 years ago

OpenTracing and OpenCensus have been merged into the OpenTelemetry project. I think OT isn't sunset officially yet, but the future is OTel.

OpenTelemetry 5 years ago

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.

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.

That doesn't really take away from the finding though. This is obviously not meant to be a thorough analysis of what opcodes a compiler "knows" (he could have just looked at the source code for gnu cc if that were the case), but rather a quick and dirty hack showing the opcodes in actual use. Furthermore, I would assume that handwritten or inlined asm is an insignificant portion of all the opcodes in bin, making it statistically irrelevant for the pie chart. Also, handwritten asm could only add opcodes to the count of unique opcodes in bin, meaning those 200 are not only not used by the compiler, but also not used in handwritten code.

Well no cost is a bit of a misnomer. Usually, unless you host your own, when you don't pay in dollars you pay in privacy.

That being said, ownCloud is a great open source alternative to Drive (I host mine on digitalocean which is just starting to introduce block storage but amazon is an equally good option and very cost effective), Duck Duck Go is a very good web search engine these days with privacy as a core value.

It really depends how you use Photos. The automatic face detection and searching for people/events/things in your history is just about unparalleled and is unlikely to be surpassed by a more privacy friendly option in the near future. The reason for this is that these algorithms rely heavily on data collection, which is diametrically opposed to privacy. If you are only using it to backup/store photos in the cloud, ownCloud has similar functionality.

I have heard good things about fastmail to replace gmail but I have not used it myself.

I know you didn't mention it but for chat Matrix is a fantastic option with multiple options for open source clients. I use https://vector.im/beta as a client to access matrix.org but you could easily host your own matrix and/or vector server.

How do you plan to compete with or differentiate from any of the sites you are aggregating? My usual flow for seeing if restaurants are good generally goes like this:

1. google places near me 2. see google reviews for place 3. maybe read 1 review from whichever review company is highest on google's results 4. go back to step 1

Aside from the fact that this is iOS only (I have Android), requires Facebook, and violates the ToS of the services you are aggregating, I just don't see any compelling reason to change my habits from what they already are.

That might not matter though. People ask their "tech friends" about phones and computers, I know people ask me all the time. The "tech friend" is much more likely to care about privacy and to bring it up as a concern when their friends ask them about iPhone vs Android for instance.