Why would I read your book if you have not read your book?
Edit: I now understand what is going on here. This is an attempt to promote Zenflow. The GitHub account (https://github.com/amoilanen/) is Anton Moilanen who is an employee at Zencoder, the creators of Zenflow.
The account (https://news.ycombinator.com/user?id=jsontwikkeling) was created 86 days ago the same day as this Show HN post was created: https://news.ycombinator.com/item?id=46290617
It would probably be worth the moderator's time to see if this post was part of a coordinated upvote ring as well.
I just mentioned the tools I use normally and it is my personal project done on my personal time of which my employer is not aware.
I might not mention the tools I used but they did the bulk of the work so I thought appropriate to mention.
Promoting Zenflow or Claude Code was not my goal. They are mentioned purely for the attribution purposes
What was the point of first asking an LLM to expand prompt/"specs" into a book and then asking it to compress it back to a summary? Well, I'm glad you asked! To promote this Z*n tool, of course.
I wanted to mention the tools I used including Claude Code. I hope it does not seem that I am here to promote Anthropic tools as well?
I just thought it appropriate to mention for the correct attribution, because the heavy lifting was done by the tools, not by me
Feedback is clear, I should never had posted and will probably not post in the future.
Hopefully the book will be useful for those who find it, I will get feedback elsewhere and will finish reviewing it myself
The book is still a work in progress, and I have tried to be transparent about that. If you have specific concerns about the quality or suggestions for improvement, I would genuinely appreciate hearing them.
Though I genuinely wrote a substantial part of the book myself.
I will finish the review on Github in the coming days/weeks and will hopefully get some collaborators there
This is what I was taught: work should be attributed correctly. If I would not mention the tools it would seem if the book was written entirely by me which is not the case.
This is a book which was started by me, I did use the AI tools I normally use in my daily routine on my personal projects. They are secondary in this post though.
I posted in my personal capacity and my employer is not aware or connected to this - the book is entirely mine.
It is not AI slop. A large part of its content was written originally by me 10 years ago.
But if it has offended anyone and I should not had posted the work which I have not fully yet reviewed myself, then sorry
dang: Can we get stuff like this out?
And I am human, who first finished a similar course roughly 20 years ago, worked as a TA and taught students programming and algorithms
I talked about the first 5 comments on the thread, all by new accounts.
It seems like an AI campaign. not organic up votes.
Type signatures document contracts directly:
export function rabinKarp(text: string, pattern: string): number[]
Clear that it takes two strings and returns match positions. No separate explanation needed.Interfaces model return types and ADTs cleanly:
export interface ShortestPathResult<T> {
dist: Map<T, number>;
parent: Map<T, T | undefined>;
}
export function dijkstra<T>(graph: Graph<T>, source: T): ShortestPathResult<T>
It's also lightweight, flexible, has familiar C-like syntax, and unlike pseudocode — you can actually run everything.Re: generics feeling awkward — in TypeScript they feel pretty natural. The type inference helps a lot, you rarely need to spell out type parameters at call sites.
Having both an engineering and academic background, I felt there's underappreciated potential in bringing software engineering best practices - tests, type contracts, CI - into an algorithms textbook. Most CS teaching treats code as illustration. I wanted it to be the source of truth.
And agreed on structural typing for graphs. TypeScript lets you define a Graph<T> interface and defer the representation choice, which maps very well to how the topic is actually taught - abstract properties first, concrete implementations second.