HNHacker News
TopNewBestAskShowJobs

JonathanBeuys

756 karma · joined May 31, 2020

submissionscomments
JonathanBeuys··on Meta readies $25B bond sale as soaring AI costs trigger stock sell-off
Ok, let's say 25% growth over 10 years. That is a factor of 9.

9*$50B = $450B yearly revenue.

What could be the margin Alphabet makes from that? Last quarter, Alphabet had $100B revenue and $35B net income. So 35% margin.

$450Bx0.35 = $158B

What is $158B in annual profit worth? Currently Alphabet's p/e is about 30. If we take that, it would be $158Bx30 = $4740B. So around $5T.

If we are heading towards the creation of $5T in value via cloud revenue, investing $100B per year to build it seems not particularly high to me.

JonathanBeuys··on Meta readies $25B bond sale as soaring AI costs trigger stock sell-off
Is cloud usage really high?

Look at all the stuff people do. Almost none of it is automated via software. Look at people on construcion sites, cashiers, cleaning stuff, cab drivers ... all of it is done manually. I am writing this manually, even though I would prefer to just say it while doing the dishes. But there is no good voice interface for browsers yet. And hey, why do I even do the dishes?

I would say we haven't even started automating the world via software.

10 years of 30% growth just means we will spend 14x more on software in 10 years than we do now. Considering we have not even really started using software for automating work, I would be surprised if we stay below that.

JonathanBeuys··on Meta readies $25B bond sale as soaring AI costs trigger stock sell-off
I would think that no matter what the percentage of AI in the revenue is - mankind keeps automating their work via software. And so far, we automated only very little. We probably can keep increasing it at 30% pa for 10 years. That would mean we just automate 14x more than we do now. In 10 years, that seems not even fast to me.
JonathanBeuys··on Meta readies $25B bond sale as soaring AI costs trigger stock sell-off
Do I understand your logic correctly that after 14 years of 30% growth another year is extremely unlikely and after 14.99 years it is almost impossible?

My logic is that we only have to take the next 10 years into account when calculating the probability.

And lots of things grew 30% or more for 10 years.

Bitcoin's market cap grew over 70% pa for 10 over years now.

Amazon's revenue grew over 60% pa for over 10 years in their early days.

I can think of many numbers, but would have to check: global solar installations, smartphone usage are examples that come to mind.

JonathanBeuys··on Meta readies $25B bond sale as soaring AI costs trigger stock sell-off
Which additional details would you like to see?

According to Perplexity because instead of going through 20 earnings reports myself, I outsourced the task to Perplexity and then manually checked a few of the numbers to be reasonably sure they were correct.

JonathanBeuys··on Meta readies $25B bond sale as soaring AI costs trigger stock sell-off
I have not looked into Meta, but when I look at the growth of Alphabet's cloud revenue, it looks pretty solid:

https://x.com/JonathanBeuys/status/1984882268817519036

That is revenue from real world usage of their datacenters. Usage their customers would not pay for if it did not have a positive ROI.

A pretty stable growth of 30% per year for the last 5 years. At a current level of about $50B per year.

What is the value of it, if it continues like this for another decade? Revenue would be at roughly $1T/year then.

In the face of this real usage and the growth of it, spending tens of billions of dollars on building out infrastructure looks ok to me.

JonathanBeuys··on Django REST framework 3.15.0
The way I understand the gunicord documentation, this has the same effect as if you set up a script which listens for file changes and restarts the server (or workers) every time a file changes.

That's way less efficient compare to how PHP handles it.

I don't want processes to be killed and new ones to be started every time I change a file.

PHP does it the right way: Only when a request that touches outdated code hits the server is that outdated code reparsed. As long as you just edit files, it uses up no resources at all.

JonathanBeuys··on Django REST framework 3.15.0
If it does not access the opcache, against what is it checking the last modified date?
JonathanBeuys··on Django REST framework 3.15.0
True. I see a "Zend OPcache" section in my phpinfo().

It says:

    Cache hits   4746528
    Cache misses   38875
Both values go up every time I execute phpinfo().

I wonder why. Shouldn't "Cache misses" only go up when a source file is changed?

JonathanBeuys··on Django REST framework 3.15.0
When a framework "supports auto-restart", that usually means it has its own webserver for development and the auto-restart is supported when you use that.

I don't like having a different webserver in development and production.

JonathanBeuys··on Django REST framework 3.15.0
Imports are also updated the moment you update the imported file.

I'm not sure if PHP stores any compiled binary or byte-code at all. Maybe it compiles it all on each request. It's super fast though, even with tons of imports.

My guess would be that it keeps compiled versions of each file in memory and on each request, it walks down the whole import path. And when it encounters a changed import, it compiles only that one.

Would be cool if someone with more knowledge could shed a light on what is actually happening.

JonathanBeuys··on Django REST framework 3.15.0
You talk about performance, but I think that is another point for PHP. In my experience, PHP handles the same requests faster.

Yes, I could build everything from scratch myself in Python and have the same statelessnes as in PHP. But parsing headers, creating headers etc feels like it should be handled by a framework. In PHP, it is build right in.

And if I would build it, it would talk to the webserver via CGI. But I think CGI is slow. For PHP, you have mod-php which is super fast.

JonathanBeuys··on Django REST framework 3.15.0
Even though I prefer Python over PHP, for web projects, I'm probably down with PHP forever. Because it so nicely supports stateless request handling without long running processes.

In PHP, you can just throw a php file on a webserver and it works. To update, you just update the file. You don't have to restart anything.

On the dev machine, you can just have Vim in one window and Firefox in the other, change code, hit F5, and you see what you did.

I don't like having to run a code watching process which then recompiles the whole codebase every time I save a file.

JonathanBeuys··on The Bureau of Meteorology website does not support connections via HTTPS
HTTPS is still a pain in the ass, even in 2024.

If letsencrypt would offer wildcard certificates with their url based authentification as they offer for non-wildcard certificates, it would be ok.

But having to tinker with the DNS infrastructure for each project which wants to use domain wide HTTPS is so much hassle.

JonathanBeuys··on In 2024, please switch to Firefox
Same here. You can't just access my auth data over the internet.

You would also have to get hold of my machine and get past it's security mechanisms.

You can put as many layers on top of what you call "obscurity". But at the bottom it's still just a simple string that holds the power to authenticate you.

And "multi-factor authentication" does not help with the situation "User is allowed to use this script, so they are also allowed to use that website. Let's open it for them.".

JonathanBeuys··on In 2024, please switch to Firefox
I'm not typing them in my terminal. I have scripts that automate my workflow. And part of it is logging me into websites.

Regarding storing them in plain text: That's not much different from ssh keys. When someone can read your ssh key, they can log in as you.

If you know a better way to automatically log a user into a website, let us know!

JonathanBeuys··on In 2024, please switch to Firefox
Yes. The auth part should not be displayed when you hover over a bookmark. Chromium does not display it.

In the end, every security mechanism is "plain text". Even ssh keys. When someone gains access to your ssh key, which is just an ascii string, they can log in as you.

JonathanBeuys··on In 2024, please switch to Firefox
I would like to, but Firefox behaves problematic in regard to auth urls like

https://name:password@news.ycombinator.com

1: When you bookmark them, it shows the auth part when you hover the bookmark with the mouse.

2: When you open them from the command line

    firefox https://name:password@news.ycombinator.com
And then ctrl+click links on the site, it opens the new tab and shows the auth part in the tab title as long as the link loads. It seems the "current url" in Firefox code is stored with the auth part, and it passes that part on to local links.

These issues make it insecure to use auth urls because as soon as someone looks over your shoulder (or there is a camera like in many cafes), you are p0wned.

I wish we had a better way to log into a website from the command line, like ssh keys. But for now, we are stuck with what we have. And Firefox makes it insecure to use it. So for now, I continue to use Chromium.

JonathanBeuys··on Choose the browser that best suits your privacy needs
Oh wow, you were right! This solves it:

    sudo -u desktopuser XDG_RUNTIME_DIR=/run/user/1000 firefox
Sorry for messing it up the first time I tried!

Man, you solved it!!

Thanks a 1000 times!

JonathanBeuys··on Choose the browser that best suits your privacy needs
That would open the url in the default browser (Chromium for me) with the current user (root for me).

The task at hand is to open it in firefox with the desktop user.

JonathanBeuys··on Choose the browser that best suits your privacy needs
Whe don't you test it? It takes less time than to guess and have a back and forth via HN comments.
JonathanBeuys··on Choose the browser that best suits your privacy needs
Please try this for yourself. It does not work. Gives the same "Firefox is already running, but is not responding." dialog.
JonathanBeuys··on Choose the browser that best suits your privacy needs
Correct.

I use a script in a root terminal to control a lot of my workflow. One thing is that I start browser windows from it when needed. I start them with

    sudo -u desktopuser chromium example.com
Because

    sudo -u desktopuser firefox example.com
does not work.

I thought that is relevant to the question "Why bother with Chrome".

desktopuser of course is the normal user which would also start Firefox if I did it via the Desktop gui.

JonathanBeuys··on Choose the browser that best suits your privacy needs
I don't want to install multiple browser versions.

I just want to launch a new browser window.

This does not work:

    sudo -u normaluser firefox example.com
So I do:

    sudo -u normaluser chromium example.com
I thought that was relevant to the question "Why bother with Chrome".
JonathanBeuys··on Choose the browser that best suits your privacy needs
Exactly.

It seems to be some magic Firefox puts somewhere (In the environment?) that prevents it to launch a new window from a fresh terminal that is not inherited from the same parent that launched the first window.

JonathanBeuys··on Choose the browser that best suits your privacy needs
Assuming it is "unix:path=/run/user/1000/bus", what would be the command to start Firefox as the normaluser with that setting?
JonathanBeuys··on Choose the browser that best suits your privacy needs
Linux
JonathanBeuys··on Choose the browser that best suits your privacy needs
I'm not sure what you mean. What I try to achieve is start a new firefox window (for the normal user) from a root terminal. So part of the command has to be "sudo -u normaluser" or "su -l normaluser" or something.
JonathanBeuys··on Choose the browser that best suits your privacy needs
https://news.ycombinator.com/item?id=38429815
JonathanBeuys··on Choose the browser that best suits your privacy needs
Yes, that is exactly what I am experiencing.

You cannot start FF from the Desktop and then start new windows from a shell.

Unless that shell was directly started from the desktop.

So it must have something to do with the environment or process tree.

Page 1 of 10Next →