HackerTrans
TopNewTrendsCommentsPastAskShowJobs

melvinroest

858 karmajoined 7년 전
Hello fellow HN'er! Let's have a chat at

melvinroest <the fancy a> <Google's email brand> <the most popular TLD in the world>

Some hints are gmail, @ and .com ;-)

---

Random HN'ers are always welcome to join, feel free to email me!

——-

Product engineer and marketing (data) analyst.

Submissions

Raghu // dark-factory – press any key or click to power on

raghunathnair1-rgb.github.io
4 points·by melvinroest·5일 전·0 comments

Ask HN: Are there good security benchmarks for LLMs?

7 points·by melvinroest·6일 전·1 comments

Memo: Memory as a Model

arxiv.org
2 points·by melvinroest·지난달·0 comments

Common Sense Refactoring of a Messy React Component

alexkondov.com
1 points·by melvinroest·5개월 전·0 comments

Ghost Explore

explore.ghost.org
1 points·by melvinroest·7개월 전·1 comments

AI Agents from Scratch

github.com
3 points·by melvinroest·9개월 전·0 comments

comments

melvinroest
·지난달·discuss
I am curious to check them out! I hadn’t heard of them. Marketing stuff takes time as I have noticed with aliceindataland.com [1]. Maybe I should do a show HN. I will think about it.

To be fair, vibecoding this memo app in Swift didn’t take too long. There were some tricks to it, using xcodegen helped a lot so that I don’t need to use the Xcode project.

It’s fun to see Swift code. I used to do some Objective-C back in the day.

[1] another thing I made. It’s a sequel to the Alice in Wonderland stories. It’s also a SQL course. I vibe engineered it, meaning I looked at the code and used AI-assisted development.

Except for the story though that’s almost all fully me. LLMs aren’t great storytellers. The same is true for the lesson scaffolding, that’s almost only me.
melvinroest
·지난달·discuss
I talk/walk for hours and want all audio files and transcripts in one place, full control.
melvinroest
·지난달·discuss
A voice memo app, quite like the actual voice memo app from Apple. The thing is: now I can put my voice memo's on iCloud put Claude Code on it and make my transcripts into structured notes that my app then also displays.

So basically a way to just go on an hour long walk with myself, spit everything from the top of my dome stream of consciousness style, and then have Claude structure whatever I said.

It's nice to have something that structures my thoughts by just thinking out loud.

I vibecoded it (it's approaching 20K lines including tests). It works quite well but there are some bugs, so will have to do some actual engineering. But the UX is working quite well.
melvinroest
·지난달·discuss
I thought Karpathy’s microgpt explain how LLMs work
melvinroest
·2개월 전·discuss
Yea, the amount of dev tools I'm creating per project is astounding. Usually tools that help me to debug certain things better.
melvinroest
·2개월 전·discuss
> What should we do when code is cheap?

Make usable software. Cheap code means that you can create a lot more prototypes to then perform usability tests by finding a user and sitting next to them. I mostly worked on internal apps lately, so perhaps it's much easier for me to do than it is for some others.
melvinroest
·2개월 전·discuss
Ah, I feel what you're saying. Yea that makes total sense.
melvinroest
·2개월 전·discuss
How so? Could you give some specific examples?
melvinroest
·2개월 전·discuss
Edit: yep, I really do type this much. I'm a bit of a "thinking out loud" person.

> Cognitive Debt, Like Technical Debt, Must Be Repaid

In quite a few circumstances, cognitive debt doesn't entirely need to be repaid. I personally found with multiple projects that certain directions aren't the one I want to go in. But I only found it out after fully fleshing it out with Claude Code and then by using my own app realizing that certain things that I thought would work, they don't.

For example, I created library.aliceindataland.com (a narrative driven SQL course). After a while, I noticed that the grading scheme was off and it needed to be rewritten. The same goes for how I wanted to implement the cheatsheet, or lessons not following the standard format. Of course, I need to understand the new code but I don't need to understand the old code.

With other small forms of code, I just don't really need to know how things work because it's that simple. For example, every 5 minutes I track to which wifi network I'm connected with. It's mostly useful to simply know whether I went to the office that day or not. A python script retrieves the data and when I look at it, I can recognize that it's correct. But doing it this way is sure a lot faster than active recall.

At work, I've had similar things. At my previous job I created SEO and SEA tools for marketing experts. So I remember creating this whole app that gave experts insights into SEO things that Ahrefs and similar sites don't, as it was tailored to the data of the company I worked at. The feedback I basically got was: the data is great, the insights are necessary, but the way the app works is unusuable for us. I was a bit perplexed as I personally didn't find it that complicated. But I also know that I'm not the one using it. Then I created a second version and that was way more usable. The second version assumed a completely different front-end app and front-end app architecture though. All the cognitive debt of V1? No payback needed.

The reason that this is the case, as it seems to me, fall under a few categories:

1. Experimenting with technologies. If you have certain assumptions about how a technology works but it turns out you're wrong, or you learn through the process that an adjacent technology works way better, then you need to redo it. Back when coding by hand was such a thing, I had this with a collaborative drawing project called Doodledocs (2019). I didn't know if browsers supported pressure sensitivity and to what extent it was easy to implement. It required a few programming experiments.

2. It's a small and simple script, not much more to it.

3. Experimenting with usability. A lot of the time, we don't know how usable our app is. In my experience, this seems to be either because (1) it's a hobby project or (2) the UX people have been fired years ago. In these cases, more often than not, UX becomes an afterthought. But with LLMs, delivering a 95% fully working version is usually done within a week for a greenfield project. This 95% fully working version is an amazing high fidelity interaction prototype (95% no less). Once you do that for a few iterations, you then understand what you really need. Once you understand what you really need, then you can start repaying the cognitive debt.

I've found it's usually category 3, sometimes 2 and rarely 1.
melvinroest
·3개월 전·discuss
library.aliceindataland.com

I'm having fun writing a sequel on the books that Lewis Carroll wrote and mixing it with a SQL course. My hope is that SQL will be more fun to learn that way. And it's fun to write a few pages that will hopefully evoke some narrative transportation and immersion vibes.

I'm still very much at the beginning though.

In the story Alice enters an Infinite Library. You (yes you!) are STAR: a magical sentient typewriter that can only write in SQL queries. When Alice finds you, you'll slowly both find out why this library exists and the secrets that it holds.

Course-wise: I'm trying to have tight lesson scaffolding, which is a fun challenge.
melvinroest
·3개월 전·discuss
TL;DR: you don't need to do any treasure hunt on your notes by just typing stuff into the search bar. Having your own graphRAG system + LLM on your notes is basically a "Google" but then on your own notes. Any question you have: if you have a note for it, it will bubble up. The annoying thing is that false positives will also bubble up.

----

Full reaction:

Yes but perhaps not in a way you might expect. Qwen's reasoning ability isn't exactly groundbreaking. But it's good enough to weave a story, provided it has some solid facts or notes. GraphRAG is definitely a good way to get some good facts, provided your notes are valuable to you and/or contain some good facts.

So the added value is that you now have a super charged information retrieval system on your notes with an LLM that can stitch loose facts reasonably well together, like a librarian would. It's also very easy to see hallucinations, if you recognize your own writing well, which I do.

The second thing is that I have a hard time rereading all my notes. I write a lot of notes, and don't have the time to reread any of them. So oftentimes I forget my own advice. Now that I have a super charged information retrieval system on my notes, whenever I ask a question: the graphRAG + LLM search for the most relevant notes related to my question. I've found that 20% of what I wrote is incredibly useful and is stuff that I forgot.

And there are nuggets of wisdom in there that are quite nuanced. For me specifically, I've seen insights in how I relate to work that I should do more with. I'll probably forget most things again but I can reuse my system and at some point I'll remember what I actually need to remember. For example, one thing I read was that work doesn't feel like work for me if I get to dive in, zoom out, dive in, zoom out. Because in the way I work as a person: that means I'm always resting and always have energy for the task that I'm doing. Another thing that it got me to do was to reboot a small meditation practice by using implementation intentions (e.g. "if I wake up then I meditate for at least a brief amount of time").

What also helps is to have a bit of a back and forth with your notes and then copy/paste the whole conversation in Claude to see if Claude has anything in its training data that might give some extra insight. It could also be that it just helps with firing off 10 search queries and finds a blog post that is useful to the conversation that you've had with your local LLM.
melvinroest
·3개월 전·discuss
I have journaled digitally for the last 5 years with this expectation.

Recently I built a graphRAG app with Qwen 3.5 4b for small tasks like classifying what type of question I am asking or the entity extraction process itself, as graphRAG depends on extracted triplets (entity1, relationship_to, entity2). I used Qwen 3.5 27b for actually answering my questions.

It works pretty well. I have to be a bit patient but that’s it. So in that particular use case, I would agree.

I used MLX and my M1 64GB device. I found that MLX definitely works faster when it comes to extracting entities and triplets in batches.
melvinroest
·4개월 전·discuss
If you want some context about spec-driven development and how it could be used with LLMs I recommend [1]. Having some background like helps me to understand tools like this a bit more.

[1] https://www.riaanzoetmulder.com/articles/ai-assisted-program...
melvinroest
·4개월 전·discuss
It has been for a while I suspect.
melvinroest
·4개월 전·discuss
In my agent file I explain that I have a static analyzer which generates a callgraph. On starting the agent runs ~/.agent/tools/__callgraph__/generate_callgraph.py

It then gets to see callgraph.current.md and upon subsequent sessions callgraph.diff.md.

Here is an example of some output that I currently have in callgraph.current.md

  ## src/components/Header.tsx

  - **export Header({ ... }: Props)** (start 9, end 54) → `useAuth`

  ## src/components/HelpTooltip.tsx

  - **export HelpTooltip({ ... }: Props)** (start 15, end 42) → (none)

  ## src/components/ResultsTable.tsx

  - **getHeaderLabel(col: { id: string; columnDef: { header?: unknown } }): string** (start 45, end 51) → (none)
  - **getCellValue(colId: string, original: KeywordResult): string** (start 53, end 74) → (none)
  - **export ResultsTable({ ... }: Props)** (start 76, end 406) → `getCellValue`

  ## src/components/SettingsDrawer.tsx

  - **export SettingsDrawer({ ... }: Props)** (start 158, end 336) → (none)
For example:

ResultsTable calls getCellValue.

In these cases it's just one function but you also have stuff like

  **export Dashboard()** (start 36, end 635) → `getTopKeywords`, `normalizeText`, `searchKeywords`, `searchKeywordsMulti`, `searchSemantic`, `searchSemanticMulti`
For the Python version it also gives the parameters and types along with it. I think the next thing I'd need to do is give self-defined type definitions. Doing things this way allows an LLM to not read all that much but to be able to reason relatively well over what the code does. The caveat is that you abstracted your code well. If you didn't, the LLM doesn't know your implementation.

I probably should also add return types.
melvinroest
·4개월 전·discuss
I've been doing something less formal. I stumbled upon Riaan Zoetmulder's free course on deep learning and medical image analysis [1] and found his article on spec-driven development [2]. He adapts the V-Model by specifying three things upfront: requirements, system design and architecture. The rest gets generated. He mentioned a study where they show that LLM assistance slowed down experienced open source devs on large codebases. The model doesn't know the implicit context. And to me that's the thing! An LLM should have an index of some sort.

So I vibe coded my own static analysis program where I just track my own function calls. It outputs a call graph of all my self-defined functions and shows the name (and Python type hints) of what it is calling (excluding standard library function, also only self-defined stuff). Running that program and sending the diff from time to time seems to have helped a lot already.

[1] https://www.riaanzoetmulder.com/courses/deep-learning-medica...

[2] https://www.riaanzoetmulder.com/articles/ai-assisted-program...
melvinroest
·5개월 전·discuss
I haven’t tried n8n and similar tools but I always had the suspicion that they wouldn’t be that good. Would you say there are scenarios where tools like n8n would be better to use than Python and calling some APIs?
melvinroest
·5개월 전·discuss
A free interactive SQL tutorial that will get to the level of being a data analyst. It's Alice in Wonderland themed.

I used to be a coding bootcamp instructor, TA and guest lecturer. I've noticed more and more people need to learn SQL for various different reasons. I'm mostly concerned about lesson scaffolding since most SQL courses don't do it that well. I'm hyped about AI but they're not great with lesson scaffolding.

I'm 33% to 50% done. I've already noticed the way I scaffold the lessons is unconventional. For example, for the first 50%, I don't want students to know what tables are. It's too much all at once, everything should be small bites before the big concepts get introduced.

If anyone is interested in testing the beta version, let me know. It will be up within the next 2 weeks probably. My email is in my profile.
melvinroest
·6개월 전·discuss
Seems like a fun growth hacking way to grow Bluesky as well. I made an account just to test it out, haha
melvinroest
·7개월 전·discuss
I think if I'd go down memory lane I would come up with quite a lot. But one sticks out immediately.

I was in Thailand on a bus, with only Thai people, it was a really local bus. The bus would stop around every 30 miles/50 kilometers. I didn't know that. I needed to get off at a particular stop as it was close to the meditation retreat I was going to (Phitsanulok). I miss the stop. I figure it'd be fine. I didn't realize the 30 miles thing. So after half an hour of driving I ask the bus driver when it's going to stop. He said he'll stop in another 15 minutes.

It was about to get dark. I asked him if he could please stop now. I was 25 miles away, it'd be rough but 8 hours of walking is doable. He stopped, now I was on the side of the road. It had gotten dark.

I noticed houses next to the side of the highway. It was a strange sight to walk next to a highway and see houses next to it. In one case, I saw a father, mother and 2 children outside ready to go inside.

I asked them for help. They didn't speak English but listened. With our hands and feet and a bit of Google Translate, I got to tell them my story. The father looks at me with understanding eyes and gestures for me to get on the back of the moped. I get on the back. He brings me to a police station. He says they'd take me to Phitsanulok.

In the police station, no one was there. There was one light on and blinking. The room itself looked grey-ish white. I felt like I was in the beginning scene of a horror film. Before the father left, I asked him why there was no one here. He told me that the policemen were having dinner and they'd probably be done in an hour. I sat there for an hour.

The policemen came out, they looked at me surprised. They spoke English, I told them my situation. They said "alright, get back in the car". And they just gave me a whole ride of 25 miles to where I exactly needed to be.

To say that I was grateful would be an understatement. I offered them money, because while I know that they are just working, I reckon that this type of stuff is not in the job description of a policeman. I was purely offering it out of gratitude. They said no. I offered 2 more times, they still said no. I did my best to show I was incredibly grateful and I think they got the message, haha.

Thanks to those Thai policemen, and other acts of kindness I've experienced over the course of my life, I will pay it forward. Not because I feel I have to, mostly because I see how wonderful that attitude actually is.