HNHacker News
TopNewBestAskShowJobs

eneveu

820 karma · joined January 20, 2010

submissionscomments
eneveu··on US citizen charged after GrapheneOS phone wipes during airport search
On Whatsapp, you can "Delete this message for everyone", then "Delete this message for me" and it removes the "This message has been deleted" remnant.
eneveu··on The worst job interview I ever had
Probably India. I'm from Europe but have read in the past about this on Reddit / HN.

More info: https://qz.com/india/889524/the-us-says-oracle-is-encouragin...

https://www.mercurynews.com/2019/09/09/h-1b-san-jose-tech-fi...

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

eneveu··on GitHub confirms breach of 3,800 repos via malicious VSCode extension
When installing IntelliJ IDEA extensions, I download the code and try to check it for malicious stuff using Claude Code... But not perfect since the code might not match what was released. We would need reproducible builds...

I was also toying with comparimg timestamps of git tags / GitHub releases / GitHub actions / plugin update timestamps as one indicator of potential tempering.

But not ideal.

eneveu··on WHO declares Ebola outbreak a global health emergency
> They were snatching people from the streets and killing them.

Can you give more info on this? Tried googling it but couldn't find much. I remember there were very strict quarantines, but don't remember reading anything about "killing" people snatched from the street.

eneveu··on Token spend breaks budgets – what next?
Not much.

I think companies dream of increasing productivity using AI, so they want to encourage their devs to use AI more. Since it's notoriously very hard to measure software productivity, and they have no way to really measure how well engineers use AI, they measure number of tokens.

Which is dumb. Because a bad engineer might ask the AI to "convert this CSV to JSON" which would burn token, while a good engineer would ask the AI to "write a script to convert this CSV to JSON". Of course, this example is not ideal, since a SOTA model would probably just write a script anyway in the first case... But you get the idea.

eneveu··on Token spend breaks budgets – what next?
Thought this was interesting to see how AI token usage is exploding at multiple companies, and how they try to deal with it.

No mention anywhere of context engineering (starting a new session once a task is done, using sub-agents, reducing context for MCPs), and it seems some companies are actually rewarding developers for wasting token, instead of being smart.

eneveu··on Obsidian plugin was abused to deploy a remote access trojan
Interesting. Do I get this sandboxing out of the box when I install apps with Homebrew? Or do I need to do something specific?

Would love to enable this for all apps, and add exceptions for the ones that need more access.

I installed Lulu and BlockBlock recently, and want to do more to harden my Mac.

eneveu··on Anonymous request-token comparisons from Opus 4.6 and Opus 4.7
Yes it is.

https://claude.com/pricing

It's not available on Free plan, but it's available on Pro.

eneveu··on How to record and retrieve anything you've ever had to look up twice
The cool thing when using AI (e.g. Claude Code) is that the conversation with the agent is saved, and you can retrieve from that convo the way you did things in the past. Not just the how, but also the why.
eneveu··on Tiger Style: Coding philosophy (2024)
If you read Clean Code and other similar books, they don't necessarily advise moving the sub-functions to other files, or splitting them arbitrarily. They simply have the top function delegate to sub-functions that are lower in the same file. Even better if these sub-functions can be marked as private in your language (to avoid polluting the public API of your object). And here the goal is to use function names to document what each block of code (sub-function) does.

Example:

    def process_order(order):
        _validate(order)
        _reserve(order)
        _charge(order)
        _confirm(order)
    
    def _validate(order):
        ...
    
    def _reserve(order):
        ...
eneveu··on Successful people set constraints rather than chasing goals
Link no longer works. Article was moved to: https://www.joanwestenberg.com/p/smart-people-don-t-chase-go...
eneveu··on Cloud Storage retrieval and data transfer fees will apply to BigQuery requests
Previously, if you had a BigQuery external table on top of GCS files, and those files had Nearline / Coldline / Archive storage classes (e.g. due to a bucket lifecycle policy), you were not billed for retrieval fees when reading those files through the BQ external table.

This was a billing bug that was already mentioned in 2020 on StackOverflow.

But the bug has been fixed on February 21, 2025. So we are now billed for that. We started seeing 10.000 $ of retrieval fees due to that. I did a deep dive and found this.

The fact that some of our DBT projects were re-creating the external tables daily was not helping...

eneveu··on How A US Fintech Giant Crushed a Promising AI Startup
New Zealand startup Montoux shut down after a lawsuit from $46B fintech giant FIS, which accused it of stealing trade secrets—claims Montoux denied. The company had gained traction as an alternative to FIS’s Prophet software, but instead of competing, FIS sued.

Filed in Delaware, the lawsuit alleged Montoux used FIS code and trained AI on proprietary data. With legal costs hitting $600K upfront, Montoux couldn't afford to fight and liquidated. This "lawfare" tactic highlights how corporations use litigation to stifle competition, raising serious questions about monopolistic practices and the barriers to innovation.

eneveu··on B.1.1.529
Even with a global lockdown, there will always be a reservoir of virus somewhere.

Some immunocompromised people can carry the virus for weeks.

Also, what about households where one person catches COVID the day before lockdown, incubates for a few days (asymptomatically), then transmits it to another person in the household, who also incubates for a few days...

At the end of the two week lockdowns, some people will still be contagious.

eneveu··on Email from Jeff Bezos to employees
Indeed, Jeff talks about it in this 2001 interview : https://youtu.be/p7FgXSoqfnI?t=7m05s
eneveu··on More challenging projects every programmer should try
Here is the link to the PDF: https://www.cftc.gov/sites/default/files/filings/orgrules/20...
eneveu··on I sold Baremetrics
As a freelancer in Paris, I've been invoicing 625€ daily in 2018 and 2019, and 700€ in 2020, doing Big Data / Scala development with a sprinkle of devops, for the same customer. I think I could get 800-900€ if I find a customer that pays better and focus on the Big Data / GCP sectors. Just need to find a contract through word of mouth, and not through a recruiter that takes a 100-150€ margin...

You get less as a salaried employee in France though...

eneveu··on Deprecating scp
Having servers offer scp instead of ssh is not the only problem.

What about this part of the article:

Finally, while the danger is remote, it is worth noting that a local file name containing `backticks` (a file named `touch you-lose`, for example) will be handled the same way on the other end; if a user can be convinced to perform a recursive copy of a directory tree containing a file with a malicious name, bad things can happen.

eneveu··on A nameless hiker and the case the internet can’t crack
It would be funny if the real Mike Hancoski googles himself and stumbles upon this thread.
eneveu··on We chose Java for our high-frequency trading application
I think the JavaOne presentation was made by the LMAX devs: https://www.youtube.com/watch?v=eTeWxZvlCZ8

They built the Disruptor data structure around 2011 for their high performance financial exchange on the JVM: https://lmax-exchange.github.io/disruptor/files/Disruptor-1....

I used the Disruptor at a smart grid startup in 2012-2014, after LMAX open sourced it.

Martin Thompson has a lot of interesting presentations on the concept of mechanical sympathy:

- https://www.youtube.com/watch?v=929OrIvbW18 - Adventures with concurrent programming in Java: A quest for predictable latency by Martin Thompson - https://www.youtube.com/watch?v=03GsLxVdVzU - Designing for Performance by Martin Thompson

eneveu··on Google is giving data to police based on search keywords, court docs show
I wonder what would happen if he searched those keywords in incognito mode.

Google probably could link the incognito session with the real user session. But would it turn up in a search warrant ?

In this case, they used the IP address, so I guess incognito wouldn't help.

eneveu··on French fathers will now get 28 days of paternity leave
> In the face of this it's quite a bold move for France to go from zero to 28 days for the sake of benefiting gender norms and family relationships in the long-term.

We didn't go from zero to 28 days of paternity leave. We doubled it, from 14 to 28.

eneveu··on Apple takes legal action against small company with pear logo
Interesting. Could you expand on that ?
eneveu··on Ask HN: What are some good ways to invest?
I wouldn't necessarily read "Rich Dad Poor Dad" or "The richest man in babylon". You might find better books about personal finance by:

- searching recommendations on HN, e.g. with a Google search like "site:news.ycombinator.com investing book recommendations"

- searching recommendations on the various subreddits like https://www.reddit.com/r/investing/ and https://www.reddit.com/r/personalfinance/ (search for book recommendation threads, or read their wikis)

- on the BogleHeads website : https://www.bogleheads.org/wiki/Getting_started

Good luck :)

eneveu··on SSH hacks – a little sanity for remote workers
At my previous customer, we had to SSH through a bounce gateway (SSH key auth), then a bastion host (LDAP password auth), then the target host (LDAP password auth). Since it was quite annoying, I used multiple ssh_config tricks to make it work without having a 1000 lines SSH config, and I wrote a doc to share best practices. I anonymized it and posted it below.

----------------------

ssh_config_best_practices.md

  CanonicalizeHostname yes

  ##############
  ### GitHub ###
  ##############

  Host github.com
    User jdoe
    IdentityFile ~/.ssh/id_rsa_github

  ##################
  ### My Company ###
  ##################

  Host myproject-dev-*
    ProxyJump bastion-dev

  Host myproject-prod-*
    ProxyJump bastion-prod

  Host bastion-dev
    HostName bastion.myproject-dev.mycompany.com
    ProxyJump bounce.myproject-dev.mycompany.com

  Host bastion-prod
    HostName bastion.myproject-prod.mycompany.com
    ProxyJump bounce.myproject-prod.mycompany.com

  Host *.mycompany.com myproject-dev-* myproject-prod-*
    User john_doe
    IdentityFile ~/.ssh/id_rsa_mycompany


  ##############
  ### Common ###
  ##############

  Host *
    ControlMaster auto
    ControlPath ~/.ssh/sockets/%r@%h
    ControlPersist 2h

    # On OS X, UseKeyChain specifies that we should store passphrases in the Keychain.
    IgnoreUnknown UseKeychain
    UseKeychain yes
    AddKeysToAgent yes
- "CanonicalizeHostname" ensures the config is re-parsed after hostname canonicalization. This means that when you SSH into "bastion-dev", SSH re-parses the config using the full hostname "bastion.myproject-dev.mycompany.com", which then correctly matches the entry "Host * .mycompany.com".

- "ProxyJump" was added in OpenSSH 7.2 (2016) and is simpler and more powerful than "ProxyCommand".

- "bastion-xxx" hosts are the only ones whose hostname can be resolved from the bounce gateways. To connect to other hosts, the trick we use in this config is to do two ProxyJumps: your machine --> bounce --> bastion --> target host.

- "ControlMaster" lets you do SSH multiplexing, which in our case is particularly useful when channeling multiple connections through a bastion host. It also persists SSH connections for a while after we disconnect, which speeds up future connections, and avoids typing the password all the time.

- When you ssh into a host, you must enter your LDAP password twice: first for the bastion, then for the target host. If you then ssh into a second host, you must enter your LDAP password only once, since ControlMaster reuses the SSH connection previously established to the bastion. Also, if you close those SSH shells, the connections will persist for two hours (see ControlPersist), so you won't need to type your password for those two hosts if you try to SSH into them again in the next two hours.

- Using this ssh_config, there is no need to add an Host entry for each host. It is not even needed to specify the IP addresses, since they will be resolved using the DNS on the bastion host.

- With this configuration, you can easily copy a file using scp between your local machine and the target host, without needing to first copy it to the bastion, then ssh to the bastion, then copy it to the target host, then remove it from the bastion...

PS: an ssh_config is parsed from top to bottom, so specific comes first, generic comes last. That's why "Host *" must be at the bottom.

eneveu··on Covid-19 twice as contagious as previously thought – CDC study
Yes.

From the article:

Dr Feigl-Ding explains that R0 is the “R reproductive number at time 0 before countermeasures”.

He points out that this is not the R(effective) at current time under mitigation measures such as distancing and testing, tracing and quarantine, which are expected to slash chains of transmission.

eneveu··on Covid-19 twice as contagious as previously thought – CDC study
Just googled this and I found a discussion here: https://twitter.com/koeppelmann/status/1245037948099330048

"Testing capacity in Germany will be increased by up to factor 10 to up to 400,000 a day (!) by doing pooled testing. E.g mix 16 samples and if negative - all are negative, otherwise binary search for the positive(s). Could of course be used worldwide."

He quotes a tweet with a link to this study: https://idw-online.de/de/news743899

eneveu··on Marriott says 5.2M guests exposed in new data breach
Yeah, I would like some more details. Not sure I understood what exactly it means to "watermark" the ID. Is the goal to change it subtly to find out if it was leaked? Or is the goal to redact parts of it?
eneveu··on French companies benefiting from state aid can't buy back shares
You could also read those articles for another viewpoint:

https://mebfaber.com/2019/08/05/faqs-on-share-buybacks-for-l...

eneveu··on “Why We Sleep” Is Riddled with Scientific and Factual Errors
Thank you Alexey for this great article. I was actually in the process of reading the book.

I would be very interested in an analysis of the scientific and factual accuracies in the rest of the book.

Page 1 of 10Next →