Hacker Newsnew | past | comments | ask | show | jobs | submit | dadoum's commentslogin

- Community translations - Integrated in-video polls - Annotations/Clickable links within videos - Public precise subscriber counts Likely a few others I can't remember right now.

I think that the right thing to do is to error out though. When the behaviour of some code cannot be guaranteed, that code should just be ruled out imo. Manually initializing a variable generally doesn't clutter the code, arguably it's making it clearer.

Dart does this, you can mark a variable as "late" which tells the compiler that you know for certain the variable will be written too before read. If something reads the variable before it's initialized, then the runtime will error. Maybe even on compile time if it can be caught, I am not certain.

GTK update schedule is very slow, and you can run multiple major versions of GTK on the same computer, it's not the right argument. When people says GTK backwards compatibility is bad, they are referring in particular to its breaking changes between minor versions. It was common for themes and apps to break (or work differently) between minor versions of GTK+ 3, as deprecations were sometimes accompanied with the breaking of the deprecated code. (anyway, before Wayland support became important people stuck to GTK+ 2 which was simple, stable, and still supported at the time; and everyone had it installed on their computer alongside GTK+ 3).

Breaking between major versions is annoying (2 to 3, 3 to 4), but for the most part it's renaming work and some slight API modifications, reminiscent of the Python 2 to 3 switch, and it only happened twice since 2000.


> Why not BlueBubbles?

Even better, why not use OpenBubbles?[0] It's even better as it does not require the Mac to act like a server. You just need to collect its hardware identifiers once and you should be ready to go. (still, IUseLinux looks like a cool project, the amount of work needed to reverse everything iMessage require is immense and I would not have expected anyone to have done this work if it didn't exist).

[0]: https://openbubbles.app


> Even better, why not use OpenBubbles?

From skimming their website, that seems to be an Android app.

Edit: digging more on their website, there seems to be a way to host it on desktop Linux. The main page makes no mention of that.


> Programs aren't even allowd to set their own icon

In GNOME. There is a protocol to set your window icon, and it will be respected by the Wayland compositors which are considering that there is value at having custom icons for each window. GNOME also considers it's confusing to have multiple windows from the same program with different icons, especially since the only places those icons could be displayed on GNOME are in the dock and in the Alt+Tab menu, but you pin apps to the dock, so those custom icons cannot be displayed there when there are multiple windows from the same app.


Uranium is very power dense. If there is a supply chain disruption, it is problematic but France keeps around at least 5 years worth of nuclear production, which gives it some time to react and adapt. Also, Uranium is not very rare nor expensive, so reliance on one producer is not that worrying I think. Enrichment facilities are rarer, but there is also one in France, so I can see French nuclear tech work on its own.


Canada is a significant producer of uranium and we have a fine relationship with the French, I don't think this is a serious concern at all


I had a Lenovo Thinkpad L14 Gen [the one with AMD Ryzen 5000 series], and in terms of build quality all I can say is that it's already dead due to motherboard flex (or rather, it can boot but resting my palms below the keyboard gives it a seizure).

So I would never recommend that one, but reportedly this is common among the "low-end" ThinkPads (mine was at around a thousand euros).


As far as I understand, the closer the points are to the line, the more distant they get to the rest of the plane. That's why he says that "this is an improper triangle", as the point of intersections of the hyperbolic lines are theoretically at an infinite distance from the "origin", and thus that the lines connecting those points have an infinite length.


It's a bit analogous to the way train tracks shrink toward the horizon and make an angle with each other where they appear to meet it, even though they don't actually meet in the plane. These hyperbolic lines won't actually ever meet in the hyperbolic plane either but they approach the same point on the horizon.

That edge is basically an artifact of the model, you can equally model the hyperbolic plane space as a disk and then the boundary is a circle, or on an actual hyperboloid in 3D and it extends out forever.


The disk model of hyberolic geometry is made to map hyperbolic 2 space (which is infinite in area) into the finite interior of the disk. In order to capture this, the normal euclidean notion of distance is distorted by a function which allows "distances" to go to infinity as a curve approaches the boundary of the disk.


I wrote an app using Wayland and XCB/X11 and honestly, I found the Wayland part to be much easier to write than the XCB part, even though it required me to write more code.

This is partly due to the fact that everything you can do with Wayland is defined in protocols that are straightforward to use whereas in X11 you have atoms and messages with arcane name and structures for everything, a lackluster documentation and terrible error handling.


Telegram Desktop is using Qt as far as I can see.


Ah, well, honestly there goes to show that well-engineered Electron applications (VScode, 1Password) can feel pretty much as good as native or near-native applications (Telegram).


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

Search: