HackerTrans
TopNewTrendsCommentsPastAskShowJobs

mrathi12

no profile record

Submissions

Habitcrafting and Tool-Making

thesephist.com
3 points·by mrathi12·5 năm trước·0 comments

Introduction to Federated Learning (Research and Frameworks)

youtube.com
1 points·by mrathi12·5 năm trước·0 comments

A full website in 1.7 KB (all assets included)

minwiz.com
2 points·by mrathi12·6 năm trước·0 comments

What's Next?

graydon2.dreamwidth.org
1 points·by mrathi12·6 năm trước·0 comments

An accessible introduction to type theory and implementing a type-checker

mukulrathi.co.uk
5 points·by mrathi12·6 năm trước·1 comments

An accessible introduction to type theory and implementing a type-checker

mukulrathi.co.uk
7 points·by mrathi12·6 năm trước·3 comments

AI is not a magic sauce

mukulrathi.co.uk
1 points·by mrathi12·6 năm trước·0 comments

Backpropagation through, well, anything (2018)

mukulrathi.co.uk
2 points·by mrathi12·6 năm trước·0 comments

React from First Principles

mukulrathi.co.uk
1 points·by mrathi12·6 năm trước·0 comments

Do technical mechanisms for building ‘trust’ help people trust systems?

mukulrathi.co.uk
2 points·by mrathi12·6 năm trước·0 comments

Regulation Entrenches Incumbents

mukulrathi.co.uk
1 points·by mrathi12·6 năm trước·0 comments

No, AI can’t predict the outcome of the election

mukulrathi.co.uk
2 points·by mrathi12·6 năm trước·0 comments

17 Tips to Convert an Internship to a Full-Time Offer from a Former FB Intern

mukulrathi.co.uk
1 points·by mrathi12·6 năm trước·0 comments

17 Tips for Converting Your Internship at FAANG to a Full-Time Offer

mukulrathi.co.uk
2 points·by mrathi12·6 năm trước·0 comments

A Protobuf tutorial for OCaml and C++

mukulrathi.co.uk
2 points·by mrathi12·6 năm trước·0 comments

Evan Czaplicki's ICFP20 Keynote – Thread

twitter.com
1 points·by mrathi12·6 năm trước·0 comments

comments

mrathi12
·5 năm trước·discuss
This is such a common fallacy. C exposes lower-level memory management, but to then say "oh now you have pointers you can implement anything" is a push.

If you need to implement virtual tables and function pointers, you'd use C++ - there's no need to reinvent the wheel.

Besides software engineering is about focusing on the intrinsic complexity, and using languages and tools to mitigate the incidental complexity.
mrathi12
·5 năm trước·discuss
> C lets you use OO if you want it

Tenuous - if you are willing to implement objects yourself then you could use C sure, but I don't think that means the language "lets you use OO". It's like you could also probably implement algebraic datatypes in C using unions and structs, but would that mean "C lets you use algebraic datatypes"? I would strongly argue no.
mrathi12
·5 năm trước·discuss
Agreed, I think that the code itself should be readable through better names, with the comments being a bonus rather than critical to the understanding of the code.
mrathi12
·5 năm trước·discuss
DTP tackles Article 20 of GDPR
mrathi12
·6 năm trước·discuss
WASM is definitely one to look out for.
mrathi12
·6 năm trước·discuss
While we're here, let's not forget about the incredible Kaleidoscope tutorial. They really helped me get a grip with LLVM.

https://llvm.org/docs/tutorial/index.html
mrathi12
·6 năm trước·discuss
Hi, author of the post here. Thank you very much for your kind words!
mrathi12
·6 năm trước·discuss
Yes, exactly. Clang emitted IR especially has a lot of (C/C++)-specific junk. If you look past that clutter, it's not too bad.

I think the best way to learn to read IR is to look at super-minimal examples, and then you'll be able to tell which parts of larger IR files are relevant.
mrathi12
·6 năm trước·discuss
The command to use is `clang -S -emit-llvm -O1 foo.c`

It'll write it out to a foo.ll file.

(I use -O1 so it cleans up a bit of the messy parts of the IR).
mrathi12
·6 năm trước·discuss
> learn to write little C programs and use clang to emit the IR.

Highly recommend this. I used this to get an understanding of how to implement the IR for my language.
mrathi12
·6 năm trước·discuss
Regarding this post in particular, I chose to document everything in terms of the C++ API as that's the native API. You can use any of the other bindings, and just translate the syntax across to your language.
mrathi12
·6 năm trước·discuss
Hey, author of the post here. Do I think the C++ API is important? For most languages no. The OCaml bindings in my case were almost sufficient, but I planned to do some memory fences and other operations in my language that the OCaml bindings didn't have.

In hindsight, it's probs better to choose OCaml bindings and then link in any special instructions you need from C++ if you need to.
mrathi12
·6 năm trước·discuss
Hey, Author here. This post is just some of the advice I picked up along the way. What advice would you give interns and junior developers starting out in the industry?
mrathi12
·6 năm trước·discuss
Author here. Let me know if you have any questions about the guide to LLVM. Happy to answer questions!
mrathi12
·6 năm trước·discuss
Author here! Feel free to ask questions about the post :)
mrathi12
·6 năm trước·discuss
Ah, yes I have, apologies! Will repost with the correct link :)
mrathi12
·6 năm trước·discuss
Hey all, author here, happy to answer any questions you have!