HN user

schmuelio

71 karma
Posts0
Comments30
View on HN
No posts found.

I think arguing that "driving" requires the same amount of effort as "not driving" is a more specious claim

It's really not, the human brain is _really_ good at abstracting.

In pretty much exactly the same way you don't have to pay attention to balancing to walk, your brain learns to do the same thing for cycling and driving. It abstracts the mechanics of the car (e.g. turning the wheel to turn left/right) and sort of extends its view of your "body" to the car.

This isn't an instantaneous process of course, it takes time to build up that abstraction, but it absolutely exists. If your brain wasn't good at doing those types of abstractions then walking/running/typing/speaking/breathing/etc. would take a phenomenal amount of attention and practice.

Yeah that use case really sounds like they're on the cusp of just making a DSL from a config language.

If you need it to be _that_ complex then just write your configs as code...

Fairphone 5 3 years ago

I can't speculate on the extremely long term, but my fairphone 3 is still getting OS updates pretty regularly. Fairphone 3 was released 3 years ago and I think the last OS update I got was ~3 weeks ago, so they're at least doing 3 years, time will tell for 5+ though.

Oh boy that slope sure seems slippery doesn't it?

You know that reasoning can be applied to literally any removal right? There's _tons_ of stuff that it would be pretty reasonable to remove (and I'm sure you'd agree that things like CP shouldn't be on there etc.). There's also plenty of stuff that they would likely _have_ to remove if the state told them to (I don't have direct evidence of this happening, so take it as a hypothetical), while this isn't necessarily a _good_ thing, it's also not a slippery slope.

I'd also like to highlight the thing where you implied that Russian state propaganda is just an opinion or a theory (and therefore just as valid as any other innocuous opinion or theory), which is at best intellectually dishonest.

I don't know if there's been new stuff about it recently, but there's a good chance this is just sourced from a single reddit post that says they decompiled the app and found "loads of dodgy security problems just trust me"

I haven't found a source for this that doesn't trace back to this one reddit post.

Like basically every browser-based app, so electron apps as well as most android apps.

From my understanding iPhone apps work slightly differently but I sincerely doubt that it's not common place in that space as well.

I'm not saying that it's definitely completely fine, but it _is_ really common in that space.

In countries where inflation has gone haywire (worse than Bitcoin)

Other comment has addressed the rest, I just want to point out that Bitcoin (and most other cryptocurrencies) are not _inflating_, they're _deflating_.

If the buying power of a currency goes up over time then it is deflating.

While this makes it (arguably) good for speculation, it actively punishes using it as a currency since what you buy today will be cheaper tomorrow. This - in turn - punishes the poor that would have to use crypto for necessities (food, shelter, water, etc.) since they will always have to buy necessities when they are expensive (today) rather than when they are cheap (tomorrow).

Just felt compelled to add this since a lot of crypto discourse talks about how the traditional market is seeing record inflation or whatever, and crypto doesn't suffer from as much inflation. While this is _technically_ true, the reality is that a deflationary currency is significantly worse for the people using it than an inflationary one. Especially when it comes to things like concentration of wealth in the hands of a few rich people.

unlike, e.g., “signing git commits with a yubikey”, which nobody cares enough about to attack

I'm not so sure about this one, there's plenty of damage you could do if you were a malicious actor who could send trusted commits to a git repo. Especially if said repo were for some important software (like Linux, wget, glibc, etc. I know they're not necessarily on public repos but we're assuming at least somewhat targeted attacks here).

It's not a public commons if it's owned by a private individual or company...

Yes it's popular and yes there's a lot of people on it and using it, but that doesn't make it a public commons, its ownership does.

You are broadly right about the last one not being a legal mandate.

It was basically a case of the EU saying "you need to choose one charging port that you all use, we _will_ create a mandate if you don't".

Importantly, the EU has already gone through a shift in charging standards, so they already understand how this stuff advances and have prepared for it in their own legislation (the EU tends to make laws with details on how those laws will be changed in the future etc. since they are at core still a large trade bloc). You can find a Q&A they gave here:

https://ec.europa.eu/commission/presscorner/detail/en/QANDA_...

Where the following section applies:

Will the proposal be an obstacle to innovation?

The Commission's proposal aims at providing consumers with an open and interoperable solution and, at the same time, enabling technological innovation. The proposal encourages innovation for wired and wireless technology charging.

Any technological developments in wired charging can be reflected in a timely adjustment of technical requirements/ specific standards under the Radio Equipment Directive. This would ensure that the technology used is not outdated.

At the same time, the implementation of any new standards in further revisions of Radio Equipment Directive would need to be developed in a harmonised manner, respecting the objectives of full interoperability. Industry is therefore expected to continue the work already undertaken on the standardised interface, led by the USB-IF organisation, in view of developing new interoperable, open and non-controversial solutions.

In addition, larger technological developments are expected in the area of wireless charging, which is still a developing technology with a low level of market fragmentation. In order to allow innovation in this field, the proposal does not set specific technical requirements for wireless charging. Therefore, manufacturers remain free to include any wireless charging solution in their products alongside the wired charging via the USB-C port.

To summarize, they'll work with the USB-IF (made up of a whole bunch of companies, including Apple) when the USB-IF makes a new standard in order to ensure that new connection innovations will be propagated to new devices. What they won't allow is a company like Apple having an "innovation" then diverging from how everyone expects devices to charge.

Interestingly they've also said that there's a set of standardized fast-charging capabilities that need to be clearly labelled on products that require/support them. So if you buy a tablet it'll have a label on the box saying "can charge at up to 50w" or whatever, and a charger would say "can charge at up to 50w", so you know it'll charge at full speed. That's a little better than the previous "it supports fast charging" umbrella.

I mean the simple fact that every phone manufacturer bar Apple moved to Micro-B indicates that the mandate works, and the fact that they then migrated to USB-C indicates that it doesn't lock manufacturers in forever.

In addition, Apple is known for making loads of dongles, so it wouldn't be remotely weird for them to sell/ship a lightning -> USB-C dongle. So the argument about mandating e-waste doesn't really hold up either.

So you have:

- It works - It doesn't lock manufacturers in forever - It doesn't mandate e-waste

Any other reasons you want to give? So far those are the only three I've seen and none of them hold water.

You might have dictated a situation where people now have to throw away a pile of perfectly usable cables/accessories and buy a bunch of new ones.

I mean, or Apple could do the one thing they've done absolutely tons of recently (so it wouldn't be a surprising or unheard of move from them) and sell a dongle for lightning -> USB-C?

Now you don't have to do any of what you just said would be a guarantee.

The other way of viewing this is that by not switching (yet) they haven't created instant e-waste out of every cable and accessory manufactured in the past decade.

Well no time like the present since time is linear and unless they're going to stick with lightning _forever_ then they'll eventually have to create a bunch of e-waste.

Your example doesn't show static typing (declaration/re-declaration is the same syntax as assignment in Python), but I think OP was thinking of Strong/Weak?

Python is Dynamically typed because:

    >>> a = "foo"
    >>> a / 3
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: unsupported operand type(s) for /: 'str' and 'int'
This isn't a compile error.

Edit: Also for the re-declaration thing, you can see this using id(). Python seems do do some fancy value stuff behind the scenes but you can see the variable changing its identifier in the following example:

    >>> a = "foo"
    >>> id(a)
    140105790230896
    >>> a = "foo"
    >>> id(a)
    140105790230896
    >>> a = "bar"
    >>> id(a)
    140105790230512
    >>> a = 1
    >>> id(a)
    140105793782000
    >>> a = "foo"
    >>> id(a)
    140105790230512
As for strong/weak, I think it's a bit more fluid because I can't seem to find a set definition that everyone agrees on. Some people consider weak typing to be when the language implicitly casts or converts types for you, which Python does not do:
    >>> a = "1"
    >>> a / 3
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: unsupported operand type(s) for /: 'str' and 'int'
    >>> type(a)
    <class 'str'>
Except sometimes it kind of does? The divide operator converts int into float "implicitly" even when both inputs are int. So type conversion is happening behind the scenes (I don't know if you would class this as "implicit" type conversion, maybe it depends on where it happens?):
    >>> a = 10
    >>> type(a)
    <class 'int'>
    >>> b = 1
    >>> type(b)
    <class 'int'>
    >>> type(a/b)
    <class 'float'>

It's basically people thinking that Russian disinformation is a political belief.

People are angry that a search engine (something dedicated to giving you relevant and true information based on what you searched for) is less likely to give you Russian state propaganda because the right wing have associated their political beliefs with that of pure free speech without realizing that such a thing just doesn't make sense in most modern settings.

I haven't used it, but the page lists "The latest Intel Wi-Fi 6E chipset" so I would run under the assumption that it works fine.

It's the chipset that you would need to ensure compatibility with, unfortunately I can't find anything concrete on the actual chipset used, Intel only has 3 wifi 6E chipsets and as far as I can tell (from here https://venzux.com/intel-ax411-vs-ax211-vs-ax210-wi-fi-6e-mo...) they should all be compatible with Linux.

I've found remote desktop a pain as well.

On the occasion where I _have_ to use it I don't set it to fullscreen, just have it as a floating app at whatever resolution I care for. Then I just deal with the lower real-estate for however much time I need to be using it.

Nearly all of my remote work is SSH or SSHfs-based now, which (if you're used to terminal stuff) is so much nicer than any equivalent I've found on Windows.

Generally constrictors will constrict to cut off blood flow by squeezing.

They're strong enough that their prey can't push out of the constriction, and they'll just sit and wait for them to die from lack of blood flow then start eating.

Crushing the air out of a mammal is a lot harder, first because it just takes more force to prevent the lungs from expanding, and second because mammals can typically thrash for longer without oxygen than without blood.

Breaking any bones would take (usually) considerably more force than even that, bones are pretty strong.

They'll wait for death before letting go because snakes are pretty defenseless while eating, since their main (sometimes only) defense is their bite, which they can't use while eating.

Constrictors are also pretty good at feeling their prey's pulse while constricting as well, so they're well aware of when it's safe to let go of their prey.

Edit: This is to say that it's unlikely that the snake broke GP's arms.

Apple M1 Ultra 4 years ago

Given things like the AMD Epyc cores sit at around 40 billion transistors, I would assume a (roughly) even split.

It is also worth noting that the M1 Ultra is an SoC so it'll have more than just CPU/GPU on it, by the looks of things it has some hefty amounts of cache, it'll also have a few IP blocks like a PCIe controller, memory controller, SSD controller (the current "SSDs" look to just be raw storage modules).

All told it likely still has somewhere in the region of 30-40 billion transistors for the GPU. Each GPU core being physically bigger than the 3090 is probably pretty good for some workflows and not so good for others. Generally GPUs benefit from having a huge number of tiny cores for processing in parallel, rather than a small number of massive cores.

Current benchmarks put it at roughly the performance of an RTX 3070, which is good for its power consumption, but not even close to the 3090. As I mentioned in the previous post, it just doesn't have the cores or memory bandwidth needed for the types of workloads that GPUs are built for (although unified memory being physically closer can help here ofc.), certainly not enough to make it a competitor for something like a 3090.

Edit: Oh also, for massively parallel workloads (like what GPUs do), more cores and better bandwidth to feed those cores will be one of the biggest performance drivers. You can get more performance by making those cores bigger (and therefore faster) but you need to crank the transistor count up a _lot_ to match the kinds of throughput that many tiny cores can do.

I get your point and I'd raise you the suite of Microsoft products:

- Word, PowerPoint, Excel, all one style - Teams, different style - Notepad, different style - Paint, different style

That's just within the MS ecosystem, leave that ecosystem and you rapidly find the same style mess that you get on Linux. It's basically due to the many different GUI frameworks, not the OS itself, hell MS supplies a whole list of frameworks that look different from each other.

Even MacOS/iOS which are _really_ good at having a cohesive UI style suffer from this problem.

I'd argue that if this is a valid complaint with Linux DEs (be it GNOME/KDE/what have you) then it's an equally valid complaint for Windows.

Apple M1 Ultra 4 years ago

Don't get me wrong, the benefits of using ARM architectures for general purpose vs. x86 are really compelling.

The performance of x86 has been a leader for a while mostly because of the sheer amount of optimization work that has gone into them, but the cruft of the x86 instruction set and the architectural stuff you have to do to make the instruction set work is really showing it's age.

That being said, the GPU performance claims are incredibly misleading. The previous "relative performance" benchmarks that were done on the M1 Max for GPU performance were misleading as well, they definitely cannot keep up with a mid-tier modern discrete GPU.

The GPU claim isn't an ARM/x86 comparison like the CPU performance would be. This is comparing a 64 core 800GB/s GPU with a 10k core 900GB/s GPU and trying to make them look equivalent through misleading marketing.

None of this is to say that the M1 Ultra is bad necessarily, even if it performs roughly the same as a mobile GPU or powerful iGPU it would still be a very good chip, and I'd love to use one if I could use it in my environment properly. I'm just saying don't put too much faith in the GPU performance measurements provided here.

Apple M1 Ultra 4 years ago

Unless the M1 Ultra is actually magic I don't think it is possible.

My guess is they're putting a lot of weight on the phrase "relative power" and hoping you assume it means "relative to each other" and not "relative to their previous generation" (i.e. M1 Ultra -> M1 Max and RTX 3090 -> RTX 2080Ti) or "relative to the stock power profile".

Put bluntly, if the M1 Ultra was capable of achieving performance parity with an RTX 3090 for any GPU-style benchmark then Nvidia (who are experts in making GPUs) would have captured this additional performance. Bear in mind the claim seems to be (on the surface) that the M1 Ultra is achieving with 64 GPU cores and 800GB/s memory bandwidth what the RTX 3090 is achieving with 10,496 GPU cores and 936.2GB/s memory bandwidth.

I didn't remember how android handles screen rotations so I went and checked, I looked on both my phone and my tablet on a plethora of apps:

- YouTube

- GMail

- FireFox

- Plex

- RIF (Reddit app)

- Material (HackerNews app)

- Main home screen

- Sudoku game

All of them animated screen rotation just fine, with no blank screen or glitching. Just a smooth animation of the app screen rotating from portrait to landscape (and back).

It's possible that your assumptions are outdated and - by your own admission - should switch back to Android.

Diamonds aren't quite as useless as bitcoin currently. Bitcoin - as far as I'm aware - is currently mostly used for speculation. Whereas diamonds are very useful in many industrial processes which require hard materials (think cutting/grinding tools).

One could argue that diamonds are considerably more useful than bitcoin, most of the world's diamond consumption is for industrial use rather than jewelry.

I haven't used a considerable amount of time using st (I think for a total of 2 days on a VM?) I liked st just fine but I found the day-to-day performance of kitty really solid.

It feels like kitty takes _slightly_ longer to start up but it's still a tiny amount of time.

There's also the different configuration options, kitty has a config file but st (if memory serves) needs to be recompiled for changes.

I've found that initially kitty can have trouble rendering fonts with correct spacing but that takes a couple of minutes to tweak to your liking. And I think the colour configurations are a little more complex? I haven't had to change the config for a while though.

The GPU acceleration does make stdout much faster if it's unbuffered (in my experience) and on a 144hz monitor it looks so much smoother.

Hopefully that's enough of a comparison? Sorry I couldn't give more feedback, as mentioned I've only used st for a short time.

So induction is a useful method of proving stuff.

You can't prove that S(n) is true for all values of n by just going through each possible n and proving it, since n can be anything so you'll be there a while.

The way this works is, you attempt to show that _if_ S(n) is true, _then_ S(n+1) is also true. Then you show that S(1) is true. Since S(n) being true implies that S(n+1) is also true, you can show that S(2) is true since 2 = 1+1 (you've proven the case where n=1). Then since S(2) is true, so is S(3), and S(4), S(5), ... and so on.

The way the links proof works is:

You show that S(1) is true. The set of 1 person {A} must have everyone in that set being the same age (there's only one person in it after all).

The next step is to show that if S(n) is true, then S(n+1) is also true. To do this we can take an example set of people {P,Q,R}, in this case we are saying that this is the group of n+1 people (so n=2). We can take {Q,R} (the set of everyone except P) and know that they are the same age (since we have assumed S(n) to be true, as long as we can show this relation works, we only need to prove one value of n to prove all of them, and we've already done this with S(1)). We can also do this for the set {P,R} using the same reasoning.

Since Q=R (Q and R are the same age) and P=R, we can prove that P=Q since P=R=Q. This shows that as long as S(n) is true, so is S(n+1).

Where this proof breaks down is this proof only works for a set of people larger than 2. So we haven't actually proven that S(1) being true implies S(2) is true, since this relation does not hold, we can't rely on S(n) being true.