HackerTrans
TopNewTrendsCommentsPastAskShowJobs

folex

no profile record

comments

folex
·il y a 5 mois·discuss
> The executables in our benchmark often have hundreds or thousands of functions — while the backdoors are tiny, often just a dozen lines buried deep within. Finding them requires strategic thinking: identifying critical paths like network parsers or user input handlers and ignoring the noise.

Perhaps it would make sense to provide LLMs with some strategy guides written in .md files.
folex
·il y a 5 mois·discuss
this is exactly how I work with cursor

except that I put notes to plan document in a single message like:

   > plan quote
   my note
   > plan quote
   my note
otherwise, I'm not sure how to guarantee that ai won't confuse my notes with its own plan.

one new thing for me is to review the todo list, I was always relying on auto generated todo list
folex
·il y a 6 mois·discuss
> static types often reduce to a bunch of optionals, forcing you to null check every field

On one end, you write / generate / assume a deserialisator that checks whether incoming data satisfies all required invariants, eg all fields are present. On the other end, you specify a type that has all the required fields in required format.

If deserialisation fails to satisfy type requirements, it produces an error which you can handle by eg falling back to a different type, rejecting operation or re-requesting data.

If deserialisation doesn't fail – hooray, now you don't have to worry about uncertainty.

The important thing here is that uncertainty is contained in a very specific place. It's an uncertainty barrier, if you wish: before it there's raw data, after it it's either an error or valid data.

If you don't have a strict barrier like that – every place in the program has to deal with uncertainty.

So it's not necessarily about dynamic / static. It's about being able to set barriers that narrow down uncertainty, and growing number of assumptions. The good thing about ergonomic typing system is that it allows you to offload these assumptions from your mind by encoding them in the types and let compiler worry about it.

It's basically automatization of assumptions book keeping.
folex
·il y a 6 mois·discuss
> ends up being the same checks you would be doing with a dynamic language

Sure thing. Unless dev forgets to do (some of) these checks, or some code downstream changes and upstream checks become gibberish or insufficient.
folex
·l’année dernière·discuss
Where does the stereotype 'thesaurus = synonyms + antonyms' come from?

I'm not a native english speaker, and I never heard that idea besides in, I'd guess, Friends TV show.

I've used thesauruses since my childhood for exactly the task of looking up meanings, explanations, perhaps some etymology baked in.

For English, I always use WordNet, it is quite good and works offline on Android.

For my basic level of Chinese, Outliers dictionaries are so far the best I have found, but that's mainly due to my heavy reliance on the etymology provided there.

Well, I guess I got carried away a bit. Back to my question, where thesaurus=synonyms+antonyms comes from?
folex
·il y a 5 ans·discuss
How about XMPP performance on low-performance networks like mobile ones?

I believe poor networking performance was one of the reasons XMPP had to be customised in WhatsApp and overall didn't become as widely used as I'd like it to be :)

Is it still the case? Or was that problem addressed at standard level somehow?
folex
·il y a 5 ans·discuss
Strangely no mention of High Performance Browser Networking https://hpbn.co

I also would mention Distributed systems for fun and profit http://book.mixu.net/distsys/ while being not exactly about network programming, it is likely a next step for anyone who's building apps that is scattered across several backends/services connected by the network