Live data from Hacker News

Understanding Kafka with Factorio

hackernoon.com

11–20 of 85 posts

Re: Understanding Kafka with Factorio

#12
post #3

For those who don't know factorio is truly a masterpiece of a game. It's described as "programming the game". Strongly recommended to everyone here.

So I must be the only person on HN who doesn't like it too much. I love the concept and the factory building - but I found the necessity to move a player character manually with direct controls to be incredibly detracting from the process of building factories. I have no idea why they couldn't just include a mode where you have your typical RTS-like mode where you just go and click on things that you want to do witho…

I think there is a "sandbox" mode in factorio which works like you describe. It has been some time since I last played but I recall it had something like that. You don't have a character in that mode.

Re: Understanding Kafka with Factorio

#13
post #3

For those who don't know factorio is truly a masterpiece of a game. It's described as "programming the game". Strongly recommended to everyone here.

So I must be the only person on HN who doesn't like it too much. I love the concept and the factory building - but I found the necessity to move a player character manually with direct controls to be incredibly detracting from the process of building factories. I have no idea why they couldn't just include a mode where you have your typical RTS-like mode where you just go and click on things that you want to do witho…

I find having to actually move to be a pretty engaging part of the game. You have to find resources, and that might be dangerous. Vehicles and concrete help you maneuver more quickly, but have their own risks/drawbacks. Defending your base and setting up an outpost starts out as a manual task until you know how to do it automatically.

In simpler terms, having to do things the slow and manual way makes the fast and automatic solutions even more gratifying.

Re: Understanding Kafka with Factorio

#14
The analogy helped me understand, but in factorio belts are required primarily because everything takes physical space. What are real world use cases for kafka? Is it primarily if your data is too much to simply store in a db?

Re: Understanding Kafka with Factorio

#15

The analogy helped me understand, but in factorio belts are required primarily because everything takes physical space. What are real world use cases for kafka? Is it primarily if your data is too much to simply store in a db?

> What are real world use cases for kafka?

He covers it under the introduction "Why bother with async messaging?".

Basically in the analogy the belts are queues. Factorio doesn't require queues, but it quickly leads to problems with resource management, as you essentially have to lock the system until your item is done processing.

Re: Understanding Kafka with Factorio

#16

When I saw this title, I first thought it was about understanding the cockroach-like aliens in Factorio, but it is actually about queuing and congestion and parallel processing with conveyor belts and factories! With the caveat that Factorio is EXTREMELY addictive, properly described as "programmer crack", here are some other Factorio related discussions: Factorio – a game where you can automate basically anything (f…

Some random Factorio-themed things of my own:

https://imgur.com/c51pTnP - here I tried to invent a way to solve the accessibility issues of moving walkways; https://news.ycombinator.com/item?id=17703131 for context.

https://mastodon.technology/@temporal/100646861775747986 - Factorio-inspired tootstorm about what I'd like to see in an IDE/debugger.

Re: Understanding Kafka with Factorio

#17

The analogy helped me understand, but in factorio belts are required primarily because everything takes physical space. What are real world use cases for kafka? Is it primarily if your data is too much to simply store in a db?

Push architectures put all of the control on the producer, but become quite painful in the face of an unreliable consumer. Pull architectures put all of the control on the consumer, but become quite painful in the face of an unreliable producer.

Message queues allow the producer to think it's participating in a push architecture, while the consumer believes it's a pull-based arch. Because the message queue itself does very little work, it gets to play a very well-behaved consumer insofar as the producer is concerned, while behaving like a well-behaved producer for the consumer. The queue's buffering then allows both the producer and the consumer to misbehave to some degree while the queue itself keeps the illusion of good behaviour.

Kafka specifically falls under the category of log-oriented message queues, which are eminently useful for distributing any workload that looks like "tail a log and process each line as it comes in" across a large number of nodes.

Re: Understanding Kafka with Factorio

#18

When I saw this title, I first thought it was about understanding the cockroach-like aliens in Factorio, but it is actually about queuing and congestion and parallel processing with conveyor belts and factories! With the caveat that Factorio is EXTREMELY addictive, properly described as "programmer crack", here are some other Factorio related discussions: Factorio – a game where you can automate basically anything (f…

Pretty off topic, but I'd appreciate it if you didn't use "____ crack" as a way to describe something that is addictive.

Re: Understanding Kafka with Factorio

#19
post #3

For those who don't know factorio is truly a masterpiece of a game. It's described as "programming the game". Strongly recommended to everyone here.

So I must be the only person on HN who doesn't like it too much. I love the concept and the factory building - but I found the necessity to move a player character manually with direct controls to be incredibly detracting from the process of building factories. I have no idea why they couldn't just include a mode where you have your typical RTS-like mode where you just go and click on things that you want to do witho…

My solution to this is just a mod for being able to interact with anything on the screen, and another for being able to move through all the gaps in structures you can't normally squeeze through. I think they are "Long Reach" and "Squeak Through", respectively. You still end up having to move around, but its much closer to what you're looking for, especially once you start getting player speed upgrades.

Re: Understanding Kafka with Factorio

#20
I wrote this article a couple of months ago and didn't expect it to appear on my news feed all of the sudden. Thanks for the love everyone. Any questions are welcome of course!
Post reply on HN