HNHacker News
TopNewBestAskShowJobs

sillycross

153 karma · joined September 1, 2020

submissionscomments
sillycross··on In 2017, I interviewed with Elizabeth Holmes to be Head of Finance at Theranos
This is the best story I've read in a while.

No idea what fraction of her words are truth, but it's sad that such charisma is only used to build a fraudulent product in the end, instead of making the world a better place.

sillycross··on Ask HN: Are you terrified of Plaid’s account verification approach?
If what you said is true, honestly this is beyond imagination. Can't imagine what's gonna happen if they had a data leak..
sillycross··on Ask HN: Are you terrified of Plaid’s account verification approach?
Please correct me if I'm wrong, but I vaguely recalled Plaid actually directed me to my bank's webpage and asked me to input my username and password. So it seemed to me that it's similar to those "log in via your Google/Facebook/etc account" third-party authentication service.

Are you certain that the password/text auth code are sent to Plaid instead of the bank?

sillycross··on Ask HN: Resources for understanding shifts in Chinese policy
Well, in that case, the language barrier is already putting you behind a selective information filter.

I'm not trying to convince you (in fact, I'll be happy if you could point out why I'm wrong), but I do not pay much attention to those political world news or trying to understand them. IMO every piece of news I see has undergone many biased selective filters that serve many parties' interests. By reading those news I just get trained by the propaganda, instead of learning anything objective.

sillycross··on Ask HN: Resources for understanding shifts in Chinese policy
(Disclaimer: I am PRC citizen currently in US)

I think it is very hard to get a "detached analysis". For politic issues like this, it is inevitable that everything you read will be both incomprehensive and biased, and filled with propaganda. Probably you can find a "detached analysis" 50 years later, but not now.

That said, if you can read Chinese, I found Taiwan's monthly "mainland report" interesting to read [1]. Of course it is far from a detached analysis, but it's not very polarized (imo) and it contains interesting information.

[1] https://www.mac.gov.tw/cn/News.aspx?n=78702647C7A5B61B&sms=2...

sillycross··on Implementing a class with void*
Yes, it's a tradeoff. The upside is now you can put the object on the stack without invoking memory allocators.
sillycross··on Meltdown-Like Vulnerability Affects AMD Zen+ and Zen2 Processors
> AMD CPUs may transiently execute non-canonical loads and store using only the lower 48 address bits, potentially resulting in data leakage.

In post-Spectre/Meltdown era, seems like every innocent optimization can be used as side channels, and as a result, must be disabled.

It makes me a little sad that, nobody knows how much more performance tax we will have to pay in the future for the ability of safely running untrusted code in a "sandbox" (be it hypervisor, user-kernel separation or Javascript VM).

sillycross··on Implementing a class with void*
Thanks for clarification. It's nice to know that this approach is fully standard compliant.

(and that's exactly my point: the standard is hard to access for normal devs like me, so I can guess "some reinterpret_cast hack seems ok", but never be 100% certain until some standard expert confirms)

sillycross··on Implementing a class with void*
After the object is constructed by placement-new, the class methods still needs to reinterpret_cast the char array to an object pointer to access the object.

I don't think in this specific case there is an UB involved, but I'm not language standard lawyer so I'm not sure. I feel the standard's specification on what is allowed to reinterpret_cast and what isn't is arcane (or at least far from straightforward to understand).

sillycross··on Implementing a class with void*
Yes, strict aliasing (or type-based alias analysis?) is quite crazy, and there are some murky dark corners where the specification is different between C and C++..

I think they have a std::launder thing exactly for this purpose of "safely casting an array of bytes into an object".

However, in this particular case (of using char array to hide real implementation), the implementation resides in another translation unit, so I don't think anything is going to break if LTO is not enabled. With LTO I have no idea..

sillycross··on Turning satellite imagery into wall art
Thanks for the explanation! When I read the article, I felt the last step is much more complex than it is said. It seems like you confirmed this point.

I will be very excited to see a post on how these aesthetic improvements are made!

sillycross··on Implementing a class with void*
This is a well-known way to achieve separation of definition and implementation.

The disadvantage of the method proposed in the article is that, now everything needs a pointer indirection.

A solution that fixes the drawback is used by lz4's library implementation: instead of storing a void star, store a char[] array of same size as the real struct. (of course, now you have to manually make sure the struct size are in sync. It's more error prone, but still not that bad).

sillycross··on A 1,500 line switch statement that powers your Python
LuaJIT's interpreter loop is similar, except that it's written in assembly, and the motivation is that the compiler could not optimize the C version to the best possible extent.

Kind of related, this post [1] mentioned some ideas to break it down into smaller modules without losing performance with tail calls.

[1] https://blog.reverberate.org/2021/04/21/musttail-efficient-i...

sillycross··on Economists Explain the Taliban
Just curious what do you think of this: https://news.ycombinator.com/item?id=28275197

The above HN thread seems to argue the opposite: the Tabliban fighters are not people who hold firm religious beliefs but more like "mercenary" who switch sides all the time.

(Disclaimer: I couldn't read your article till the end since part of it is behind the paywall)

sillycross··on No Surprise, Uber and Lyft Lied About Helping Workers
Can you elaborate a bit more? I don't know how I can refute his concern (of course I'm not in the field though).

It seems true that if Prop 22 were passed, he would have to become an employee for one company, so he wouldn't be able to work for 5+ companies at the same time.

sillycross··on No Surprise, Uber and Lyft Lied About Helping Workers
I feel it hard to understand the truth with so much propaganda from Uber and Lyft that muddies the water.

That said, once I took a Uber ride and the driver strongly urged me to support Prop 22. According to him, he (and most of the drivers) works for multiple companies. It would be impossible for them to continue do so if Prop 22 failed to pass, and they would have a large income drop. It seems to me that the view is his own true belief.

The article seems to have proposed many downsides of Prop 22 for drivers, but it didn't address his concern. Would be nice if someone could give a more two-sided view.

sillycross··on How Do Floating Nuclear Power Plants Work?
> "We can guarantee the safety of our units one hundred percent," Zavylov added, "all risks are absolutely ruled out."

I felt positive about their idea until I see this sentence..

sillycross··on The Secret Bias Hidden in Mortgage-Approval Algorithms
As the article said, "this is structural racism".

Interestingly, the models did not do anything wrong. They are only trying to predict the future based on the past. The colored groups have been discriminated and tend to have less salary/less stable jobs etc, which causes the model to characterize them as high risk for mortgages. This is technically correct though clearly unethical and promotes continuing structural racism.

Unfortunately, not all technical engineers who trains the models may realize this. In fact, a few years ago there's news about Facebook use AI to pre-filter applicant resumes, and it results in applicants being penalized for being female.

This is another reason I believe "explainable AI" is important. Humans can easily identify the "correct but unreasonable" parts. Machines probably can never learn the human society's ethics by themselves.

sillycross··on Questions about Trees (2020)
Very interesting article. The discussion on the three models and their own deficiencies are quite interesting.

Niche assembly: every survival must have its own unique edge of advantage. I guess I'm most convinced by this. The counter-argument is "how can every specie has its unique edge?", but it could also be that we have not yet discovered it.

Natural drift: if everyone is equally fit and the system is large enough, then they can all survive (for a long time). But how come is everyone equally fit? The response is "since everyone survived (as we observe), everyone must be equally fit".. Honestly I'm not convinced by this logic.

Social distancing: trees practice social distancing to defend enemies, so diversity comes in. If tree-killing pests are all staying on one tree and kill its offsprings around it (but cannot kill the original tree since it's too large), then this theory seems plausible. I have no idea if this is true in the forests though..

sillycross··on Turning satellite imagery into wall art
As someone who don't know how to use Photoshop, it's interesting to learn (as you said) that, most the difference is only contrast and saturation.

The final image just looked so much better than the second last one for me.

sillycross··on Turning satellite imagery into wall art
It seems like the last "Improving the color" step is what gives most of the atheistic effects (by comparing the second last picture and the final result on the top).

Unfortunately the explanation for that step is only a few sentences..

sillycross··on Is Gmail scanning your emails? Let's find out
Unless there is end-to-end encryption (which gmail does not support, partially because US government requires Google to monitor accounts supposedly belonging to terrorists etc), the server always "knows" your email in plain text.

It seems like processing user email text through a program that actively "works" on the text (v.s. simply encrypting/decrypting/transmitting the text) is generally not considered a privacy concern.

I feel like this is a bit tricky given the evolution in ML/AI. By making "feeding user email into any program" acceptable, the chance that rule-breaking incidents (e.g., using email text to train models) is unnecessarily increased imo.

sillycross··on CookUnity fabricated an order with random items and charged my credit card
OK, thanks for replying every comment to defend CookUnity.

1. The point is not about subscription. It is about they only send email after it's impossible to cancel orders. This is clearly a ill-intended behavior. And no, I did not receive notification email or text before that final "order confirmation".

2. Regarding subscription, I updated my article to explain how I got tricked. Perhaps I'm not as careful as you are to read through terms.

3. Regarding "I caused negative influence to a company due to my own stupidity or whatsoever" in your other comment: it is my freedom to express my opinion, and they are based on true expeirence.

sillycross··on CookUnity fabricated an order with random items and charged my credit card
I did not realize it was a subscription, and I was expecting that even if it was a subscription, I wouldn't be charged since this subscription contains action items (the food item to buy), or at least I will have a chance to cancel. Which, both turns out to be wrong.

At the very least, if they just ship me my last week's selection, I wouldn't complain either.. But they choose to ship me random food.

sillycross··on CookUnity fabricated an order with random items and charged my credit card
I just checked this "How does CookUnity Work" thing again [1] .. So you are right, "pick something for you" is there. But it's hidden in a bunch of text, and the phrasing is unclear to me:

> Our Chefs cook the meals available on each day’s menu in our community kitchen, every morning. Choose your meals or let our auto-pilot ordering select meals for you (you'll be notified of the selections in advance).

I actually recall I reading this sentence on my first order. And my impression is "what? they are using auto-piloted cars to do delivery? I should go watch how that works when it comes" and I just overlooked what it actually meant :)

[1] https://support.cookunity.com/en_us/how-does-cookunity-work-...

sillycross··on CookUnity fabricated an order with random items and charged my credit card
Author here. I admit I might be missing the subscription part (perhaps because I don't know about how meal plan companies work). But my impression when I issued my first order is simply "this is just Amazon except that item is shipped weekly". That the company would "pick something for me" if I don't act is just beyond my imagination.

And as you have pointed out, they intentionally not email any notification and only emailed me when I cannot cancel the order is immoral, which is another reason I was annoyed.

sillycross··on CookUnity fabricated an order with random items and charged my credit card
Author here. Honestly $72+tax is not really much for me. What I'm disgusted is all the dirty tricks they used to secure this $72 deal:

(1) They never made it clear that it is an automatic subscription system. They mentioned they ship only weekly and you need to pick your menu before some date so you can get food for that week, which seems like an explanation on their business model. But what they actually mean is that "if you don't explicitly cancel you will still get charged and get random food". This might be "every other meal plan company" does, but this is not any shopper (who are used to Amazon etc) like me would expect.

(2) They intentionally never sent out notifications. The only email I get is the "confirmation" email. Then I immediately contacted support to cancel, and was told too late. Their bad intention is clear.

(3) And in the end, I was forced to pay $72 for 6 meals that I have no interest in. So thanks to their dirty tricks, I paid the money, and not even getting the meals that I wanted.

sillycross··on A Trick for Reflection in C++
Interesting. I thought it only supports 'printf' (so it can only dump definition to stdout, instead of being consumed by my function to compute something else), but I just checked the lastest documentation and seems like now it supports any printf-like function.

But if you want constexpr reflection (like the one in my example) __builtin_dump_struct is still not enough.

sillycross··on First U.S. Covid deaths came earlier than previously thought
I skimmed your article but I don't see any "sound evidence" proposed in the article either.

The line between "conspiracy theory" and "a theoretically possible hypothesis that can neither be proven nor ruled out" is kind of murky for me, but if you are claiming "there are sound evidence that COVID comes from a lab leak", then you cannot support your argument by only citing "space for reasonable doubts" (which is what your article said).

sillycross··on The End of Social Media
I completely agree with the author's rants on machine learning algorithm.

> consuming content through internet has become more and more manipulative.

This is 100% true. With those ML-based "personalized" info feed, users keep getting pushed biased information that matches their prejudice and is not a reflection of the true picture.

I'm actually dubious that what fraction of the pro-Trump conspiracy theorists had developed their conspiracy views "thanks to" Facebook et al's ML-based info suggestion algorithms.

← PreviousPage 2 of 3Next →