For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | adrianton3's commentsregister

I don't follow - why do you think HR would be interested in shiny hot new web stack keywords over anything else?

To a non-developer, every application they read might as well be a list of buzzwords. They cannot comprehend a word of it. Web stacks offer the opportunity to list more and newer buzzwords. Do I set up an interview with the person who lists "C systems programmer" or with the person who is a "full stack React, Tailwind, Next.js, Node.js, Electron, Docker, Kubernetes, AWS engineer seasoned in Javascript, Typescript, HTML, and CSS"? Well, the latter certainly sounds 10x more impressive. Into the trashbin the systems programmer application goes, they just don't have enough skills for an enterprise of our scale!

A C systems programmer can definitely make a list of buzzwords as well.

Also, let's say team A (10 C app/systems programmers) in a company asks HR to look for a C developer and HR comes back to them with 10 great web developers to be grilled by the engineers of team A - what happens then? Does team A shrug and say "welcome to our C codebase, we shall now rewrite it in tailwind or whatever because you are now here!" - I really don't see how it can play out


This supposes team A has 10 C programmers in the first place. By one means or another, teams of web developers are put together and made to do non-web-development projects, and now half of the Windows 11 userland is written in fucking React. I'm not the one making these stupid decisions, but probably they were originally hired to work on a web project, then later moved to a new OS-related project because they were the pool of idle employees available, and the fleet of React-in-the-OS programmers expanded as new hires were now being funneled directly into React teams working on OS projects.

Because they lack any better signals from within the company. At several places I have worked, hiring is almost fully detached from the groups that need the workers. They never could find good candidates for our teams. This kind of disconnect is what corporate cancer looks like, and it is endemic in big business.

"5.11 or 5.9 which number is greater?" was a meme query a few months ago to ask an LLM as it would confidenly prove how 5.11 is greater - so yes, we do need expert validation!


A very, very big problem we have with LLM discourse is that LLMs have changed radically since the beginning of last year. If you're making an argument about modern foundation models based on the idea that they can't generate reliably correct answers to whether 5.11 is greater than 5.9, your mental model is completely out of date.

You don't have to believe me on this, just your own lying eyes. Go try this for yourself right now: ask it dy/dx of h(x)/g(x) where h(x) is x^3 + 1 and g(x) is -2e^x. That's a random Math Academy review problem I did last night that I pulled out of Notes.app. Go look.


I think you’re misreading the situation. the original commenter isn’t outsourcing thinking, they’re using the tool to probe and test ideas, not to blindly accept end result answers which LLMs are (currently) not to be blindly trusted.


> booked tickets for a flight or bought a home or a car or watched a cat video

Would you install a native app to book a flight? One for each company? Download updates for them every now and then, uninstall them when you run out of disk space etc

I can ask the same question about every other activity we do in these non-native apps.


I have installed all them on the phone, so yes.

Unfortunely several of them are glorified webviews.

I am old enough to have lived through the days Internet meant a set of networking protocols, not ChromeOS Platform.

And on those days hard disks were still bloody expensive, by the way.


> I have installed all them on the phone, so yes.

Isn't your phone providing a sandbox, a distribution system, a set of common runtime services, etc to get these native apps functional?

You don't have to squint your eyes to realize that this thing we call "document browsers" are doing a lot of the same work that Apple/Google are doing with their mobile OSes.


You mean like Windows Store, Mac App Store, apt, yum/dnf, emerge,....?

All the OS frameworks that are available across most operating systems that don't fragment themselves into endless distributions?


> don't fragment themselves into endless distributions?

My dear Lord! In what world are you living in?

Take a look at all of the "mobile apps" you installed on your phone and tell me which of those would ever devote any resource to make a apt/rpm repository for their desktop applications.

Even the ones that want to have a desktop application can not figure out how to reliably distribute their software. The Linux crowd itself is still at the flatpak vs AppImage holy war. Mark Shuttleworth is still beating the snap horse.

The Web as a platform is far from ideal, but if it weren't for it I would never been able to switch to Linux as my primary base OS and I would have to accept the Apple/Microsoft/Google oligopoly, just like we are forced to do it at the mobile space.


> The Web as a platform is far from ideal, but if it weren't for it I would never been able to switch to Linux as my primary base OS

As my old IT teacher said: you can use the browser on any OS. She also implied it requires no special skills, which is true if you are limited to the browser for the majority of the time.

So... are you saying that you are able to use Linux because all you are using is the browser?


> are you saying that you are able to use Linux because all you are using is the browser?

No, I am saying that the browsers provide a fallback for the applications that I need but do not have a native counterpart, and therefore I am not stuck with Windows or MacOS.

Without the web as a platform, I'd have to leave Linux the moment I got to a job that required Slack/Jira/Teams.


In the world we build for ourselves, a worse is better mentality world.


> a worse is better mentality world.

Seems like your preferred world is the totalitarian "choose any color you want as long as it is black" one, where everything is perfectly optimized and perfectly integrated into a single platform.


> > a worse is better mentality world. > > Seems like your preferred world is the totalitarian "choose any color you want as long as it is black" one, where everything is perfectly optimized and perfectly integrated into a single platform.

Idk, I have a feeling they would be anti systemd too


I am not so sure. Both Pottering and pjmlp are German.


While I live in DACH region, my passport carries another flag.


Yep, think different.


I don't know if you are serious or just trying to evade the discussion.

Two questions:

1) What is the primary OS for your desktop?

2) Would you sincerely make the argument that a world where everyone submits to a single design (Apple-style) would be better than an "organic" world where the barrier of entry is lower, but less "optimal"?


1) Windows or macOS, depending on the project or customer provided hardware

2) Yep, the Year of Linux Desktop already happened, it is a VM hosted on 1)


(2) reads like "to be free, first you need to submit yourself to the Overlords".

I will take the minor inconvenience of having to run web apps over the dystopia you are willing to subject yourself to in the name of "optimization", thank you very much.


You're doing all these things with web apps also, it's just that the browser orchestrates it for you.

But for some reason this takes 20M lines of code, which creates a moat that prevents browser competition.


Any sufficiently-capable graphical application runtime* contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of a web browser.

(* including every web browser)


I clarified it on the steam page - thanks for bringing it up!

I tested it on Windows 11 and Linux (via proton). I'm afraid I can't say anything about Mac OS until I get my hands on apple hardware and I'm not familiar enough with their emulation layers to take a guess.


If it’s just electron, any reason it can’t be “native” Linux/macOS?


I picked electron with portability in mind; I anticipate some unknown unknowns (since I've never owned a mac for ex) but they should be solvable.

I have support for linux, controllers, steam deck, mac on my to-do list in that order - it's simply a matter of time (up-front, maintenance, testing) and money since macs do tend to cost quite a bit. I'm a linux user myself and I hope I'll port it properly sooner rather than later but meanwhile I also know it seems to just work with proton.


The game itself is written in JS and packaged up with electron. I used PIXI.js for all the rendering - it's great for 2D-anything really. On the server side, the evaluator is written in node and a bit of php.

I'm aware this tech stack is a bit divisive :) but I made sure it runs just fine at 120 fps on my non-gaming laptop.


Good for you for plowing ahead and “just getting it done” and launching!

This is the hacker spirit that hacker news was originally built on, and it’s joyous to see it still alive

p.s. the game looks great I have purchased a copy!


Thanks for the kind words. People's passion projects are the main reason I keep coming to HN - the spirit is alive and very healthy!

Hope you have fun!


> Heavy use of symbolic operators has thankfully fallen out of style.

I assume this refers to operator overloading. I think `a + b - c` looks way more readable than `a.add(b).sub(c)` and I'm happy when a language lets me define my own operators for vectors/matrices but I also have a side-curiosity: do they ever have a good use case outside of a math context? I never heard anyone praise `<<` `>>` in C++ for ex.


It's mainly about libraries implementing their own symbols e.g. ~>, ~>>, >->, λ

Each of which was specific to that library and would confuse new developers beyond belief.


The majority of code is not math. I prefer if languages have a math dsl, only in which, the math operators become available.

I actually do like symbols as opposed to words (+ instead of append, : instead of as, < instead of extends, -> instead of function etc). They just need to have stable meaning, which conflicts with operator overloading/math.


Here are some values that are (understandably) not listed on the blog. They happen only due to the limited precision of floating point formats.

  128              = √(2 / √√(√2 - (2 / √2)))
  8192             = √√(2 / ((√2 * √2) - 2))
  16384            = (2 / √√(√2 - (2 / √2)))
  67108864         = √(2 / ((√2 * √2) - 2))
  134217728        = (2 / √(√2 - (2 / √2)))
  4503599627370496 = (2 / ((√2 * √2) - 2))
  9007199254740992 = (2 / (√2 - (2 / √2)))
  6369051672525773 = (√2 / (√2 - (2 / √2)))
I found these by accident a long time ago but kept them because they do "work". Try to input one expression in the lil box in https://www.wolframalpha.com/?source=nav and they will quickly evaluate to these values; the charade goes away after you press Enter and get the (mathematically) correct answer.

My old solvers from what feels like a previous life: https://madflame991.blogspot.com/2013/02/four-fours.html https://madflame991.blogspot.com/2013/02/return-of-four-four...

That was fun


When everything is an IEEE 754 floating point number, a mathematically "linear" function can indeed be coerced into anything: http://tom7.org/grad/


Nice! Looking into them a bit deeper, they all rely on two facts involving quantities that are off by 1 ulp:

    √2 - 2/√2 as a float64 is exactly equal to 2^{-52}

    √2 * √2   as a float64 is exactly equal to 2 + 2^{-51}
and all other calculations after that are mathematically exact. For example:

    √(2 / √√(√2 - (2 / √2))) := √(2 / √√(2^{-52})) = √(2 / 2^{-13}) = 2^7 = 128
and

    √√(2 / ((√2 * √2) - 2)) := √√(2 / 2^{-51}) = √√(2^{52}) = 2^{13} = 8192
In your last one,

    6369051672525773 = 2^{52} * 1.4142135623730951454746218587388284504413604736328125
(https://float.exposed/0x4336a09e667f3bcd) where the second value is the exact value of the floating-point representation of √2 (i.e. the closest representable-in-float64 value to √2).


I can't recommend "return true to win" (https://alf.nu/ReturnTrue) enough to learn how to golf JS. I think it's more accessible to learn one 10-20 char snippet at a time than a big project like a 1k submission.


In certain conditions gcc will actually generate instructions that use this same bitvector described: https://godbolt.org/z/6Gfjv6PGd (notice the funny 130159 value in there)

The only thing I did was to adjust the range of characters so that the bitvector fits 64 bits. Sadly, I do not this it would work for the author's bigger range.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You