HNHacker News
TopNewBestAskShowJobs

gjadi

629 karma · joined August 3, 2021

https://omecha.info/blog/

Software Engineer at MicroEJ Currently working on embedded systems/IoT in Java & C. Previously worked on ML & NLP in Java, Python, Common Lisp, C, C++, ...

Homepage: https://omecha.info Email: gjadi@ the homepage domain. LinkedIn: https://www.linkedin.com/in/gr%C3%A9goire-jadi-8988a415b/

https://hnbadges.netlify.app/?user=gjadi

submissionscomments
gjadi··on I am sick of LeetCode-style interviews
And now any editors with LSP integration do the same.
gjadi··on Picotron Is a Fantasy Workstation
Nitpicking, according to Wikipedia, PSRAM is Pseudo-SRAM[1]. The fact that it's accessed through SPI is an implementation detail.

1: https://en.wikipedia.org/wiki/Dynamic_random-access_memory#P...

gjadi··on I used to not worry about climate change. Now I do [video]
From what I've read (can't find the source, sorry), it did have an effect, but it needs to repeat every year on top of the previous one to have the effect to stay below the 2.0 celsius avg.
gjadi··on FSRS: A modern, efficient spaced repetition algorithm
My understanding is that the anki Sync serveur is only for the sync part, there is no web interface to do the review.

Also, was it always free? When I looked at what was available for Anki, the remote solutions were paid only and not selfhostable.

Maybe I didn't look well enough back then.

gjadi··on FSRS: A modern, efficient spaced repetition algorithm
I wonder if there is plan for this to land in Mnemosyne[1]. I prefer Mnemosyne over Anki because I can self-host the web-sync server.

1: https://mnemosyne-proj.org/

gjadi··on Write libraries instead of services, where possible
Same as not linking with the new lib?

I understand it may be different if the software is distributed through the package manager of linux distribution because you have to follow what's provided by the distribution. But for a commercial software you can probably bundle your own libraries in executable or compile it statically.

But I am not familiar with the difficulties of the above process so I am probably missing something.

gjadi··on Write libraries instead of services, where possible
I don't quite understand what you are saying.

As per the article, the advantage of a library over a service is that you don't have the burden of maintaining the said service. How having a thin client and a server helps?

I also don't see how "shoving new options in the dict" can help. From my POV, if the client needs to be updated to benefit from the new features, then there is no way around it, work has to be done. From there, I much prefer having sensible name, parameters, etc. from a library that can be leveraged by static typing rather than a documentation for a JSON API (I know API-as-specs exist but I've never used, maybe that's why I think that).

gjadi··on Write libraries instead of services, where possible
Ok so the benefits here are transparent upgrade. Thanks.
gjadi··on Write libraries instead of services, where possible
> It's all fun and games until you hit version n+1 or n+2, and often realize how slow many customers are to upgrade the library.

How is that different with services? I don't develop services, but I can imagine that before breaking the services, you have to poll with your biggest customers and you don't break until they are ready to move to the new version. The alternative I can imagine is to keep providing the old services with a grace period (e.g. /v1 will be available until dec next year).

What am I missing?

gjadi··on The Bluffers Guide to the Mythical Man Month
Another aspect discussed in TMMM not present in this summary is the possible benefits of AI.

Brooks says there can be some gains, but no silver bullet :)

- As a Testing Agent that learns how the system behave and how to test it as the developers interact with the agent.

- As a tutor, junior can learn from the knowledge of experts by interacting with the AI.

- For "automatic" programming when the problem is characterized by few parameters, when there are many known solutions and good knowledge to select the correct solution.

So far I've read about tutoring and automatic programming, but I haven't read about how to use AI to learn about the system and generate tests.

gjadi··on Email obfuscation rendered almost ineffective against ChatGPT
The conclusion of this article was also written by chatgpt (or at least it feels like it).
gjadi··on Android and RISC-V: What you need to know to be ready
Yes that's how some of our customers use it: have the heavy computation done on one CPU and use another light MCU when possible to save battery (for example for smartwatches).

We have our own JVM tailored for MCU.

gjadi··on Android and RISC-V: What you need to know to be ready
At my company we develop SDK based on a JVM for small devices (https://developer.microej.com/supported-hardware/). We also have a compatibility layer with Android applications.
gjadi··on Ask HN: Any interesting books you have read lately?
For a longer review of the book, I liked https://astralcodexten.substack.com/p/your-book-review-the-w... (disclaimer: I haven't read the book itself).
gjadi··on Ask HN: Any interesting books you have read lately?
For those interested on this topic but would like a lighter approach, there is now a graphic novel: The Goal A Business Graphic Novel.
gjadi··on Unesco calls for global ban on smartphones in schools
Legislation doesn't exist in a vacuum. I imagine there are more smartphones in classroom today that the number of GameBoy ever sold.
gjadi··on Dt: Duck tape for your Unix pipes
Actually the title as in, html > head > title is "dt: duck tape for your unix pipes".

The poster probably used the HN bookmarklet which sets the title automatically.

gjadi··on C++23: The Next C++ Standard
Got it, thanks.
gjadi··on C++23: The Next C++ Standard
I'm not sure to understand.

You mean if your jar depends on other stuff?

gjadi··on C++23: The Next C++ Standard
Isn't this a problem only if you manage your dependencies by source rather than "compiled"?

That is, in Java you may not be able to compile old code with new javac, but the class file format is still understood by the JVM. So your old .jar still works.

I believe it is the same in C++ with the .so. I don't know about .NET.

In Python however, I don't think the .pyc were compatible between Python2 and Python3.

gjadi··on C++23: The Next C++ Standard
Speaking of OCaml, I like the local namespace import:

MyVecModule(v1 * v2 + v3)

Easy to read and explicit enough to know which functions is used.

https://dev.realworldocaml.org/files-modules-and-programs.ht...

gjadi··on Proof you can do hard things
I recommend reading So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love from Cal Newport for a different perspective on this.
gjadi··on Ask HN: Could you share your personal blog here?
https://www.omecha.info/blog/

11 posts, about programming and sysadmin.

- https://www.omecha.info/blog/when-good-code-goes-nan-how-mis... - When Good Code Goes NaN: How mismanaging Java's Unorderable NaN Value led to a bug

- https://www.omecha.info/blog/ssh-fingerprint-howto.html How to check ssh public key fingerprints?

Powered by org-mode.

gjadi··on Data-Oriented Design (2018)
Found an online review of the book: https://gist.github.com/seece/25ed1b2108cf5782718b026382f2c5...
gjadi··on Titanic director James Cameron accuses OceanGate of cutting corners
I think he's referring to subs diving specifically to the Titanic.
gjadi··on Ask HN: Books to learn about Arabic text processing
Thanks I'll look into it.
gjadi··on Helplessness is not learned (2022)
I don't understand what you're trying to say.

The article says that there is no such thing as "learned helplessness". To match what the article says, I can turn your example into: when you don't know how to read, reading means nothing. One has to learn to read in order to make sense of the words.

You do not learn to ignore words by reading without knowing how to ("learned helplessness"), you learn to read words.

gjadi··on Helplessness is not learned (2022)
My understanding is that "learned helplessness" is not "unlearned control" but "not-learned control". Someone who can't read isn't someone who forgot how to, but someone who never learned how to.

I think it's helpful because that means that everyone has to learn control. As opposed to just a few people who would need to learn it to fight their helplessness. So, maybe something that should be taught at school?

gjadi··on Red Hat dropping support for LibreOffice
Yes but pledge works at the source level. It's the job of the developer to set the correct pledge calls.
gjadi··on Using Google’s code history to write more code
Wisdom of the crowd is the hypothesis made here I guess.
← PreviousPage 3 of 7Next →