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

I tried this with Gemini 3.6 Flash

Me:how many P's are in the following text? [Pasted text with 10 P's]

Gemini: There are 9 "P"s (1 uppercase P and 8 lowercase ps) in the provided text. [List of words except the one missed]

Me: How many in strawberry?

Gemini: Something went wrong (1096)


Mostly 30 years of people writing code.


seriously, what was the point of this comment?


What's wrong with Apple push notifications in China?


"non-Apple", i.e. Android

The problem is that most popular apps for Android outside Chinese app stores rely on Google services (specifically, Firebase) for push notifications.


> and any decent formatter will split up long lines

Any decent editor can wrap long lines on demand. But it's even better not to have to do either of those if not necessary.

> I've felt strongly for a while now that abbreviations should be "lossless" in order to be useful

This is how we got lpszClassName. The world moved away from hungarian notation and even away from defining types for variables in some contexts (auto in cpp, := in Go, var in Java). Often it just adds noise and makes it harder to understand the code at a glance, not easier.


I'd argue there's a stark difference between abbreviating words and adding extra ones. `p` as a shorthand for `person` is silly to me, but that doesn't mean that `personObject` would also be silly to me. I fundamentally don't agree with the premise that it's possible to be too verbose means that terseness is its own goal; the goal should be clarity, and I don't think that lossy abbreviations actually help with that except when someone already knows what the code is doing, in which case they don't need to read it in the first place.


> So unless those pools are full of primitive data types, you’re going to cause more frequent full GC pauses, and longer due to all the back pointers.

If you have enough objects pooled to get low allocation rate then you never trigger full GC. That's what "low latency Java" aims for.

I think that the main downside of object pools in Java is that it's very easy to accidentally forget to return an object to a pool or return it twice. It turns out that it's hard to keep track of what "owns" the object and should return it if the code is not a simple try{}finally{}. This was a significant source of bugs at my previous job (algo trading).


You only get low full GC as long as the entire app makes no allocations, not just the hot path. If you allocate garbage at all eventually you will trigger one.


> each world was spherical (...) suddenly orienting the map was a challenge

The other downside was the fact that it was possible to assault arbitrary points - e.g. drop units from orbit in the middle of enemy base. It required much more awareness about the whole map. In 2D game one could mostly focus on front lines and choke points.


CME documentation states:

"LMM – CME Designated Lead Market Makers are each allocated a configurable percentage of an aggressor order quantity before the remaining quantity passes to the next step."

Certain matching algorithms allocate orders to LLM before considering FIFO - specifically algorithm T (LMM w/o Top). So I guess it depends on how strict is your definition of "FIFO order queue".

https://cmegroupclientsite.atlassian.net/wiki/spaces/EPICSAN...

https://cmegroupclientsite.atlassian.net/wiki/spaces/EPICSAN...

(I don't know the internals of the mentioned exchanges)


I have tried various approaches and here's what worked best, assuming that there is some natural way to partition most of the data (e.g. per account):

1. Init the DB with some "default" data - configuration, lookup tables, etc

2. Each test in the test suite owns its data. It creates a new account and inserts new records only for that account. It can for example create users on this account, new entities, etc. It can run multiple transactions, can do rollbacks if needed. It is important to only touch the account(s) created by the test and to avoid touching the initial configuration. There's no need to clean up the data after the test finishes. These tests can run concurrently.

3. Create a separate integration test suite which runs sequentially and can do anything with the database. Running sequentially means that these tests can do anything - e.g. test cross-account functionality, global config changes or data migrations. In practice there aren't that many of those, most tests can be scoped to an account. These tests have to clean up after themselves so the next one starts in a good state.

Other approaches had tons of issues. For example if each test is wrapped with a transaction which is later rolled back then testing is very limited - tests cannot use transactions on their own. Savepoints have similar issue.


Some of these are just "nice" but I'd probably buy this one: https://app.suno.ai/song/abddd209-4ad7-469d-82b9-f0117db0e51...


That... was amazing. Were the lyrics AI-written too, or is it a pre-existing text?


I don't know, it wasn't generated by me, I just found it in the "explore" tab. I tried to generate something similar and this came out: https://app.suno.ai/song/24dddb7b-5a10-45a2-8f52-94d627030c3...

I generated lyrics with chatgpt4 + some manual tweaking.


I didn't expect the twist there, nice work on the lyrics!

I feel the suno-generated song itself lacks congruency. Like, you could listen to it 10 times, have the lyrics in front of you, and not be able to sing along.


Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: