HNHacker News
TopNewBestAskShowJobs

scott00

1,241 karma · joined November 30, 2012

Run the code below in python to find my email address

import base64 base64.b64decode('c3RlcGhlbnMuanNAZ21haWwuY29t')

submissionscomments
scott00··on Launch HN: Keyri (YC S21) – Secure smartphone-based passwordless authentication
I'm having trouble with the demo... registration and login flows both end in a screen that says "Select a Kyri service Manager account to login" but has no list of accounts. Email in profile if you don't want to troubleshoot this publicly.
scott00··on Show HN: Pebble Finance – Create a Custom ETF
I like the idea. Am I correctly understanding that you don't actually create any ETFs, it's just a tool for constructing a portfolio of individual stocks?

Assuming I've got that right, do you know ballpark how badly the tax inefficiency hurts you relative to ETFs? (assuming a taxable account of course, doesn't matter in a 401k or IRA)

scott00··on TV Advertising Effectiveness and Profitability
In double entry accounting, the $9B has to go somewhere, or you defeat the primary objective, which is to make it harder to forget transactions by maintaining a number of invariants. The two relevant ones here are [Equity]_t = [Assests]_t - [Liabilities]_t, and [Equity]_t = [Equity]_t-1 + [Profit]_t + [net cash from stock issuance/buybacks]_t - [dividends]_t

The method that GAAP chooses is to move the $9B from cash to goodwill (assuming a cash transaction), which is a transfer from one type of asset to another. The alternative that I think you're suggesting is to move it from cash to expenses for the period in question. There's not necessarily a right answer to this question, accounting conventions are subjective, but I think most people think that the market premium you pay in an acquisition is more like acquiring an asset that will yield future business profits than an expense which, now that you've paid it, will have no future utility to the business. And it's easy enough to look at it the other way if you care to: the goodwill is reported in the balance sheet, and the cash flow statement shows the huge outlay of cash.

scott00··on TV Advertising Effectiveness and Profitability
Goodwill only ever shows up as the result of an acquisition. If a company with a book value of $1B gets acquired for $10B, the balance sheet of the acquirer will see its goodwill increase by $9B after the acquisition closes. Nobody's doing a bottom up estimate of brand value to come up with that $9B, it's just the fudge factor double entry accounting needs in order to make the Equity = Assests - Liabilities equation continue to hold.
scott00··on Pwned passwords, open source in the .NET foundation and working with the FBI
Not a lawyer, but my guess would be that whether it is legal or not depends on what (if anything) you intend to do with the information. This is based mainly on perusal of this page summarizing a bunch of state identity theft statutes: https://www.ncsl.org/research/financial-services-and-commerc...

Of the ones with details listed it seems most of them require intent to defraud or something similar in addition to possession of personal information. I think paying for the info could also be problematic, there are a few trafficking laws in that list.

In a similar vein, possession of the info with the intent to use it to hack into something would probably run afoul of the CFAA or other anti-hacking laws.

If you collect that info with the intent to submit it to haveibeenpwned I think you would probably be fine.

If you collect that info just for fun, but don't do anything with it, I suspect that's legal, but probably not well-advised, as I suspect cops/prosecutors/jurors would have trouble believing someone did that for fun, and would interpret it as evidence that you were up to something nefarious.

I don't think the stolen property angle is an issue. Digital information can't really be stolen: usually the problem is you've committed a copyright violation. In the US at least I doubt user names and passwords would qualify for copyright protection. (Generally, collections of facts do not qualify.)

scott00··on Bill Hwang of Archegos Capital lost $20B in two days
Avoidance of margin regulation was not really a factor in what happened here. For exchange traded stocks in the US there are two margining schemes: Reg T and portfolio margin. Reg T is available to anybody and gets you 2x. PM is harder to get, but not that hard: IB will give PM to accounts with at least 100k. PM gets you 6.66x. I think swaps can be used to do better than PM, but Huang didn't need swaps to get 5x.
scott00··on Experian’s credit freeze security is still a joke
The government PKI actually almost exists already.

Passports have an rfid chip inside them that does something like receive a challenge and respond with a signature over a hash of the passports biographical data combined with the challenge, along with the public key corresponding to the signing key, and a certificate signed by a government key to confirm the signing key is legit.

The government public keys are published, so anybody can verify that someone who claims to have possession of a particular passport really does. The weak point is that as far as I can tell the revocation list is not public, so you can't distiguish between a stolen and not stolen passport.

scott00··on “They introduce kernel bugs on purpose”
Personally I don't think you can become an expert in Linux kernel programming without sending patches. So over the long term, if you don't let non-experts submit patches then no new experts will ever be created, the existing ones will die or move on, and there won't be any experts at all. At that point the project will die.
scott00··on What I Wish I Knew About U2F and Other Hardware MFA Protocols
I thought PKCS#11 was exactly what the author wanted: an API for performing arbitrary sign and encrypt operations using a hardware protected key. What doesn't it do?
scott00··on C# 9 top-level programs and target-typed expressions
I think the short answer to your question is "no".

For single-file-no-project simplicity your best bet is dotnet-script: https://github.com/filipw/dotnet-script

For native code your best bet is NativeAOT: https://github.com/dotnet/runtimelab/tree/feature/NativeAOT

I'm not aware of anything that combines the two.

As to why: it's not so much that they've made it hard as they haven't made it easy. The reason they haven't made it easy is that it's a fringe use case. The main benefits of AOT are faster startup time, smaller storage requirements, and compliance with the iOS interpreted language ban. Most people who worry about those things don't mind having a project file.

They _have_ made some changes that may partly address your concerns. Visual Studio is no longer required to build C#; you can do it purely from the command line. There is also a new project file format. It's still XML, but much simpler. The HelloWorld example[0] from NativeAOT is a good example of how simple it can get. And the command line tools include an easy way of creating basic project files[1], so you don't have to memorize what little boilerplate remains.

[0] https://github.com/dotnet/runtimelab/tree/feature/NativeAOT/...

[1] https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-ne...

scott00··on C# 9 top-level programs and target-typed expressions
Interop on Linux works well.
scott00··on Let’s redesign the laptop for a work-from-home era
I thought using a 43" 4k TV as a monitor was a good idea until I actually tried it with the TCL S525. It looked really bad at close range, like this: https://i.rtings.com/assets/pages/li6TPHJm/user-1-large.jpg

So if you haven't tried it, beware. If you HAVE tried it, what model is working well for you?

scott00··on Best practices can slow your application down
I don't understand the claim that replacing "polymorphism and dependency injection" with "static fields and service locators" reduces allocations.

I would expect that getting rid of dependency injection would allow you to convert a virtual method call to a direct method call, and replace a constructor argument with a static field reference, but I don't see the connection to allocation.

Anybody understand this?

scott00··on Best practices can slow your application down
With the current C# compiler and JIT, using generics to avoid a virtual function call works if the dependencies are structs, but not if they are classes.

That said, in my experience it's very hard to get performance gains through inlining in C# because the compiler is very conservative about what it will inline, even if you instruct it to aggressively inline a method (there is no way to force inlining in C#). IIRC this was a conscious decision by the C# team after they did some experiments and found that the benefit of fewer function calls from inlining was outweighed by the negative impact of increased code size on the instruction cache hit rate in all but the most trivial functions.

That decision makes it very hard to get some of the huge inlining wins that you see sometimes in C++ where essentially the compiler can recognize that once you recursively inline a few layers of abstraction you're in a special case that is known at compile time and a ton of code can be eliminated.

With that kind of situation off the table, a virtual method call that always goes to the same implementation will not cost you very much compared to directly calling the implementation method. It amounts to the difference between a branch and an indirect branch in machine code, and modern hardware has indirect branch predictors that will do a very good job when the indirect branch always goes to the same implementation.

scott00··on Launch HN: Enombic (YC S20) – Create your own stock indexes
RenTech had the same idea and it made the IRS pretty mad: https://www.bloomberg.com/opinion/newsletters/2019-11-13/mon...

I believe it's still being litigated, so the legality hasn't been firmly established yet.

scott00··on Texas Electric Bills Were $28B Higher Under Deregulation
> Not quite, prices capped first. Then when that was not enough rolling blackouts where implemented

Again, no. The cap was in place before the floor, but was never binding: they did blackouts before the price hit the maximum, not after.

> As rolling blackouts where implemented by people paying wholesale rates they obviously have an incentive for excessive blackouts

The decision to do blackouts was made by ERCOT, not by transmission operators or power retailers. (Retailers are the only ones who have an incentive to do blackouts, though transmitters generally also have a retail operation.)

scott00··on Texas Electric Bills Were $28B Higher Under Deregulation
> prices where capped by regulators

Not true.

Early in the crisis so much generation capacity went offline that there was no way that that it could meet all of the price-insensitive demand (most consumers pay a fixed price, regardless of wholesale prices). If you attempt to run the grid when demand exceeds supply it will damage generators, making the problem worse. To avoid that, regulators shut off power to people who still had a working connection to the grid and would have been happy to consume power at their contracted rates.

As generation came back online, prices dropped quite low because demand was artificially constrained. The regulators then overrode the market and set the price to the maximum allowed by the system to encourage all generators to come online, which would then allow them to start turning people's power back on.

scott00··on Accused murderer wins right to check source code of DNA testing kit
I don't know the answer to your question, but blind testing is complementary to (not a substitute for) source code review.

It's very common for software to work correctly a high percentage of the time, but fail on rare input data. If, say, the software works correctly 999,999 times out of a million, you're going to be very unlikely to discover that error by throwing random samples at it, especially if you need a physical process (ie, drawing blood) in order to generate a test case.

On the other hand, once you have a known failing case (as you would if the defendant knows the result must be in error because he didn't commit the crime), it's often fairly straightforward to identify the error by reviewing the source and/or using a debugger to examine the progress of the algorithm.

scott00··on That's not how 2FA works
I agree with your definition of secure for this topic. I don't agree that a primary residence qualifies as secure under that definition. Fire, flood, earthquake, etc all put you at risk of losing both keys, as does a search by law enforcement.

I _really_ don't agree that if one of those things happen I will no longer care about accessing my digital possessions/accounts. If anything I need that access more than I did before it happened.

And home isn't really convenient enough for many people: I, for one, frequently create accounts at work and when traveling. This subset of people are going to be doing either #2 or #3.

For the folks that are still using the same password everywhere I think a password manager is a better recommendation than a security key. For one it helps them everywhere, not just the small number of sites that currently support U2F/Webauthn. For another, such a person is probably at high risk of making mistake #2.

scott00··on That's not how 2FA works
If creating new accounts only when you are at the secure location where your backup key lives works for you that's great, but I suspect that most people in that situation would do one or more of the following:

(1) Store their backup key in a more convenient, but less secure location (likely their home), putting them at risk of losing both the primary and backup key to the same event.

(2) Enroll only their primary key when an account is created, putting them at risk of locking themself out if they forget to add the backup at some point.

(3) Only use security keys for the highest value accounts, which tend to be a small enough number that you have a chance of actually remembering to add the backup key every time you set one up.

Of these, #3 is the only one that doesn't pose what I consider an unacceptable risk of lockout to the average person, so that's what I recommend.

scott00··on That's not how 2FA works
What does your workflow look like when you set up new credentials?
scott00··on That's not how 2FA works
Some other responders have given you the answer as it currently exists. They are all either inconvenient, weaken security, or both. For that reason, I would only suggest using a security key for a small number of critical services, where it's worth the extra effort to deal with the backup mechanisms.

However, a good solution for this issue is finally in the works: https://www.yubico.com/blog/yubico-proposes-webauthn-protoco...

scott00··on Google Safe Browsing can kill a startup
Do you need a real domain for each customer or is a subdomain sufficient isolation?
scott00··on GitHub blocks entire company because one employee was in Iran
Are there European laws that prohibit discriminating against people who live in Iran? Or that prohibit discriminating against companies who employ people who live in Iran? If not, the legal basis is that you can do anything you want unless it's prohibited by law, and the action in question isn't prohibited by law.
scott00··on Uber will charge significantly more per trip as new Seattle law goes into effect
This attempt to avoid the hard question will probably make the policy ineffective. The with-passenger rates are already high enough that drivers make well above minimum wage at 100% utilization. When the effective wage (with-passenger rate times utilization rate) is higher than the market wage, drivers enter the market, driving down the utilization rate until the effective wage equals the market wage. If the policy is only changing the with-passenger rate, the utilization rate will just drop until the effective wage equals the market wage.
scott00··on Facebook managers trash their own ad targeting in unsealed remarks
> It's not clear if Facebook explicitly knew at the time that the ad targets didn't meet the criteria, or if Facebook's targeting data was simply incorrect for those who were targeted.

The plaintiffs don't care, nor should they. When I go to a restaurant and order a hamburger, if the server brings me a tuna melt I send it back. It doesn't matter why the server brought me a tuna melt. Facebook is essentially saying that even though they wrote hamburger on the menu, and accepted my order for a hamburger, I should have known they meant a 41% chance of a hamburger and a 59% chance of something else because taped underneath my seat is a 15,000 word Restaurant Use Agreement printed on microfiche.

scott00··on Understanding mRNA Covid-19 vaccines
Does anyone understand why the FDA and other experts seem very unconcerned about long term side effects?

The safety profile in the 0-2 month timeframe is very easy to understand: they tested it, so they have actual data. But it seems for longer than 2 or 3 months you would need to make an argument based on animal trials or just biological reasoning. But I can't find anyone talking about it at all.

scott00··on Pandemic Villains: Robinhood
It's actually quite easy to underperform the market if you make a lot of trades and cross the spread when you do it. Which is exactly the behavior that all retail brokerages are incentivized to encourage.
scott00··on Centos.rip
The main reason I use it for work is that software we buy (and is crucial to our business) tends to be only or best supported on CentOS/RHEL. The reason I chose CentOS over RHEL is that we don't have a large number of servers, so I'm guessing I would get fairly worthless support from RH even if I paid for it.
scott00··on CBP Refuses to Tell Congress How It Is Tracking Americans Without a Warrant
In 1922, the Senate Sergeant-at-Arms deputized someone who then traveled to Ohio and arrested the brother of the sitting Attorney General after he ignored a Senate subpoena and was cited for contempt of Congress. The arrest was upheld by the Supreme Court in McGrain v. Daugherty in 1927.

In 1934, the Senate cited two men for contempt of Congress and sentenced them to 10 days in the DC jail. One, William P. MacCracken, Jr, fought the case in court, eventually losing in the Supreme Court case Jurney v. MacCracken of 1935. He served one night of his sentence in the home of the Senate Sergeant-at-Arms and another in the Willard hotel... I was unable to figure out if he ever actually ended up in the DC jail.

← PreviousPage 4 of 14Next →