Dipesh's Avatar

Dipesh

@dipeshhh.bsky.social

Interested in Programming Languages and Systems.

68 Followers  |  305 Following  |  19 Posts  |  Joined: 19.10.2024  |  2.0822

Latest posts by dipeshhh.bsky.social on Bluesky

Preview
About AI My thoughts about AI and software engineering

just published "about ai"

priver.dev/blog/ai/abou...

05.08.2025 12:22 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

another nice lllm learning technique: take something i struggle with, ask it to create a minimal example demonstrating the same issue for me to practice, then after i figure it out, ask it to make a slightly more complex one etc. still requires a lot of direction from my side but genuinely helpful

18.07.2025 20:05 β€” πŸ‘ 74    πŸ” 5    πŸ’¬ 3    πŸ“Œ 0

i really love lean and this may have been the most frustrating part so far. there are some great resources but they feel a bit too scattered, and the official ones are sometimes lacking. or you just can't find stuff. or it's actually for lean 3.

on the other hand the zulip community is amazing

20.07.2025 01:07 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

so where would one start if they have a simple language ast and wants to do type checking and inference?

16.07.2025 16:16 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 3    πŸ“Œ 0
Preview
A distributed systems reliability glossary A list of key concepts for building and testing reliable distributed systems, with basic definitions and deep references.

Antithesis and Jepsen are releasing a glossary of terms useful in distributed systems testing: https://antithesis.com/resources/reliability_glossary/

15.07.2025 14:42 β€” πŸ‘ 17    πŸ” 12    πŸ’¬ 0    πŸ“Œ 0
/--
**The axiom of choice**. `Nonempty Ξ±` is a proof that `Ξ±` has an element,
but the element itself is erased. The axiom `choice` supplies a particular
element of `Ξ±` given only this proof.

The textbook axiom of choice normally makes a family of choices all at once,
but that is implied from this formulation, because if `Ξ± : ΞΉ β†’ Type` is a
family of types and `h : βˆ€ i, Nonempty (Ξ± i)` is a proof that they are all
nonempty, then `fun i => Classical.choice (h i) : βˆ€ i, Ξ± i` is a family of
chosen elements. This is actually a bit stronger than the ZFC choice axiom;
this is sometimes called "[global choice](https://en.wikipedia.org/wiki/Axiom_of_global_choice)".

In Lean, we use the axiom of choice to derive the law of excluded middle
(see `Classical.em`), so it will often show up in axiom listings where you
may not expect. You can use `#print axioms my_thm` to find out if a given
theorem depends on this or other axioms.

This axiom can be used to construct "data", but obviously there is no algorithm
to compute it, so Lean will require you to mark any definition that would
involve executing `Classical.choice` or other axioms as `noncomputable`, and
will not produce any executable code for such definitions.
-/
axiom Classical.choice {Ξ± : Sort u} : Nonempty Ξ± β†’ Ξ±

/-- **The axiom of choice**. `Nonempty Ξ±` is a proof that `Ξ±` has an element, but the element itself is erased. The axiom `choice` supplies a particular element of `Ξ±` given only this proof. The textbook axiom of choice normally makes a family of choices all at once, but that is implied from this formulation, because if `Ξ± : ΞΉ β†’ Type` is a family of types and `h : βˆ€ i, Nonempty (Ξ± i)` is a proof that they are all nonempty, then `fun i => Classical.choice (h i) : βˆ€ i, Ξ± i` is a family of chosen elements. This is actually a bit stronger than the ZFC choice axiom; this is sometimes called "[global choice](https://en.wikipedia.org/wiki/Axiom_of_global_choice)". In Lean, we use the axiom of choice to derive the law of excluded middle (see `Classical.em`), so it will often show up in axiom listings where you may not expect. You can use `#print axioms my_thm` to find out if a given theorem depends on this or other axioms. This axiom can be used to construct "data", but obviously there is no algorithm to compute it, so Lean will require you to mark any definition that would involve executing `Classical.choice` or other axioms as `noncomputable`, and will not produce any executable code for such definitions. -/ axiom Classical.choice {Ξ± : Sort u} : Nonempty Ξ± β†’ Ξ±

i love that mathematics lets you create values out of thin air. like pulling a rabbit out of the hat

10.07.2025 23:39 β€” πŸ‘ 23    πŸ” 1    πŸ’¬ 4    πŸ“Œ 1
Preview
[New Blog Post] Doing Lean Dirty: Lean as a Jupyter Notebook Replacement https://lnkd.in/ejy9hE5z #lean4 | Philip Zucker [New Blog Post] Doing Lean Dirty: Lean as a Jupyter Notebook Replacement https://lnkd.in/ejy9hE5z #lean4

In the continuing saga of surprising things users do: This post over on LinkedIn features a custom made #LeanLang environment intended to replace a Jupyter Notebook, because, you know - why not? πŸ‘€

www.linkedin.com/posts/philip...

(With apologies to @jupyter.org ❀️)

08.07.2025 21:43 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Preview
β€œBad Apple!!” But It’s 3288 Lean Tactics Spamming VSCode Writing the most useless Lean tactic ever

This is an... unexpected use of the #LeanLang InfoView: unnamed.website/posts/bad-ap...

But we love the creativity!

#LeanProver #DevTools #Metaprogramming

08.07.2025 20:47 β€” πŸ‘ 14    πŸ” 6    πŸ’¬ 1    πŸ“Œ 1

PSA! Please share around! Due to a limited number of submissions, we're extending the OCaml Workshop deadline by a week to July 10th AoE!

Functional programmers! Heed my call! We need your submissions!!

06.07.2025 07:59 β€” πŸ‘ 12    πŸ” 13    πŸ’¬ 0    πŸ“Œ 0

yeah, it's called C

29.06.2025 18:15 β€” πŸ‘ 11    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

has someone made a programming language where all programs are UB? that feels like low-hanging esolang fruit

29.06.2025 18:14 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image

Another award that is announced at PLDI is the SIGPLAN Programming Languages Software Award. This year, the award was received by the LEAN theorem prover, which has had and continues to have broad impact on mathematics, hardware and software verification, and AI!

28.06.2025 04:04 β€” πŸ‘ 8    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0

If anyone has any slow or brittle Dafny/Boogie/Viper proofs, consider hiring me *hint* *hint* *nudge* *nudge* *wink* *wink*

(I would normally be asking in person while presenting this work at CAV but again... I can't leave the country right now.)

17.06.2025 16:18 β€” πŸ‘ 8    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0

yea honestly this video is fantastic, very inspiring in terms of how to teach things. it’s much more intuitive than most introductory neural network materials

15.06.2025 18:51 β€” πŸ‘ 62    πŸ” 5    πŸ’¬ 3    πŸ“Œ 0

has anyone learned AI fundamentals recently? i don’t mean like β€œusing” AI but more like, actual ML fundamentals, Transformers, whatever the underlying mechanism up to modern LLMs. including math and basic insights. i’m wondering if it’s Fun To Learn and whether it’s Useful. and fav resources if any

11.06.2025 13:10 β€” πŸ‘ 113    πŸ” 6    πŸ’¬ 23    πŸ“Œ 3

nΒ² likes = n stupid Python tricks

02.04.2025 14:30 β€” πŸ‘ 190    πŸ” 14    πŸ’¬ 5    πŸ“Œ 6

what’s your favorite unhinged programming language feature? something that seemed ok to whoever designed it but is truly the stuff of nightmares

14.06.2025 21:50 β€” πŸ‘ 90    πŸ” 8    πŸ’¬ 61    πŸ“Œ 27

We've been working on this for years πŸ“ˆ

13.06.2025 14:15 β€” πŸ‘ 13    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Preview
some parser combinator draft some parser combinator draft. GitHub Gist: instantly share code, notes, and snippets.

yes you can have the (current state of the) code

13.06.2025 14:39 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Introducing OxCaml At Jane Street, we’ve been actively making improvements to OCaml for a long time. Over thelast few years, we’ve started to build some fairly ambitious extens...

And here's a blog post, announcing the release!

blog.janestreet.com/introducing-...

13.06.2025 14:22 β€” πŸ‘ 57    πŸ” 18    πŸ’¬ 0    πŸ“Œ 1

A new blog post on an interactive Datalog in Rust! Early days, but 1. nice and interactive, and 2. not less performant than my prior attempt (datafrog) when you use strings as the literal type (vs u32).

More to come, as it's partially meant as a playground for me.

github.com/frankmcsherr...

13.06.2025 22:11 β€” πŸ‘ 10    πŸ” 2    πŸ’¬ 1    πŸ“Œ 1
Screenshot of the landing page of my website on the new blog post; The title reads "The Looming Problem of Slow & Brittle Proofs in SMT Verification (and a Step Towards Solving It)". The contents of the post read "All is not well in the land of automated formal verification."

And then goes into the body of the article. There is a snippet of dafny code present on screen.

Screenshot of the landing page of my website on the new blog post; The title reads "The Looming Problem of Slow & Brittle Proofs in SMT Verification (and a Step Towards Solving It)". The contents of the post read "All is not well in the land of automated formal verification." And then goes into the body of the article. There is a snippet of dafny code present on screen.

New blog post! The Looming Problem of Slow & Brittle Proofs in SMT Verification (and a Step Towards Solving It)

kirancodes.me/posts/log-pr...

#ProgrammingLanguages #Dafny #SMT #Z3 #Verification

08.06.2025 21:53 β€” πŸ‘ 17    πŸ” 4    πŸ’¬ 3    πŸ“Œ 2

A follow up post on linearity and uniqueness: kcsrk.info/ocaml/modes/....

04.06.2025 06:08 β€” πŸ‘ 9    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0
Preview
Isil Dillig on X: "1/3 The US didn’t end up leading the world in computing by luck. It happened because it made long-term, public investments in basic research, especially through NSF. That’s what created the technology that today’s companies are built on." / X 1/3 The US didn’t end up leading the world in computing by luck. It happened because it made long-term, public investments in basic research, especially through NSF. That’s what created the technology that today’s companies are built on.

1/3 The US didn’t end up leading the world in computing by luck. It happened because it made long-term, public investments in basic research, especially through NSF. That’s what created the breakthroughs that today’s tech companies are built on.

31.05.2025 17:16 β€” πŸ‘ 15    πŸ” 8    πŸ’¬ 1    πŸ“Œ 1
Uniqueness for Behavioural Types Β· KC Sivaramakrishnan

Using uniqueness mode for improving behavioural types: kcsrk.info/ocaml/modes/...

30.05.2025 12:52 β€” πŸ‘ 16    πŸ” 6    πŸ’¬ 3    πŸ“Œ 1

I am looking forward to people new to software development (thanks to starting to use AI for vibe coding) inevitably realize that the bottleneck for good software is NOT how fast you type (these AI tools type amazingly fast!)

And how software is more than just code (counter-intuitive, I know!)

30.05.2025 13:18 β€” πŸ‘ 45    πŸ” 4    πŸ’¬ 3    πŸ“Œ 0
Post image

Wow, a comment on HN I actually agree with!

28.05.2025 04:18 β€” πŸ‘ 603    πŸ” 69    πŸ’¬ 44    πŸ“Œ 31

Advice from Ranjit Jhala for young researchers includes "As you get older your interests shrink to just a few topics. Resist this urge for as long as possible and try to be interested in as many things as possible for as long as possible."

24.05.2025 20:03 β€” πŸ‘ 22    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0
Preview
The Copilot Delusion Disclaimer: This post was written May 2025, and the arguments apply to AI code capabilities at this time. The arguments around lack of competence are certainly likely to become less prevalent-while th...

Full blog - you should *absolutely* read it deplet.ing/the-copilot-...

I also find these AI tools helpful when it’s doing the routine task I’ve done many times and can do it with eyes closed

But… it’s not helpful when I want to build something GREAT that is elegant, and better than before

25.05.2025 03:45 β€” πŸ‘ 88    πŸ” 15    πŸ’¬ 3    πŸ“Œ 2
My new hobby: watching AI slowly drive Microsoft employees insane

Maybe confirmation bias but looking at these PRs I feel pretty satisfied with my prior belief that producing lines of code is just not the hard part of software engineering www.reddit.com/r/Experience...

21.05.2025 16:33 β€” πŸ‘ 27    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0

@dipeshhh is following 20 prominent accounts