Hacker News new | past | comments | ask | show | jobs | submit | n2d4's comments login

Which ones are misaligned? At least the ones shown to me are perfectly aligned on my computer (both Safari and Chrome on a Mac).

Is it maybe caused by an adblocker? (I have YouTube premium, so no ads.)

Edit: Actually, the picture in the article shows a misalignment in the "Breaking News" section. It's odd, because the sections align perfectly for me on various screen sizes


It's probably an adblocker, I explained why they get misaligned ([is-in-first-column] attribute adding extra margin) if a video gets hidden and the rest flow to fill in its place here:

https://news.ycombinator.com/item?id=43848061


This bit of information makes the entire thread hilarious to read.

Bunch of hackers using adblockers that modify the client-side UI to cheat Google out of money and then complaining loudly about a minor UI convenience. How dare Google not optimize for them!

I say this as someone who uses an adblocker myself. But come on.


Hehe, you need to be a big enough nerd to know to do this when you see it's misaligned:

https://github.com/insin/control-panel-for-youtube/blob/cf18...


> They make no such promises in their documentation. Their 5494 pages manual on RDS hardly mentions isolation or serializable

Well, as a user, I wish they would mention it though. If I migrate to RDS with multi-AZ after coming from plain Postgres (which documents snapshot isolation as a feature), I would probably want to know how the two differ.


I know we don't comment on formatting here, but WTF is this website?? I can't tell whether this is some early AI experiment or just someone trying to imitate the slang used on 4chan, and also there are ads covering literally two thirds of my screen. It almost feels like a parody. Is it?

Look at other posts, they read similarly weirdly. I think it's just someone who is deeply in the 4chan orbit and communicates in that style.

I don’t get it either. I stopped reading when it said the third time „this isn’t hard at all“ at first. Like, there are so many redundant and incredibly short sentences, I had a very hard time to read.

The whole message of this post could’ve been put into two structured sentences.


This is a silly argument. Breast cancer awareness (rightfully) gets a lot of attention; it's also fine to have an article about prostates every once in a while.

Right, if anything I'd say men's reproductive health is under looked in general. Men rarely go to Urologists and issues with the prostate and penis are very much treated as just a fact of life, as opposed to something to look into it. And, even when we do look at these issues, we do it in such an overly pragmatic sense.

Like, how men feel about their penis not working or their muscle atrophying doesn't matter. What matter is does their penis work, literally? We approach it in such a blunt and apathetic manner. We don't really think about the more emotional side of hormonal changes or changes with age.


Source? It's much more likely that the LLM generates the latent vector which serves as an input to the diffusion model.

From the GPT-4o System Card Addendum[0]:

> Unlike DALL·E, which operates as a diffusion model, 4o image generation is an autoregressive model natively embedded within ChatGPT.

[0]https://cdn.openai.com/11998be9-5319-4302-bfbf-1167e093f1fb/...


Open AI said it's auto-regressive, the presentation on the app is autoregressive, it's priced auto-regressively.

Why would that be more likely ? It seems like some implementation of bytedance's VAR.


This one seems to make it easier — if the promises here hold true, the multi-modal support probably makes o4-mini-high OpenAI's best model for most tasks unless you have time and money, in which case it's o3-pro.


Of these, some are mostly obsolete: GPT-4 and GPT-4 Turbo are worse than GPT-4o in both speed and capabilities. o1 is worse than o3-mini-high in most aspects.

Then, some are not available yet: o3 and o4-mini. GPT-4.1 I haven't played with enough to give you my opinion on.

Among the rest, it depends on what you're looking for:

Multi-modal: GPT-4o > everything else

Reasoning: o1-pro > o3-mini-high > o3-mini

Speed: GPT-4o > o3-mini > o3-mini-high > o1-pro

(My personal favorite is o3-mini-high for most things, as it has a good tradeoff between speed and reasoning. Although I use 4o for simpler queries.)


So where was o1-pro in the comparisons in OpenAI's article? I just don't trust any of these first party benchmarks any more.


Is 4.5 not strictly better than 4o?


An understated benefit is that, if you have 4 year vesting, you can choose after year 1 or year 2 whether you want to stay.

Meaning, if the company's stock went up 2x after year 1, your salary has effectively doubled for years 2-4. If the stock went down -50% however, you just leave and get market salary somewhere else.

So, considering this, the expected value of $100 in stock options is actually more than $100.


> Meaning, if the company's stock went up 2x after year 1, your salary has effectively doubled for years 2-4. If the stock went down -50% however, you just leave and get market salary somewhere else.

If you get 25k shares worth <$1.00 and, you won't double your salary even if the share price doubles. Not to mention that only 1/4 would be able to be exercised, and you have no liquidity to realize the gain.


The assumption in my comment is that your entire salary is in stock — otherwise, obviously you need to adjust accordingly. But only 1/4th of the stock being exercisable makes sense if you think of vesting like a monthly salary — each month, another 1/48th becomes exercisable. Even if you technically own the rest as well, it's more appropriate to think that you don't.


Water is not a fire retardant. Water can extinguish fire, but you can't apply water on a forest to prevent a fire from spreading there in the first place.

Your last paragraph seems to agree with parent? We should know what's inside, but it might still be the best solution.


Yeah you can! Wet forest does not burn as well as dry forest!

Water is absolutely a fire retardant, however it may not be quite as effective as the red stuff from the article.


More precisely, not nearly as effective. The fire retardant is effective hours or days after being applied. Water would have long since evaporated and had almost no effect. Even on very short timescales, the retardant is still much more effective than water alone.


Yes, it's about block scoping — but that doesn't make it less weird. In most languages this doesn't really make sense — a variable is a piece of memory, and a reference refers to it. JavaScript doesn't work like that, and that's weird to many.

What's the mistake that I made there? I just didn't explain why it happens. I briefly mentioned this in the later paragraphs — it makes sense to some people, but not to most.


JavaScript does work like that, but `for` creates a new block scope for each iteration, so variables declared with `let` in its initializer are redeclared each time. Some other languages ([1]) just make accessing mutable locals from a closure into a compiler error, which I think is also reasonable. Old-school JavaScript (`var`s) chose the worst-of-both-worlds option.

[1]: https://stackoverflow.com/q/54340101


OK so for one the title of that section is off:

> JS loops pretend their variables are captured by value

This has to do with how for loops work with iterators, but also what `let` means in variable declaration. You talk about 'unrolling a for loop' but what you're doing is 'attempting to express the same loop with while'. Unrolling would look like this;

    // original:
    for (let i = 0; i < 3; i ++) { setTimeout(()=>console.log(i)) }
    // unrolled:
    { let i = 0; setTimeout(()=>console.log(i)) };
    { let i = 1; setTimeout(()=>console.log(i)) };
    { let i = 2; setTimeout(()=>console.log(i)) };

    // original:
    let i = 0;
    for (i = 0; i < 3; i++) { setTimeout(()=>console.log(i)) };
    // unrolled:
    let i = 0;
    { i = 0; setTimeout(()=>console.log(i)); };
    { i = 1; setTimeout(()=>console.log(i)); };
    { i = 2; setTimeout(()=>console.log(i)); };
Now you can begin to explain what's going wrong in the second example; 'i' is declared with 'let' outside of the block, and this means the callback passed to the setTimeout is placed in the next stack frame, but references i from the outer scope, which is modified by the time the next stack frame is running.

In the original example, a different 'i' is declared inside each block and the callback passed to setTimeout references the 'i' from its scope, which isn't modified in adjacent blocks. It's confusing that you're making this about how loops work when understanding what the loop is doing is only one part of it; understanding scoping and the event loop are 2 other important pieces here.

And then if you're going to compare a while loop to a for loop, I think a critical piece is that 'while' loops (as well as 'do .. while') take only expressions in their condition, and loop until the expression is false.

'for' loops take three-part statements, the first part of which is an initialization assignment (for which 'var' and 'let' work differently), and the second of which is an expression used as the condition. So you can declare a variable with 'let' in the initialization and modify it in the 'afterthought' (the third part of the statement), but it will be treated as if each iteration of the loop is declaring it within the block created for that iteration.

So yes, there are some 'for' loop semantics that are specific to 'for' loops, but rather than explain that, you appear to be trying to make a point about loops in general that I'm not following.

I'm not saying the examples won't help people avoid pitfalls with for and while loops, but I do think they'll be unable to generalize any lessons they take away to other situations in JS, since you're not actually explaining the principles of JS at play.


I mentioned that the title makes no sense in the sentence right after it:

> Yes, the title makes no sense, but you'll see what I mean in just a second.

And yes, I didn't explain the exact mechanics of the ES spec which make it happen — but I would argue that "variables can be modified until they're out-of-scope" is even more unintuitive than just remembering this edge case. And I'm not trying to be an ECMAScript lawyer with the post, rather I'd just show a bunch of "probably unexpected" behaviors of JavaScript.


Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: