Live data from Hacker News

The “Build Your Own Redis” Book Is Completed

build-your-own.org

91–100 of 131 posts

Re: The “Build Your Own Redis” Book Is Completed

#91

Earlier quoted context omitted.

Correct. For many of our users, doing one stage per day is just the right amount of exercise (especially on the later stages — as it gets more challenging)

Not to by hyper critical but that is just not enough to support learning for more ambitious people. There are too many great learning communities that are way cheaper. I really hope you guys revise the pricing structure. At a $20mo price point, I know a ton of people that would buy it. At the current price point, well, it’s just people with a learning stipend at big corp that don’t like to buy books. Great idea, but…

> only accessible to the rich

I think this is a bit much. I wouldn't buy it, but I think this is deep technical content that you might not stick on forever, and they need to pick a price for it. If it's too high or low they'll find out soon. No need for any other inputs than that.

Re: The “Build Your Own Redis” Book Is Completed

#92

It is nice to see more on "build your own database" topics. Although people constantly bug me on attempts to build their own ClickHouse. Someone is trying to do it with Apache Arrow and DataFusion. Folks from DuckDB are trying to build their own crippled version of ClickHouse. Friends from China doing it with their Apache Doris. InfluxDB is being rewritten to be closer to ClickHouse in an attempt to make it better an…

Incase you're unaware, InfluxDB IOx (the rewrite) is built on Apache Arrow and Datafusion, and is the primary driver behind the project.

I also think calling DuckDB a crippled version of Clickhouse disingenuous. That's like calling SQLite a cripped version of postgres. They have very different goals.

That's also a bit like calling Clickhouse a build-your-own vectorwise/MonetDB because they did it first.

Re: The “Build Your Own Redis” Book Is Completed

#93
post #87
post #26

I actually build minimal Redis clones in every new language or runtime, or when I want to explore threading models. It all started with https://github.com/rcarmo/miniredis (which I forked to add and experiment with pub/sub), and I just found myself doing it again and again because Redis is the quintessential network service: By implementing it, you learn about socket handling, event loop for a specific runtime, threa…

It might be nice to have Build Your Own web-ring.

> web ring

There's a name I've not heard in a while!

Re: The “Build Your Own Redis” Book Is Completed

#94
post #76

Earlier quoted context omitted.

I would rather poor English than confidently completely factually incorrect.

Why would it be factually incorrect? You tell it to proof-read, not add stuff. It works great.

ChatGPT does not know how to proof read. It is not an artificial inteligence. It will take your input and determine the most likely response matching the data it was trained with.

Just like how ChatGPT fails at simple math - ChatGPT doesn't know math https://ai.stackexchange.com/questions/38220/why-is-chatgpt-...

Re: The “Build Your Own Redis” Book Is Completed

#96
I am a big fan of Build Your Own X educational projects. Recently, I released a Go version of my build your own KV Store project. I have set up this project in TDD fashion with the tests. So, you start with simple functions, pass the tests, and the difficulty level goes up. There are hints if you get stuck (e.g. link). When all the tests pass, you will have written a persistent key-value store.

go - https://github.com/avinassh/go-caskdb

python - https://github.com/avinassh/py-caskdb

Re: The “Build Your Own Redis” Book Is Completed

#97
post #45

One of my pet peeves when I was learning programming is that I couldn't find any books that would teach how to write tests in real world. There was that chicken and egg problem then, when potential employers would skip my CV because I didn't have any TDD experience and I couldn't find anywhere how to learn this. Before I even learned that something like testing exist, I was so confident like "oh I could write somethi…

I remember how tdd (together with scrum) was basically a religion in 'large corporations'. How a lot of people talked about 'the right way to do things'. Your comment made me smile nostalgically... But back to the topic. I'm pretty sure there are enough books about how to write tests. And more or less all engineers understand the value of testability and coverage (not necessary tdd!). At leas I wouldn't need a book f…

What would you say makes better software than TDD?

Re: The “Build Your Own Redis” Book Is Completed

#98
post #56
post #49

Earlier quoted context omitted.

When I see poorly written prose, it makes me distrust the technology imparted. If you can't take time to get the grammar right, why should I believe that you got the code right?

Not everyone speaks English as their native language.

True, but looking at author name - James Smith - it does not seem to be the case.

Re: The “Build Your Own Redis” Book Is Completed

#99

One of my pet peeves when I was learning programming is that I couldn't find any books that would teach how to write tests in real world. There was that chicken and egg problem then, when potential employers would skip my CV because I didn't have any TDD experience and I couldn't find anywhere how to learn this. Before I even learned that something like testing exist, I was so confident like "oh I could write somethi…

A long time ago I found the chicken and egg problem to be more general than TDD. It was more along the lines of, "how do you write a program when you don't have the code (subroutines, other functions) it needs to run?" Where do you start - at main() or say, opening a file that doesn't yet exist to read/write some data? It was always a struggle.

Then I found Structure and Interpretation of Computer Programs (SICP)[0] and the video lectures from MIT[1]. I had an epiphany when Sussman talked about "wishful thinking" in video for lecture 1b[0] (around 48:00 in). The lesson was something along the lines of start naming functions that would do what you needed done, and write them later. Just pretend they exist and eventually bring them into existence. SICP has so many gems. It really made a difference for me.

If applied to TDD, write a test that won't even compile because the function under test doesn't even exist. Then iterate by writing something that compiles, but will probably fail, and then improve it until the test passes.

[0]: https://mitp-content-server.mit.edu/books/content/sectbyfn/b...

[1]: https://ocw.mit.edu/courses/6-001-structure-and-interpretati...

[2]: https://www.youtube.com/watch?v=V_7mmwpgJHU&t=2s

Edit: How to Design Programs and How to Design Worlds are two other resources I enjoyed. I don't write programs in Lisp or Scheme anymore, but the experience of just running through the exercises in these and other books was enlightening.

Re: The “Build Your Own Redis” Book Is Completed

#100

> Redis could be considered one of the building blocks of modern computing Is Redis really that critical to modern computing?

Depends on how you define "critical" - humanity would survive without it - but a lot of large web systems depend on it one way or another.
Post reply on HN