HNHacker News
TopNewBestAskShowJobs

har777

58 karma · joined August 21, 2014

https://harishaji.com/
submissionscomments
har777··on Reflections on 1,000 Days of Math
I disagree with this take though I've seen the same criticism online a lot before I signed up. I found myself understanding stuff the more I did it. And MathAcademy makes you do a lot of problems on repeat. I also used gpt for stuff MathAcademy didn't explain well.

But the platform does have its issues. I should probably do a writeup someday.

har777··on Reflections on 1,000 Days of Math
I have to shout out MathAcademy(the same platform the author is using). It's pretty darn good. I did like 2 hours a day for 90 days and went from Math Foundations I(70% completed) to Math Foundations III(74% completed). The pace of improvement was very fast.
har777··on Vanilla JavaScript support for Tailwind Plus
I like how tailwind provides scoping automatically. But in projects already having a build system I use css modules. Writing pure CSS is so much nicer but please don't make me manage class names myself.
har777··on You Can Now Disable All AI Features in Zed
I moved to Zed last week and its been amazing so far! Something about using it feels a lot more crisp and fast compared to vscode. Their AI integration is pretty decent too. But I am very glad I can disable AI now. I find AI sometimes takes me out of the flow because I am constantly reviewing its code.
har777··on Taking Notes with Joplin
I've been using Joplin for years. It was always a bit slow but I recently updated it and now the app takes over 30 seconds to load :|

It's sync feature is super seamless though!

har777··on Claude 3 model family
Did some quick tests and Claude 3 Sonnet responses have been mostly wrong compared to Gemini :/ (was asking it to describe certain GitHub projects and Claude was making stuff up)
har777··on Django 5.0
It only adds like ~5ms. Unless you have `query_level_metrics_enabled` as True which takes more time. I didn't find that particularly useful on prod and instead just used it locally when fixing stuff. Depends on what data you need populated in your callback function on prod.

The header feature can also be useful. If you have a client on-call who's complaining about super slow page loads. Just check their network tab and see which response has a query count/time header which seems unnatural.

har777··on Django 5.0
Yeah the query count monitoring is the main focus as N+1 queries are super common in Django.

I don't really have a pitch but here is why this was made:

1. we had a production DRF app with ~1000 endpoints but the react app consuming it was dead slow because the api's had slowed down massively.

2. we knew N+1 was a big problem but the codebase was large and we didn't even know where to start.

3. we enabled this middleware on production and added a small callback function to write endpoint=>query_count, endpoint=>query_time metrics to datadog.

4. once this was done it was quite trivial to find the hot endpoints sorted by num of queries and total time spent on queries.

5. pick the most hot endpoint with large number of queries, enable debug mode locally, fix N+1 code, add assertNumQueries assertions to integration tests to make sure this doesn't happen again and push to prod.

6. monitor production metrics dashboard just to double check.

7. rinse and repeat.

For me this ability to continuously run on prod -> find issues and send to your monitoring stack -> alert -> fix locally workflow is the main selling point. Or of course you can just have it running locally on debug mode and check your console before pushing your changes but sometimes its just hard to expect that from every single engineer at your company. Then again your local data might not cause an issue so production N+1 monitoring is always nice.

har777··on Django 5.0
Simple middleware can warn you about lazy loading/N+1 queries. Most of the time people just forget it happens.

Try using: https://github.com/har777/pellet

Disclaimer: I built it :p

You can easily see N+1 queries on the console itself or write a callback function to track such issues on your monitoring stack of choice on production.

har777··on Ban 1+N in Django
Yay! And thanks for the screenshot :D
har777··on Ban 1+N in Django
Self plug: Checkout https://github.com/har777/pellet to easily find and fix django N+1 issues.

I usually add it to existing integration tests so that they raise exceptions on N+1. If test coverage is low then I would suggest sending the N+1 metrics to something like datadog. That way your users using the product will reveal all the N+1 issues on your monitoring solution.

EDIT: I should add a screenshot to the README lol but the middleware will print each api being called with a nice table showing each query and the number of times it was called for the api.

har777··on CMU 15-721: In-Memory Databases / Advanced Database Systems [video]
I disagree. I thought it was hilarious :P
har777··on Build Your Own Text Editor
This is excellent. Having a lot of fun going through it. Always wanted to start writing some C.
har777··on Ask HN: Which developers do you closely follow?
Thank you for this !!
har777··on Welcome, ACLU
True. But how much is too much ? If someone is say racist do you still not kick him out for the sake of inclusiveness ?
har777··on Donald Trump is the president-elect of the U.S.
Was this a result of protest votes against Hillary or do people genuinely support a Trump presidency ? Would Bernie have fared better against Trump had he been the democratic nominee ?
har777··on Hard Tech Startups
How is Palantir hard tech ?
har777··on New Draft of “Reinforcement Learning: An Introduction, Second Edition”
Thanks a lot !
har777··on Redis 3.2.0 is out
+1. Would be an extremely useful addition !
har777··on Hard Tech is Back
Dont do the coursera one. Try this one instead: https://www.youtube.com/watch?v=UzxYlbK2c7E&list=PLA89DCFA6A...

Follow up with cs224/cs231 if interested.

har777··on Show HN: CSS3 art book for babies
Niiiice. Very well done !! :)
har777··on Attention and Memory in Deep Learning and NLP
I agree. People are really excited but it takes some knowledge to make a intelligent comment to this. I for one read a lot of NIPS paper's but don't understand most of them enough.
har777··on Attention and Memory in Deep Learning and NLP
Why wouldn't they be excited ? It's an exciting field. I'm sure plenty of people are learning about ml in their free time.
har777··on The Starfighter Low-Level Tech Tree
Excited. But also really intimidated :)
har777··on Goodbye, Native Mobile Apps
One of their acquired companies Myntra is now app only. Only have a pc and the internet ? Sorry. You can only purchase from our apps.
har777··on Redis Geo
Hell yeah ! I've been waiting for this to be integrated into Redis.
har777··on What Twitter Can Be
I'm nitpicking but the lack of a scrollbar makes me feel strangely out of control. Any specific reason for the removal ?
har777··on Show HN: A virtual whiteboard for working or teaching remotely
Great stuff ! I'll try to build my own version using socket.io :)