HackerTrans
TopNewTrendsCommentsPastAskShowJobs

aportnoy

no profile record

Submissions

Train an RL agent to play tic-tac-toe

github.com
3 points·by aportnoy·6 bulan yang lalu·1 comments

Show HN: Reinforcement learning tic-tac-toe in C, annotated

github.com
2 points·by aportnoy·6 bulan yang lalu·0 comments

Pretraining Large Language Models with NVFP4

arxiv.org
1 points·by aportnoy·9 bulan yang lalu·0 comments

Visualize core-to-core latency

github.com
2 points·by aportnoy·3 tahun yang lalu·0 comments

Show HN: Visualize core-to-core latency in ~200 lines of C and Python

github.com
2 points·by aportnoy·3 tahun yang lalu·1 comments

Apache log pretty printer in 130 lines of C

github.com
2 points·by aportnoy·3 tahun yang lalu·0 comments

Show HN: Pretty print Apache logs in 130 lines of C99

github.com
1 points·by aportnoy·3 tahun yang lalu·0 comments

comments

aportnoy
·5 bulan yang lalu·discuss
Is Bel a smaller LISP than what's described in The Roots of Lisp? [1]

[1] https://paulgraham.com/rootsoflisp.html
aportnoy
·6 bulan yang lalu·discuss
aportnoy.com
aportnoy
·2 tahun yang lalu·discuss
For NVIDIA,

1. play around with the NVPTX LLVM backend and/or try compiling CUDA with Clang,

2. get familiar with the PTX ISA,

3. play around with ptxas + nvdisasm.
aportnoy
·3 tahun yang lalu·discuss
Well then… test your memory :)
aportnoy
·3 tahun yang lalu·discuss
Don't overclock your memory.
aportnoy
·3 tahun yang lalu·discuss
Wow I came back to post this exact reply. I set my system to a slightly high frequency, ran memtest overnight with errors.

Set it back down to a supported frequency, ran a full memtest suite again with no errors.

Never had any issues since.
aportnoy
·3 tahun yang lalu·discuss
> But the lack of ECC was a huge bummer at the time of purchasing my system.

Why?..
aportnoy
·3 tahun yang lalu·discuss
> extremely opinionated

I have not seen a single codebase that widely uses uint8_t and does not typedef it to u8. It is the exact opposite of "extremely opinionated".
aportnoy
·3 tahun yang lalu·discuss
Note Sam Altman is a Cerebras investor.
aportnoy
·3 tahun yang lalu·discuss
Asking because I am on that team :)

I went through the same hiring process and had a positive experience at every stage. I had a strong competing offer but went with the JAX team at NVIDIA.

I'll pass it along as feedback.
aportnoy
·3 tahun yang lalu·discuss
What happened?
aportnoy
·3 tahun yang lalu·discuss
1 is the multiplicative identity

0 is the additive identity

all([]) is True

any([]) is False
aportnoy
·3 tahun yang lalu·discuss
Go to the blog and skip to results: https://ai.meta.com/blog/seamless-m4t/
aportnoy
·3 tahun yang lalu·discuss
The project is a port of https://github.com/nviennot/core-to-core-latency from Rust to C.
aportnoy
·3 tahun yang lalu·discuss
I used to surf near Scripps Pier while in college and I remember there were always a couple people sitting outside in beach chairs working on their laptops.

Salk Institute is an even more surreal place.
aportnoy
·3 tahun yang lalu·discuss
The funny thing is Perl is now arguably more obsolete than sed and awk.
aportnoy
·3 tahun yang lalu·discuss
I recently interviewed with a fantastic startup in that space called TestFit (testfit.io).
aportnoy
·3 tahun yang lalu·discuss
This definitely isn't "printing" in the original sense, just a serialization algorithm.
aportnoy
·3 tahun yang lalu·discuss
In the original LISP with dynamic scoping I think it would be fair to serialize that expression as is: "just use whatever value is bound to 'y' at the time of evaluation, if any".
aportnoy
·3 tahun yang lalu·discuss
Everything is an object that is either a cons cell or an atom. Associate the address of each object with a unique index.

Serialize each object as a pair (index, obj), where 'index' maps back to the original address where the object was stored, and 'obj' is a pair of indices if the object is a cons cell, or the appropriate representation (string literal, integer, etc.) if the object is an atom.

Then to deserialize allocate a memory location for every index and load the objects as is. Then replace the indices with the corresponding (new) addresses.