5 ms·
In case you are interested in providing feedbacks about the next episodes, my current list of potential ideas is: 1. Code snippets: show small self contained f
by antirez 9y ago
In case you are interested in providing feedbacks about the next episodes, my current list of potential ideas is:
1. Code snippets: show small self contained functions from random places inside Redis.
2. Redis Sentinel: the first design, the immediate redesign of v2, and how it is internally implemented.
3. The use of goto in Redis.
4. Redis protocol parsing and zero-copying of objects.
5. The odd Redis persistence model: fork() and fighting the copy-on-write.
6. Redis crash report. Generation and usefulness over the years.
7. Observability inside Redis: latency hooks, LATENCY DOCTOR and MEMORY DOCTOR.
8. Hybrid data structures: Streams macro nodes implementation.
9. RIO: Redis I/O abstraction and OOP in C.
10. Redis Cluster: how the Redis message bus is implemented.
11. Redis Cluster: hash slots tracking and redirections.
If you have any preference and/or other ideas, will be cool to hear.
About this experience itself, good things: shooting a video takes more or less just the time to record. Preparation is just a few minutes, and later post processing is an automatic process... So in 1 hour max everything is done. However I see that the reach of the videos is very low compared to a blog post, which requires more time to write sometimes, at least to have the same amount of info. So it's a tradeoff. Also consuming the video may be a problem for many, for instance for language barriers due to the speaker accent (in my case) and the listener ability to understand English without subtitles. Let's say I want to make 10 episodes and re-evaluate if it's a good idea to change style and do 5 minutes episodes instead.
- stephen82 9y agoHow about writing a book with all these potential ideas and name it "The Design and Implementation of Redis in-memory Database"?
- antirez 9y agoI wish I had the time... In N years hopefully I'll switch into writing much more, now I've a book about C that will never end while I work constantly at Redis for instance. But for now me doing first-hand coding is what the project needs... eventually I may probably switch more to a design figure, but will take time. However soon or later I may take a few sabbaticals, so that I can continue working at Redis as I do now but pausing, for instance, for 1 month every 4 months or alike, doing this kind of projects.
- minimaxir 9y ago> However I see that the reach of the videos is very low compared to a blog post That's the reason why in my other comment, the data screencast I created was made in addition to a blog post, where the blog post and the video explicitly link to each other as cross-promotion. That does extend production time significantly though.
- vvanders 9y agoOne vote for #4, not sure how related it is to Redis but I always have fun showing how much snappier flatbuffers is vs protobuf because they don't need to allocate/copy/etc when reading data off the wire. I feel like that knowledge needs to be shared around a bit more.
- CoolGuySteve 9y agoAs an HFT systems programmer myself, 5, 10, 11 are interesting to me. As in, using Unix primitives to persist state in a distributed system. It seems like there are really 2 meta topics: 1: Using C and the OS to maximize performance 2: building distributed systems
- randormie 9y agoOne vote for #5. Also a general suggestion: these sessions could be livestreamed on twitch.tv for live interaction with viewers. Of course the VOD can still be uploaded to youtube later.
- bogomipz 9y agoI would be very interested in 2. I know some other folks who be as well. Cheers.
- xstartup 9y agoPlease show me how Redis rebalances data when more shards are added.
- WJW 9y agoSo cool! Redis is one of my favorite pieces of software and it's super interesting to see some of the internals explained more clearly. At the moment I'm only on the second episode, but I look forward to the rest of them. Perhaps replication could be a topic as well, if it's not already covered in the Sentinel and/or Cluster episodes. Another thing that would be interesting is how connections are handled and how concurrent commands from separate clients get executed in a sane way. As an aside, I noticed several typos sneaked into comments here and there ('command gets replicated to the salves', etc). I'm half considering filing a pull request for them, but feel it might come across as overly pedantic. Would such a PR be appreciated?
- antirez 9y agoGreat ideas! Thanks. Sure the PR fixing the typos will be accepted (I'm very slow with PRs usually, but the typos are faster to merge if you follow my hints later). Better if they are small PRs with a few typos fixed because many files are continuously changing otherwise a big huge PR will end conflicting in many places.
- llimllib 9y agoWhat's interesting to me about the videos vs. the blog posts (I like both) is that only the video shows me the way you work. I'd love to see a video where you recreate finding a bug, how you worked to go from issue to repro to fix, just to see more of how you work.
- antirez 9y agoYes, this is definitely the power of the video, to explain the same in a blog post would be like a chapter, showing in this case is simpler. I'll consider doing bug hunting recording the whole session, and then editing accordingly (because it takes hours or days... for the interesting bugs).
- llimllib 9y agoYeah, that is the hard bit of it for sure, that's why I thought maybe you could just sum up and demonstrate the steps you took after the bug hunt was over. But an edited version would be very cool too.
- edsiper2 9y agoDefinitely: 5. The odd Redis persistence model: fork() and fighting the copy-on-write.
- anselmio 9y ago> language barriers due to the speaker accent (in my case) and the listener ability to understand English without subtitles. It's usually easier for a non-native English speaker (at least below ILR[1] Level 3 or CEFR[2] Level B) to understand English spoken by another non-native, because the pace is slower, idioms and expressions are not used so regularly, etc. Your accent is much easier for non-natives than a strong Irish accent, for example. So I wouldn't worry about that too much. [1] https://en.wikipedia.org/wiki/ILR_scale https://en.wikipedia.org/wiki/ILR_scale [2] https://en.wikipedia.org/wiki/Common_European_Framework_of_Reference_for_Languages https://en.wikipedia.org/wiki/Common_European_Framework_of_R...
- antirez 9y agoCool, makes sense, thank you. I just want to talk slower in the next videos, so that it will be easier... at the cost to enlarge the duration a little bit.
- mdn0420 9y agoPlayback speed is adjustable so I wouldn't stress too much about it.
- db8787cxg87cx 9y agoDon't worry about the language. You are very easy to understand and follow. Great work!!! Also I enjoyed seeing you in video. Best regards A random fan :-)
- pfp 9y agoFully agreed. I tend to find non-native English speakers' accents more understandable than many native British or American accents, ironic as it is. Salvatore's accent is quite easy on the ears. Same goes for a tendency of many native speakers to indulge in idioms, archaic vocabulary and convoluted syntax just for the heck of it. Non-natives just cut to the chase, which is exactly what you want in a technical discussion.
- rjammala 9y agoPlease add 1. Code Snippets.
- juicy-fruit 9y agoThanks for the videos, it's always a pleasure watching good engineers work. A lot to learn. As a side note, can you share your Terminal color scheme? It's really nice
- antirez 9y agoThis is inspired to the commodore C64, I just picked a few random colors with the picker in the terminal. Unfortunately I lost the color scheme the previous week while in Tel Aviv, since this color scheme does not work well when projected so I had to switch to B/W and the simplest way was to just modify the current color scheme.
- Scarbutt 9y agoDo you do all your coding on a laptop with no external monitor?
- MrLeap 9y agoOnly thing I have to suggest is changing your sound recording setup to reduce the echo. Interesting stuff, I haven't had to write C++ in a few years, it's nice to have a bit of a refresher.
- mmjaa 9y agoI've always loved your LOAD81 project and would encourage you to return to it and add some new features - so maybe how you made it, what it can be used for, how you can extend it by adding functionality .. ? EDIT: I know its not as sexy as your Redis work, but I think there are a lot of wise nuggets in this project that other developers could learn from. http://github.com/antirez/load81.git http://github.com/antirez/load81.git
- antirez 9y agoThank you, I may indeed use some non-Redis part of code for the next episodes.
- itamarhaber 9y agoI'm actually waiting for S2E01 :)