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

> Canonical isn’t making 6GB memory a hard requirement for Ubuntu 26.04. It will still install on machines that fall below the minimum requirement, but users will have to deal with slower performance.

I think we have quite different definition of "minimum requirement", then.


I think the author is too quick to dismiss the impact of the plugboard.

> IC attacks only the rotor settings [...] Once you’ve found the right rotors and positions, you can solve the plugboard separately using frequency analysis.

So two steps: first solve for rotor settings with IC analysis, then solve the plugboard.

But IC analysis can't find the solution, just propose a lot of candidates among which a human can spot the correct one by looking for intelligible German text. And how can you spot intelligible German text if some letters are swapped by the plugboard?


The choice of countries seems arbitrary. I thought the list was limited to EU nations, but Iceland and Norway are there. Then I thought it was EFTA countries, but Switzerland is missing. Then noted Belgium is also missing... I give up!

Saying that IPv4 is ok because we have NAT and CGNAT is like saying that spam is not a problem because we have spam filters everywhere.

I can't help wondering how the 413,793 bars were stacked.

413,793 is 3×3×23×1999.


It wasn't actually that exact amount. It was "about 12 tons", and somebody did the 12000 kg / 29g calculation and used the answer with way too many significant digits. Probably the reporter trying to make the 12 ton number relatable.

(You might object that KitKats usually weigh 40g. So these were probably the new KitKat Icon F1 chocolates, which weigh exactly 29g.)


My brain went here too. I'm guessing that one box missed the truck (either it was damaged during loading or had a manufacturing defect), so a full shipment is 3 x 3 x 23 x 2000. So my SWAG:

1 box = 3 x 3 x 23 bars

1 pallet = 10 x 10 boxes

1 truck = 20 pallets


How did they come up with an odd number when individual packs are an even number of bars? (And, I imagine, cartons are a multiple of dozens of packs.)

> it is legal to optimize out any code paths that rely on this, even if they occur earlier in program order.

I don't think this is true. The compiler cannot remove or reorder instructions that have a visible effect.

  if (p == 0)
    printf("Ready?\n");
  *p++;
The printf() can't be omitted.

> The compiler cannot remove or reorder instructions that have a visible effect.

You might be surprised! When it comes to UB compilers can and do reorder/eliminate instructions with side effects, resulting in "time travel" [0].

IIRC the upcoming version of the C standard bans this behavior, but the C++ standard still allows it (for now, at least).

[0]: https://devblogs.microsoft.com/oldnewthing/20140627-00/?p=63...


No, this is explicitly legal. Most compilers will shy away from it these days since it made a lot of people upset, but it's definitely allowed.

Why would power flowing out of my house into the grid be a theft?

The kind of meters we used to install 50 years ago would turn backwards if electricity flowed backwards.

So if you spent a week with the meter connected normally, then you swapped the input and output cables around for a week, the meter would be back at zero. Free electricity!

They used anti-tamper seals to make it more detectable, but there are ways around that sort of thing.


I assume the scam would be you rewire the breaker so the grid is on the apparent load side. It's not exactly hard to do, just dangerous.

Maybe it looks like you're trying to trick the meter into running backwards?

> Last I checked

I checked 10 seconds ago. The only models I can order in my country with linux are Pro Max and a Precision workstation.

If I pretend to be located in the US, an XPS 13 from 2024 becomes available at 200$ more than the Windows variant, and no OLED option.

What a weird marketing strategy from Dell...


Yeah... Took a moment to look it up now:

Apparently they stopped making the Developer Edition which came with Ubuntu in 2022-2023 (which was definitely cheaper by 100-200 bucks or so than the Windows version with exact same hardware, I recall the developer edition os discount very clearly)

Now the XPS line has fallen as well, as apparently even the SSD now gets soldered to the motherboard, no longer possible to service with basic tools really once it starts failing. My old 2018-ish XPS has an M.2 slot and a battery that is relatively simple by modern standards to replace with some screwdrivers and careful handling (something I think is vital for a workhorse computer, as batteries 'decimate' in capacity within 2-3 years or so in my experience)

I don't even know what's left out there anymore among major makers... when I have to look again, maybe framework... Been hearing about them for a bit now and they seem quite relevant to the discussion - haven't seen one live yet to be fair


Pressing up, Ctrl-A and typing "sudo " adds the command to history, too. What's the difference?

It might sound easy to fix just a little detail that disturbs you and keep the rest as it is, but it's rarely feasible.

If we ban side effects from expressions, we must change the "for" syntax too, because the third "argument" currently is an expression. It should be a statement instead. Let's see...

  for (int i=0; i<n; ++i) // old
  for (int i=0; i<n; i+=1;) // new
What about the typical 2-variable loop?

  for (int i=0,j=n; i<j; ++i,--j) // old
  for (int i=0,j=n; i<j; {i+=1;j-=1;}) // maybe?
Or we simply forbid all this and force the increment and decrement in the body:

  for (int i=0,j=n; i<j; ;) {
    ...
    i+=1;
    j-=1;
  }
This is throwing the baby out with the bathwater!

And finally, if the third argument is a statement, would a break or continue be accepted there as well? A nested for? Sure, these are examples of abusing the syntax, but so is using x and ++x in the same expression.

My conclusion is that some constructs are so powerful that they can both simplify our code and make it unreadable. The choice how to use them is ours.


The author agrees with you. In the final paragraph, the author says that they allow ++ and -- when not using the value, as such use poses no harm.

Also, you can use a comma with += and -=,

  for (int i=0, j=n; i<j; i+=1, j-=1)
but keep in mind the decrement must usually happen before the loop body (post-increment reverses to pre-decrement).

  for (int i=0, j=n; i<j; i+=1) { j-=1; ... }
  for (int i=0, j=n; i<j; i++) { j--; ... }

> Also, you can use a comma with += and -=

In the modified C advocated by the author, assignments (including ++ -- += etc.) are not expressions. So no comma, no.


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

Search: