HNHacker News
TopNewBestAskShowJobs

nathan_long

4,485 karma · joined June 1, 2012

submissionscomments
nathan_long··on Before the Electric Car Takes Over, Someone Needs to Reinvent the Battery
Maybe the business model is the problem. If instead of owning a car, you use a car sharing model, you could use an EV car most days, swap for a pickup truck for a yard project, and swap for a gas car for your road trip (until EVs get that much range).
nathan_long··on Ask HN: Go-to web stack today?
I have my favorite choices, but there's a lot to be said for using whatever you already know. Especially if you're quickly putting together a simple website. :)
nathan_long··on Ask HN: Go-to web stack today?
I'm not sure what you're comparing it to. Releases can be tricky, but if you're accustomed to `git push heroku master`, or to "blue green deployment" (https://martinfowler.com/bliki/BlueGreenDeployment.html), there's no reason you can't do that with Elixir.
nathan_long··on Ask HN: Go-to web stack today?
It's true that when Erlang was first made, machines were single-core, so parallel execution was not possible on one machine. However, the "no shared memory" process model made transitioning to true parallelism much simpler. The ability to run one scheduler per core was added around 2005 I think. See https://hamidreza-s.github.io/erlang/scheduling/real-time/pr...

Also:

> Erlang achieves concurrency by interleaving the execution of processes on the Erlang virtual machine, the BEAM. On a multi-core processor the BEAM can also achieve parallelism by running one scheduler per core and executing one Erlang process per scheduler. The designer of an Erlang system can achieve further parallelism by distributing the system on several computers. > https://happi.github.io/theBeamBook/

My understanding is that the BEAM will also do "work stealing" among schedulers to take better advantage of the available CPUs.

nathan_long··on How Did Our Medical Notes Become So Useless?
One "solution" is sometimes to use speech-to-text. The mangled results would be hilarious if they weren't frightening.
nathan_long··on How the Valley treats experienced people
It's notable for several reasons.

> First of all he's not wrong - anyone with a FB account (including myself) is an idiot for trusting them

First of all, many intelligent people got FB accounts in the early days because they didn't know / understand the privacy implications. Eg, some of them surely were college students who went on to become neurosurgeons, astronomers, doctors, etc. They acted on a reasonable heuristic - "this web site looks legit, people I know are using it, there appear to be social benefits, and I live in a country where rule of law is generally enforced, so it's probably safe enough." So they were not dumb categorically, even if their decision in this case turned out to be (arguably) dumb.

Second, for you to call the users idiots for trusting FB is one thing. For Zuckerberg to call them idiots for trusting him is different. A scammer probably thinks of his victims as idiots, whereas their friends think of them as regular people who got tricked. The quote sounds like he meant "because of course I'm going to abuse that trust."

And in context (according to https://en.wikiquote.org/wiki/Mark_Zuckerberg), that appears to be exactly what he meant, treating users' information as his own possession.

> Zuck: Yeah so if you ever need info about anyone at Harvard > Zuck: Just ask > Zuck: I have over 4,000 emails, pictures, addresses, SNS > [Redacted Friend's Name]: What? How'd you manage that one? > Zuck: People just submitted it. > Zuck: I don't know why. > Zuck: They "trust me" > Zuck: Dumb f---s

So this quote is brought up not because it shows his insightful analysis of the fact that generally speaking, people should not trust online services, but because it seems to show his own intent, from the beginning, to take advantage of FB users and blame them for trusting him in the first place.

nathan_long··on A Lens-Less Camera Built Specially for AI and Computer Vision Programs
> So, Menon asks, “If machines are going to be seeing these images and video more than humans, then why don’t we think about redesigning the cameras purely for machines? Take the human out of the loop entirely, and think of cameras purely from a non-human perspective.”

From a technical perspective, this is neat.

From a societal perspective, I want the images an AI sees and the AI's decision-making process to be auditable by humans.

nathan_long··on Walt Mossberg Quits Facebook
Because "his audience" in this case is Facebook users? If he were quitting MySpace in 2018, it would make sense to post a message there. The users of the service are the ones who might miss him, and who might benefit from a warning.
nathan_long··on Robinhood Checking Moved Fast and Broke
> So when a lawyer says something like, "Ahh, but the law only talks about 'checking accounts' and 'savings accounts' not 'checking & savings accounts'"

I'm not a lawyer, but that line of reasoning sounds like something out of a comedy skit.

"Sure, the law regulates sales of alcohol and sales of firearms, but it doesn't say anything about an Alcohol And Firearms Combo Pack™!"

nathan_long··on An open letter to social media companies regarding algorithms and my son's birth
I think the bigger lesson here is that making programs pretend to be human is dangerous. The uncanny valley can feel abusive.
nathan_long··on Phoenix.LiveView: Interactive, Real-Time Apps. No Need to Write JavaScript
That does look similar! One thing they say though:

> We don't really know yet how well server-side Blazor (Razor Components) will scale with heavy use applications.

I don't think that's a concern with LiveView, as it's built on Phoenix Channels, which in 2015 could already handle 2 million connections on a single box: https://phoenixframework.org/blog/the-road-to-2-million-webs...

nathan_long··on They Rejected Us
FB would not have allowed him to make Whatsapp. It was built with a philosophy of correctness ("We can never drop a message") and privacy. Contrast that to FB's "move fast and break things" and disregard for privacy to the point that they stole users' call logs right off their phones.

So there's no way they would have listened to Acton and let him build Messenger the way he wanted.

Add to that the fact that Acton's ideas didn't yet have any market validation. Once WhatsApp was a proven success, FB was willing to pay for it, but even so they are now destroying what made it good - https://www.theverge.com/2018/4/30/17304792/whatsapp-jan-kou...

nathan_long··on US Is Net Oil Exporter for First Time in 75 Years
> oil products have energy density that batteries are barely starting to be capable of

"Grandpa, tell me again about combustion engines."

"Well, they burned gasoline in a series of tiny explosions, and they were set up so that the timing of those explosions would generate motion."

"Haha, that sounds like a Rube Goldberg machine."

"Yes, and the worst part is that fire is hot. So even though gasoline contains a lot of energy, the process of turning it into motion was fantastically inefficient. They turned so much of the energy into useless heat that they needed whole separate systems just to throw it all away so the darn things wouldn't melt."

nathan_long··on Facebook's seized files published by MPs
> There's nothing that Facebook did here than any other company, in tech or otherwise, wouldn't have done.

This isn't true. Lots of companies wouldn't steal users' call logs - eg, Mozilla, Signal, and plenty of boring, normal ones who make TODO list apps or whatever.

It also isn't relevant. See how that argument flies in criminal court. "Anybody else would have stolen that car."

What we see here (again) is that FB does nasty things and it's in the public interest to stop them - along with "any other company" who does the same things.

nathan_long··on The Baseline Costs of JavaScript Frameworks
> Is it reasonable to assume that for most subsequent loads the website would load in 0.2s?

Wouldn't that number go back to 1.1s every time you deploy a JS change? And isn't it good to deploy often?

nathan_long··on Open Source is Not About You
That was a different issue IMO. I've stopped maintaining open source projects that others rely on, and I owe them nothing. They can fork my code if they like.

And yes, it's users' responsibility to decide what code they trust. But "I trust developer/organization X" is a reasonable way to decide that, and auditing every single release is far, far more expensive. I'd be betraying their trust if I let a complete stranger release an update in my name.

nathan_long··on I still miss my headphone jack, and I want it back
My questions are:

1. What's the value of a wireless connection to a device you'll be touching when you use it anyway?

2. Assuming you value "no cord tangles" so highly that you're willing to put up with Bluetooth, charging your headphones, risking dropping your AirPods down a storm drain, etc, why can't the rest of us just have the jack as an option? Nobody's saying "remove Bluetooth."

3. What about the value of loose coupling and backward and forward compatibility? Given a couple adapters, I can plug my current iPod into a 1970s stereo, or plug a record player into my car stereo, and instantly have them working. Brand and device age are irrelevant. BlueTooth compatibility isn't guaranteed between two devices made today.

nathan_long··on I still miss my headphone jack, and I want it back
> Sometimes you have to take a step back to take two steps forward.

And sometimes you have to take a step back because someone pushes you.

I'm old enough to remember getting a cordless home phone. Being able to walk around the house and talk instead of sitting by the phone jack was awesome. And there was very little downside, because whenever you weren't using the phone, you put it on the cradle and it was charging.

Ethernet to WiFi was similarly good. I like that I can sit anywhere in or near my house and use the internet. There's not much downside.

But headphones? If I'm listening to a podcast on my phone, I'm going to have my phone on me. I'm not going to walk away from it because then I couldn't control the playback.

A wireless connection to something I'm going to be touching while I use it anyway doesn't do anything for me. I get zero freedom of movement from that. It just means another thing to configure, another thing to charge, another way things can be incompatible or fail.

nathan_long··on How I changed the law with a GitHub pull request
> Real time access to laws as they are drafted is a Really Bad Idea. Good ideas need time to incubate.

Good point, but if they used a distributed version control system, lawmakers could have any number of private repositories on which to craft laws before they're merged to the public master repo.

(I wouldn't expect lawmakers themselves to use git, of course; their staff would do this for them.)

nathan_long··on A debt-collection machine that’s chewing up small businesses across America
> one part Jesus (including both the Protestant work ethic and the belief in "deserving")

Protestant theology actually says the opposite of "you deserve blessings", historically. The "five solas" of the protestant reformation include "sola gratia" (salvation only by grace - undeserved good treatment), and "solus christus" and "sola fide" make similar points.

Certainly "prosperity gospel" teaching is rampant, but it has very little to do with the Jesus of the New Testament or with historical Protestantism.

> You can't think a fax is a gift from God if you don't think there's a God, for example.

You also wouldn't think that if you read the Bible much.

- Proverbs 13:11 - Wealth gained hastily will dwindle, but whoever gathers little by little will increase it. - Proverbs 22:7 - The rich rules over the poor, and the borrower is the slave of the lender. - Hebrews 13:5 - Keep your life free from love of money, and be content with what you have, for he has said, "I will never leave you nor forsake you."

You can find many examples of professing Christians (or atheists) doing stupid things. That doesn't necessarily mean that Christianity or Jesus is the problem. It's more often that they don't follow what they claim to believe.

nathan_long··on Companies struggling to fill jobs 'should try paying more,' Fed's Kashkari says
This. If https://insights.stackoverflow.com/survey/2018/#work-how-do-... is to be believed, compensation and benefits are the most important thing to most programmers. But it's not the only thing, and my guess is that beyond some "good enough" level, other factors become more important.

Imagine you were hired at a company, trained and mentored in a whole new skill set, given work you enjoy and find meaningful, working with people who encourage your further development, and were shown appreciation for your efforts and abilities.

Would you leave at the first opportunity to get a raise? Unless I really needed the money or was severely underpaid, I probably wouldn't.

nathan_long··on Companies struggling to fill jobs 'should try paying more,' Fed's Kashkari says
Unless the other company manages to get more value out of trainees than they pay them, in which case the additional revenue lets them beat your offer.
nathan_long··on Companies struggling to fill jobs 'should try paying more,' Fed's Kashkari says
The old joke about this is:

> Two managers are talking about training their employees. The first asks, "Yeah, but what if we train them, and they just leave?" The second responds, "What if we don't train them, and they stay?"

nathan_long··on YouTube CEO calls EU’s proposed copyright regulation financially impossible
> It isn't any different than the trash on tv or in pulp novels, except that individual people have more power and freedom to create things. If you think differently then you're just looking at older mediums with rose-tinted glasses.

What makes it different is a recommendation engine that is deliberately designed to maximize the amount of viewing time and has no moral compass about doing so.

When a kid finishes reading Ranger Rick magazine, nothing prompts them to read anything else except their own interests and the pile of books their parents have purposefully made available to them. You don't have strangers popping in the window, tempting them to read something nasty, and if you do, you get that person arrested.

nathan_long··on GitLab Made $10.5M in Revenue with Every Employee Working from Home
In a "traditional" pay model, nobody knows what anybody else makes and everybody gets what they negotiate for. Presumably candidates' cost of living would factor in to what they ask for.

But automatically and transparently paying people based on their location is weird to me. If Bob has chosen to live in a place where houses are insanely expensive, or if Bob has chosen to drive a luxury car or keep a pet elephant, those are Bob's decisions. None of them mean that he contributes more to the company.

Also, since a company has non-infinite funds for salary, paying Bob more to live in SF inherently means that the company either pays less money to Alice in Arizona, thereby incentivizing her to quit or move to SF, or else doesn't hire Carol.

> One of the corporate advantages of 100% remote is the business can pay your team whatever their local market rate is

What if instead you framed it as "we can offer almost-SF rates to people all over the U.S., which makes us one of the top choices for every dev outside the big cities"? That's a huge talent pool to take your pick from. Seems like a competitive advantage to me.

nathan_long··on Ask HN: What's the largest amount of bad code you have ever seen work?
https://www.reuters.com/article/us-usa-banks-cobol/banks-scr... describe banks struggling to maintain ancient COBOL systems as the developers who understand them are dying off.

I don't know exactly what they should have done and when, but it seems like rewrites are going to be necessary, and it sure would be nice to start rewriting a system while you still have someone who can explain what it does.

nathan_long··on Ask HN: What's the largest amount of bad code you have ever seen work?
> Sure, but you're acting under the premise that "if we just did it 'right' the first time, we wouldn't have this mess".

I think you're right that every long-lived code base will have warts. And I don't think that means that the original builders were wrong-headed.

But if you've got a decades-old system that nobody understands anymore, you've got a huge liability. You can't ship features to compete, you can't fix bugs, you can't comply with new regulations. You can't even rewrite confidently because you don't know what the old system does.

There must be things you can do as a code base ages to keep it maintainable, allow incremental rewrites, etc.

nathan_long··on Ask HN: What's the largest amount of bad code you have ever seen work?
> In my opinion, if it works, and provides the utility it was designed to bring, then it doesn't matter. If it makes money, then who really cares!

This makes sense. However, if the code 1) is hard to understand (according to the developers available) and change and 2) needs to be changed, it costs money.

Eg, read about the expense banks are now incurring trying to maintain COBOL systems. Whether the code is "bad" is debatable. But the fact is that they have a hard time finding people who can work on it.

nathan_long··on Datomic: Event Sourcing without the hassle
How cool that you've already written a whole blog post dealing thoroughly with that problem. :D
nathan_long··on Datomic: Event Sourcing without the hassle
I like the idea of storing events rather than simply the current, mutable state of the world.

However, it seems like privacy requirements like "forget you ever knew about this user" would throw a wrench in the gears.

← PreviousPage 6 of 34Next →