HNHacker News
TopNewBestAskShowJobs

pubby

2,663 karma · joined February 19, 2012

website: pubby.games
submissionscomments
pubby··on You Don't Have to Be a Jerk to Succeed
Even if you're nice, once you get rich enough you're going to hire jerks to do your dirty work for you. Everyone with money needs lawyers.
pubby··on Rivers Cuomo is an active developer on GitHub
Presumably the private repos are for this website: https://riverscuomo.com/home
pubby··on Anime is a $25B industry that pays its animators pennies
Slavery ended as industrialized agriculture was taking off. While farmers are paid better now, there are a lot fewer of them.

Perhaps we will see the same with animation; there will be a few well-paid and highly-skilled artists that are automating with a bunch of AI. I doubt that will be the solution to equality though.

pubby··on Ask HN: 40yo adult learning to drive what is different vs. learning young?
I teach driving lessons as a job. Adults usually become proficient a little faster than kids, as they take it more seriously and have learned the laws through osmosis. Most of the time the difficulty with adults is they have no one to practice with.

Regarding skill, I think it's genetic. Some people can get their license in a week, others it takes months. Video game skills probably help.

pubby··on Liero – Sling'n'shoot Worms Game
No, Liero is real-time as opposed to turn-based.
pubby··on Use YouTube to improve your English pronunciation
I've been saying My-Skwill since I was a kid. I pronounce SQL alone as three letters though.
pubby··on The first room-temperature ambient-pressure superconductor?
Both lead solder and lead-free solder are commonplace. Lead is standard in aerospace and military applications, while lead-free is standard in most products sold in the EU.
pubby··on GGML – AI at the Edge
https://github.com/ggerganov/llama.cpp/pull/711
pubby··on Own-goal football (2022)
This one boggles my mind because broadcasters don't want games to go into overtime. A 3-point system where overtime win/losses are split 2/1 emphasizes winning in the final few minutes, which is exciting to both viewers and businessmen. Maybe one day they'll switch.
pubby··on Ask HN: Who is hiring? (May 2023)
Last time I emailed them the compiler position was filled.
pubby··on Why did Prolog lose steam? (2010)
If I was a company in the 80's or 90's, I'd use spreadsheets if I need declarative data stuff, and I'd use a boring blub language like BASIC for everything else. Few business problems need the type of logical inference Prolog provides.

I do like Prolog though.

pubby··on Ask HN: Why aren’t planes boarded back-to-front?
I've heard an excellent way to board is to have people walk as far into the plane as possible, then take a nearby seat when they can't walk further. This is like boarding back-to-front, but handles variance in luggage loading more efficiently.
pubby··on Coding Jobs and GPT-4
That's a good point. Reminds me of Jevon's Paradox: https://en.wikipedia.org/wiki/Jevons_paradox
pubby··on GPT-4 gets a B on my quantum computing final exam
When I was growing up in the 2000s, it was required to learn a foreign language in school. I took Spanish but dropped the class after a year, thinking that when I grew up, computers would be able to translate text far better humans could.

Would you believe it, transformers were invented ten years later.

I wonder if it's worth learning anything anymore.

pubby··on George Harrison and the Struggle for Creative Freedom
From what I've heard, they couldn't include negative Yoko scenes because she's still alive and has legal power.
pubby··on Ask HN: What is a good gift for a mechanically oriented 8 year old
Old electronics can be a little dangerous. Think nasty chemicals and capacitor shocks. Nothing a kid can't handle but I don't know what the autism is like.

Lego technics are excellent. I remember Zoids being neat too. For taking stuff apart, I think things with motors work well, e.g. blenders or old drills (metal casing ones best).

pubby··on The Vesuvius Challenge
For those looking for dates, this challenge started around March 15 and the deadline for the smaller open source prize is April 15. The final deadline is the end of this year.
pubby··on Ask HN: Will Sundar face consequences for Google's stagnation and AI fiascos?
What consequences did you have in mind? Most CEOs get a golden parachute when they're sacked.
pubby··on Explaining my fast 6502 code generator
Yeah it can reserve specific ZP addresses. I do this to implement the runtime. It can also be used to reserve hardware registers, but since my only target is the NES, I don't have to worry about that.
pubby··on Ask HN: How are you using GPT to be productive?
I tried out the wxWidgets library recently and used GPT to generate examples on how to do things. Thought it worked excellently and got 99% of the code right.

In the past, I'd have used forums to find examples. There were still some forum posts about wxWidgets on Google, but I got the impression they were hiding most. Either way, GPT had them on demand.

pubby··on Explaining my fast 6502 code generator
That's an excellent point. I hadn't heart of furthest in the future, but it looks like it does solve step 1. Past that though, it doubt it can be used because each of the 6502's registers are different and don't support the same operations. It's a good idea though, and might work for some specific RISC architecture where all registers behave the same.
pubby··on Explaining my fast 6502 code generator
I think it's possible LLVM-MOS gets into mainline LLVM eventually. The devs have done a good job getting all the kinks ironed out.

BTW, mysterymath, one of the most prominent LLVM-MOS contributors, left this comment on their current code gen. (I'm posting it here for visibility):

"In LLVM-MOS, we mainly struggle with its register allocator; the rest of the backend is really quite reasonable. The "Greedy register allocator" in LLVM is a just finely tuned priority allocator with nice live-range splitting. It works great for zero page cache locations, but it's just not tuned very well for tight register classes like those involving the processor's three architectural registers. I've half a mind to implement Hack's SSA-based register allocator in LLVM to use on A, X, and Y; this would clean up the oodles of spurious copies LLVM-MOS spits out in the worst cases."

pubby··on Explaining my fast 6502 code generator
Since it combines register allocation with instruction spilling is innate - there isn't a special spilling phase. Spilled variables are assigned ram addresses after code generation occurs at link time, with the most frequently used going to zeropage.
pubby··on Explaining my fast 6502 code generator
FWIW the custom language is very close to C, and the examples are pretty much a 1-1 transposition.

I agree with you though on a different note. It's dubious to compare compilers by benchmarking them, because tests are highly arbitrary and are won/lost based on single weak links. It's not really an exact science, but rather something you can start with to figure out how things are behaving. I mostly base my opinions by looking at the assembly code each compiler generates, but a single bar graph is a better presentation for articles.

pubby··on Explaining my fast 6502 code generator
From a quick skim of Massalin's paper, they seem similar in how they generate combinations of instructions and prune, but different in other areas. Superoptimizer spews out every combination of instruction (even invalid ones) in a search for true optimality, and uses boolean logic + emulation to determine equivalent code sequences to prune. 6502 algorithm only generates combinations it knows will work, and uses a symbolic approach to determine equivalence. Its results are not always optimal, and portions like the PBQP stuff is obviously different.
pubby··on How much power do autonomous vehicles use? A lot
You need to take Wirth's law into consideration.
pubby··on Show HN: NESFab – Programming language for making NES games
There is a cost: subroutine calls get wrapped in something called a trampoline, and some data is duplicated across multiple banks. You would do both of these things in assembly language too, and could even do it more optimally, but it's an NP-hard problem and takes a lot of thinking.
pubby··on Show HN: NESFab – Programming language for making NES games
LLVM and GCC are great at optimizing until the last leg of the race where they convert IR to assembly code. Their back-ends were designed for modern systems, not the ancient 6502, and so getting them to work involves kludges and clever hacks. I recall there being a video on how LLVM approaches this - search LLVM MOS on youtube.

I plan on writing an article on how my own code generator works. If you check my HN profile in a week or two you'll probably see it submitted.

pubby··on Show HN: NESFab – Programming language for making NES games
I think it helps that I'm not working as a software developer right now, so I have more energy for coding projects. (I'd like to write software professionally, but no company responds to my applications.)

Regarding time, I have thinking periods and coding periods. On thinking periods I'll take a 30-60 minute walks and figure things out in my head. On coding periods, I'll spend 1-2 hours in the text editor per day, sometimes more, at whatever time suits me. It's pretty laid back and I don't beat myself up if I stop.

pubby··on Show HN: NESFab – Programming language for making NES games
Yeah, external bugs suck, but usually there's workarounds.

> Is this because you draw attention to an unfinished project, get distracted by feature requests or praise, or something else?

If you get a bad reaction, you'll be demotivated. If you get a good reaction, you'll feel satisfied and not have the drive to keep working. Either that, or you'll devote more and more time to posting on social media, getting less work done in the process.

← PreviousPage 2 of 16Next →