HNHacker News
TopNewBestAskShowJobs

carom

5,084 karma · joined February 13, 2015

submissionscomments
carom··on Dogs may have domesticated themselves because they liked snacks, model suggests
There are dogs that are not food motivated. Some are play motivated while others can be attention (petting, praise) motivated. You come across the occasional one that isn't really motivated by anything and they are quite the training challenge.
carom··on Stargate Project II? Declassified US Government Research in RV and Psi [pdf]
There are absolutely buddhist and daoist lineages that deal with internal energy.
carom··on DOGE's only public ledger is riddled with mistakes
The point after the first one (number 2) has some examples. The USAID money going into NGO admin salaries is another. Cost plus defense contracting. Medicare overpaying for drugs. Farm subsidies.
carom··on DOGE's only public ledger is riddled with mistakes
>Er what? The top marginal tax bracket is only 37%, and no one will pay that percentage on all their income. Perhaps you misunderstand how marginal tax rates/brackets work?

Perhaps you forget that state taxes exist. Add in sales tax after that. Then, perhaps, recall that property taxes exist.

carom··on DOGE's only public ledger is riddled with mistakes
1. I do not really care about any historical precedent, they take 40% of my money and there is clearly a ton of waste, if not grift.

2. All of those things can be done more efficiently. Drug prices, crappy mega defense contractors, welfare work traps, etc.

3. People eat themselves to death. RFK is going after this problem.

4. I'm in favor of simplifying the tax code and charging a flat tax to corporations, ending tax havens. We should end the tyranny of the shareholder and start rebuilding the American worker.

carom··on Barcelona buys apartment building at center of eviction protests
The problem with rent control policies is the value of properties have gotten away from what the rents justify. For a normal investor this means evicting everyone and rebuilding. For a coop that is trying to keep things rented it means that they are unprofitable.

In LA for example, you can never get a rent controlled rent back to market. If someone is paying $600 for a 1 bedroom you're never going to catch back up to $1800.

All that said, I don't know why it has to be non profit. What you described is a just a real estate developer. Zoning is a more limiting factor than anything else.

carom··on Hands-On with Vescin: MINI's New Vegan Friendly Interior That Replaces Leather
My assumption would be that it is some form of plastic.
carom··on Show HN: Mandarin Word Segmenter with Translation
Did you find the library jieba? That is what I am using for segmentation. It seems to work fine on simplified despite not advertising it.
carom··on 20k federal workers take "buyout" so far, official says
Can you quote the part about thousands or provide a source? I see that there is an ongoing executive lawsuit and one for managers but didn't see anything about thousands of individual lawsuits.
carom··on 20k federal workers take "buyout" so far, official says
To my knowledge, no. Former employees sued to get Twitter's old pre-acquisition severance package and the court dismissed it. [1]

1. https://techcrunch.com/2024/07/10/elon-musk-does-not-owe-ex-...

carom··on Why DeepSeek had to be open source
It is a fair comparison. Normal programming takes inputs and a function and produces outputs. Deep learning takes inputs and outputs and derives a functions. Of course the decompilers for traditional programs do not work on inputs and outputs, it is a different paradigm!
carom··on Science YouTuber physicsgirl (Dianna Cowern) stands for the first time in 2 yrs
I don't think so. I have literal objective tested allergies and people ask me if I think the symptoms (allergic rhinitis) are psychosomatic all the time. So many people I talk to have real symptoms and down play them as probably having some mental component.
carom··on C++26: A Placeholder with No Name
It is Slang. A very cool project and it only got its public release relatively recently, so some sins are forgiven but there are so many typedefs.

    typedef struct ShaderReflection ProgramLayout;
    typedef enum SlangReflectionGenericArgType GenericArgType;
https://github.com/shader-slang/slang/blob/master/include/sl...
carom··on C++26: A Placeholder with No Name
I am so shocked at how many people use `auto` in C++. I can not think of a worse thing to do to your code in terms of readability and future maintainability. Maybe it is OK if you use an IDE to identify types for you but I still hate it. I am trying to learn a new library right now with light documentation which means reading the code, and between typedefs, auto, and technical debt, it is a tedious exercise to figure out something's type, to go look up its function, to see what type that is returning.
carom··on Ask HN: How are you using LLMs for traversing decompiler output?
Most decompilers do not strive for recompilability. [1] I believe there are (or were) some academic projects that aimed for recompilation as a core feature, but it is a hard problem.

On the commercial side, IDA / HexRays [2] is very strong for C-like decompilation. If you're looking at Go, Rust, or even C++ it is going to be a little bit more messy. As other commenters have said, you'll work function-by-function and it is expensive, though the free version does have decompilation (F5) for x86 and x64 (IIRC).

Binary Ninja [3] (no affiliation) is the coolest IMO, they have multiple intermediate representations they lift the assembly through. So you get like assembly -> low level IL -> medium level IL -> high level IL. There are also SSA forms (static single assignment) that can aid in programmatic analyses. The high level IL is very readable but makes no effort to be compilable as a programming language. That being said, Binary Ninja has implemented different "views" on the HLIL so you can show it as pseudo-C, Rust, etc. There is a free online version and the commercial version is cheaper than IDA but still expensive. Good Python API, good UI.

Ghidra [4] is the RE framework released by NSA. It is free and open source. It supports a ton of niche architectures. This is what most people use. I think the UI is awful, personally. It has a decompiler, the results are OK. They have an intermediate representation (P-Code) and plugins are in Java (since it is written in Java). I haven't worked much with it.

Most online decompilations you see for old games are likely using Ghidra, some might be using IDA. This is largely a manual process of doing a function at a time and building up the mental map of the program and how things interact.

Also worth mentioning are lifters. There were a few projects that aimed to lift assembly to LLVM IR (compiler framework's intermediate representation), with the idea being that then all your analyses could be written over LLVM IR as a lingua franca. Since it is in LLVM IR, it would be also recompilable and retargetable. [5][6]

1. https://reverseengineering.stackexchange.com/questions/2603/...

2. https://hex-rays.com/ida-free

3. https://binary.ninja/free/

4. https://ghidra-sre.org/

5. https://github.com/avast/retdec

6. https://github.com/lifting-bits/mcsema

carom··on Ask HN: How are you using LLMs for traversing decompiler output?
Binary Ninja has an AI integration called side kick, it has a free trial but I'm not sure it can be used in the free web version. [1]

In my experience, the off the shelf LLMs (e.g. ChatGPT) do a pretty poor job with assembly, they can not reason about the stack or stack frames well.

I think your job will be the same with or without AI. Figuring out the data structures and data types a function is operating on and naming variables.

What are you reverse engineering for? For example, getting a full compilable decompilation has different goals than finding vulnerabilities or patching a bug.

1. https://sidekick.binary.ninja/

carom··on Things we learned about LLMs in 2024
I am surprised as well, as it only takes a few hundred lines of code to implement them. [1]

    Agents are an abstraction that creates well defined roles for an LLM or LLMs to act within. 
It's like object oriented programming for prompts.

1. https://github.com/openai/swarm/tree/main

carom··on Deepseek: The quiet giant leading China’s AI race
They are referring to the fact that the US ignored European IP in its early days and relating that to what China is doing to the US now.
carom··on C++ is an absolute blast
I stopped using it because it was in a memory unsafe language, had readily triggered crashes, and because a developer seemed to security as a chore.
carom··on C++ is an absolute blast
Ha, I used duckdb once and ran into a memory corruption issue through normal usage. It was a known issue also surfaced by a fuzzer. One of the devs referred to the fuzzer as the fusser in the issue about it and I stopped using the project immediately. Best of luck with that one!
carom··on C++ is an absolute blast
I prefer ok_or for optionals and map_err for for results in Rust. I believe the way you proposed ends up with very deeply nested code which I try to avoid.
carom··on C++ is an absolute blast
I understand what undefined behavior is, I just don't dereference pointers or optionals without first checking them against nullptr or nullopt (respectively). In fact, I generally use the .has_value() and .value() interface on the optional which, to my point in the above comment, is a very similar workflow to using an optional in Rust.

I think if you adopted a more defensive programming style where you check your values before dereferencing them, handle all your error cases, you might find C++ is not so scary. I would also recommend not using auto as it makes the types less clear.

    std::optional<int> v = std::nullopt;
    if (v == std::nullopt) {
        return std::unexpected("Optional is empty.");
    }

    std::println("{}", *v);
If you are dereferencing things without checking that they can be dereferenced I don't know what to tell you.
carom··on C++ is an absolute blast
You have to do a very similar operation to has_value() .value() with Rust's optional though... How is opt.ok_or("Value not found.")?; so different from the C++ type?
carom··on C++ is an absolute blast
What was particularly difficult about it? Sometimes modifying someone else's code to build statically or on another platform is tricky. Linking is generally just include dir, lib path, and lib though.
carom··on Waymo will bring autonomous vehicles to Tokyo
They're all over LA. I have taken one a few times. They drive safer than I do.
carom··on Llama.cpp Now Supports Qwen2-VL (Vision Language Model)
That would be an extremely expensive way to install malware.
carom··on The correct amount of ads is zero
I went to watch Rings of Power on Prime (I pay for Prime) and saw it had ads. I closed it so fast and went to my IPTV service. The show was awful too.
carom··on Executing ARM Jazelle (JVM Bytecode) on the Wii's Starlet
Awesome. I did something similar on the old Raspberry Pi Zeros which had the right chip for it. It was a Linux kernel module with with a bit implemented in ARM assembly. All it executed was an add, I always meant to go back and reverse more functionality of the instruction set.

    .byte 0x05 @ iconst_2
    .byte 0x06 @ iconst_3
    .byte 0x60 @ iadd
    .byte 0xAC @ ireturn
carom··on Launch HN: Codebuff (YC F24) – CLI tool that writes code for you
How do you end up handling line numbers in patches? Counting has always been a sticking point for LLMs.
carom··on Trump wins presidency for second time
Look at monthly border patrol contacts with people crossing the border illegally. About 55k/mo recently with much higher numbers in 2023.
← PreviousPage 2 of 24Next →