
Mostly moved to the place where the sky is blue. Performance, GPU APIs, multithreading and game engines specialist @siliceum. Does reverse engineering for fun.
Clermont-Ferrand, France
Joined August 2014
- Tweets3.9K
- Following543
- Followers394
- Likes1.8K
Clément Grégoire retweeted
GitHub's official "safe sleep" script:
>is not safe
>does not even sleep
Microsoft just can't stop losing
Clément Grégoire retweeted
Replying to @_plop_
It's not very reliable generally. For waiting, one option is to use CreateWaitableTimerExW with the CREATE_WAITABLE_TIMER_HIGH_RESOLUTION flag.
Clément Grégoire retweeted
Turns out EVERYONE WAS WRONG about N64 performance bottlenecks for 28 years. It's not fillrate or memory throughput. At this point, my N64 game is so memory/rdp optimized, that it's actually RSP that is holding up the whole operation.
Clément Grégoire retweeted
Measure, measure and measure again.
Too often I encounter programmers who argue about software performance.
That’s about as useful as arguing that your code must be correct.
It is not nothing but computer systems are complex. You may think that you have everything figured out… but there are things you do not know and you do not even know that you do not know them.
Measure and measure again.
Clément Grégoire retweeted
Replying to @lectem @SheriefFYI
This is also why for some games, older CPUs with less cores and better single core perf wins, even if the engine usually shows very good core scaling.
Amdahl law's a bitch.
Clément Grégoire retweeted
This is the 3rd major bug I hear about CrowdStrike in 3 weeks.
1st one happened 28th June. One CPU pegged to 100%
2nd one encountered by @molecularmusing breaking his SW.
3rd one today. They decide it to take it to next step and cause a global outage.
Uninstall that malware.
Clément Grégoire retweeted
So, Google Chrome gives all *.google.com sites full access to system / tab CPU usage, GPU usage, and memory usage. It also gives access to detailed processor information, and provides a logging backchannel.
This API is not exposed to other sites - only to *.google.com.
Clément Grégoire retweeted
Replying to @VdeVentura
ctrl+click .. nothing.
tries again.. nothing.
they used a fucking button didn’t they…
Clément Grégoire retweeted
a div is a not a button.
a div is a not a button.
a div is a not a button.
a div is a not a button.
a div is a not a button.
a div is a not a button.
a div is a not a button.
a div is a not a button.
a div is a not a button.
a div is a not a button.
a div is a not a button.
Clément Grégoire retweeted
L'Internet des Objets, c'est quand on ne peut plus allumer la lumière car le contrôleur a les résolveurs #DNS d'#OpenDNS en dur et qu'on ne peut pas les changer : nitter.gq/seheyah/status/1806754…
Clément Grégoire retweeted
Google's new AI search results are having quite the week. Here's a thread with some of my favorite answers:
Clément Grégoire retweeted
Sunday rant.
For software engineering, my sense is that the phrase “premature optimization is the root of all evil” has massively backfired. Its from a book on data structures and mainly tried to dissuade people from prematurely write things in assembler. But the point was to free you up to think harder about the data structures to use, not leave things comically inefficient. This context is always skipped when it’s uttered.
Not all fast software is world-class, but all world-class software is fast. Performance is _the_ killer feature.
If you are in engineering, here is a fantastic anecdote. I refer to this account often. It’s a bit subtile, but the implications are massive-
It’s an account of how SQLite became 50% faster, not by doing one specific thing but hundreds of small ones.
SQLite is everywhere today because of this work.
sqlite-users.sqlite.narkive.…
We need the engineers in all companies fight for this more. Product leads are not the right owners of the end performance of the software. This needs to be encoded in the professional pride of the software engineering discipline. Leaders in companies need to encourage it and hold engineering accountable. It’s simply not ok to fritter away the performance of the products for random reasons.
Every user of your products cares exactly as much about latency as engineers do when typing in their terminal. They just don’t have the words to describe what they don’t like about the experience and neither should they.
Clément Grégoire retweeted
That's what I've been saying since forever - everything matters.
I literally just crossed a +50% gain on something this morning after doing dozens of ~1% perf improvements that were barely visible in benchmarks (lost in the noise).
It. Adds. Up.
Sunday rant.
For software engineering, my sense is that the phrase “premature optimization is the root of all evil” has massively backfired. Its from a book on data structures and mainly tried to dissuade people from prematurely write things in assembler. But the point was to free you up to think harder about the data structures to use, not leave things comically inefficient. This context is always skipped when it’s uttered.
Not all fast software is world-class, but all world-class software is fast. Performance is _the_ killer feature.
If you are in engineering, here is a fantastic anecdote. I refer to this account often. It’s a bit subtile, but the implications are massive-
It’s an account of how SQLite became 50% faster, not by doing one specific thing but hundreds of small ones.
SQLite is everywhere today because of this work.
sqlite-users.sqlite.narkive.…
We need the engineers in all companies fight for this more. Product leads are not the right owners of the end performance of the software. This needs to be encoded in the professional pride of the software engineering discipline. Leaders in companies need to encourage it and hold engineering accountable. It’s simply not ok to fritter away the performance of the products for random reasons.
Every user of your products cares exactly as much about latency as engineers do when typing in their terminal. They just don’t have the words to describe what they don’t like about the experience and neither should they.
Clément Grégoire retweeted
Cars will need fewer screens and more buttons to earn five-star safety rating in Europe theverge.com/2024/3/5/240910… via @Verge
Clément Grégoire retweeted
I didn't expect things to be that bad nitter.gq/virusbtn/status/177837…
Malwarebytes' Jérôme Segura describes an ongoing Nitrogen campaign delivered via malicious Google ads for PuTTY & FileZilla. Nitrogen is usually used to gain initial access to private networks, followed by data theft & ransomware deployment. malwarebytes.com/blog/threat…
Clément Grégoire retweeted
Left: From-scratch debug build, launching target, and stepping with RADDBG.
Right: Launching target & stepping with Visual Studio 2022.
Clément Grégoire retweeted
This is a company that:
1. Entered a category where products traditionally lasted decades
2. Built a $17,000 product that was obsolete within a few years
3. Produced a self-congratulatory marketing video starring an Oscar winner about how environmentally friendly they are
Apple’s original watch models, including the ridiculously expensive Edition versions, are now ‘obsolete’ — something that doesn’t happen to real luxury watches. trib.al/hY4tovY
Clément Grégoire retweeted
Common Statistics Mistakes in Published Papers - A Cautionary Tale 📊📝
1/ Publishing a paper is a monumental task, but it’s essential to get the statistics right. Let's dive into some frequent statistical missteps researchers make and how to avoid them!
2/ Misunderstanding p-values:
A p-value < 0.05 doesn’t mean there's a 95% chance that the results are true. It means, given the null hypothesis is true, you'd see the observed results (or more extreme) 5% of the time.
3/ Overreliance on p-values:
Papers often tout p-values as the end-all be-all. But remember, significance does not equal importance. A tiny effect can be statistically significant but not practically relevant.
4/ Multiple Testing:
Doing multiple tests and only reporting significant ones (p-hacking) can lead to false positives. If you do 20 tests, you might get one "significant" result just by chance!
5/ Ignoring Confounding:
Forgetting to account for confounding variables can mislead. If a study finds people who drink more tea live longer, but they also exercise more, which factor is truly affecting longevity?
6/ Sample Size Issues:
Too small: Might miss real effects.
Too large: Might detect trivial effects. Choosing the right sample size is essential for meaningful results.
7/ Generalizing Beyond the Sample:
If you study a specific group (e.g., elderly men), be cautious about generalizing results to a broader population (like young women).
8/ Overfitting Models:
Including too many variables in a model can make it fit your sample perfectly but perform poorly on new data. Simplicity often trumps complexity.
9/ Ignoring Outliers:
Outliers can dramatically affect results. Don’t just remove them without good reason and always conduct sensitivity analyses to understand their impact.
10/ Not Sharing Data or Methods:
For transparency and reproducibility, always be open about how analyses were conducted. This allows others to verify and build upon your work.
11/ In summary, statistical rigor is essential for trustworthy research. By being aware of these pitfalls, researchers can produce more reliable, impactful, and credible work.
12/ The beauty of science is its self-correcting nature. Mistakes happen, but as we recognize and learn from them, we pave the way for better research in the future.
13/ Found this thread helpful? Give it a ❤️ or 🔁 and let's promote rigorous research practices!
#DataScience #Statistics

























