Profile cover photo
Profile photo
Thomas Rast
113 followers
113 followers
About
Thomas Rast's posts

Post has attachment
Dear +United Airlines​, you'll now lose a customer. Vote "-1" on this post to prevent it.
Photo

Post has attachment
Pilatus, from Rigi Känzeli
Photo

Post has attachment
The terminal emulation seems to glitch a lot when using colored [edit: see comment thread, it's actually about columns] output. For example, in this screenshot the "ag" in "storage" disappeared by moving the cursor from left to right across that bit of output. (This is emacs's M-x eshell.)

Does this reproduce for you? If not, how can I capture suitable data for a bug report?
Photo

Post has attachment
Berlin
Photo
Photo
2/6/16
2 Photos - View album

Post has attachment
"Scowt is observing your every move"
Photo

Found in Python code that uses wxWindows:

if sys.platform == "win32":
    ON_MAC = False
else:
    ON_MAC = True

Remind me why you use a portable GUI toolkit, exactly?

Post has attachment
Happy new year!

Albino fallow deer in Moritzburg.
Photo

Post has shared content
My new favorite game is Factorio (http://factorio.com). It's like a cross between Minecraft, SimCity, and Civilization, and the result is massively better than any of them. The game is currently in "alpha", but I'm not sure why; it's far more polished and less buggy than many finished professional games I've played.

Overhead view. Like Minecraft, you start out punching trees for wood to craft a pickaxe with which you can then mine some ore to craft other things. But soon, you are building an automatic mining drill, then a conveyor belt to bring the ore to a smelting furnace, then robot arms to insert the ore into the furnace and take the smelted bars out, then more conveyor belts to bring those to other places where thy can be used. Eventually you can build power plants, labs to research new technologies, walls and turrets to defend against attackers, oil refineries, robot delivery drones, trains, and more.

The game is incredibly addictive (especially for programmers?). But what really impresses me is how the game illustrates the complexity of the real world. Factorio is a lesson in how logistics trump tactics and strategy ("strategy is for amateurs, logistics are for professionals"), and in how to build a complex system for changing requirements. The lessons are broadly applicable to the real world.

It's fairly easy to analogize Factorio to city planning. In your first game, you will quickly discover that the city you built for the early game is all wrong for the late game -- and then you realize: every real-life big city is a horrible mess and this is exactly why.

I also find myself comparing Factorio to software, especially distributed systems and networks. I find myself constantly using phrases like "buffer", "flow control", "back pressure", "throughput", "refactor", "under-utilized", etc.

One transition I find particularly interesting: around the middle of the game, you research the ability to build "logistics drones", which are basically like Amazon's quadcopter delivery drones. They can transport materials from point to point around your base -- you set up "request" points and "supply" points, and the drones pick up whatever items land in the supply points and bring them directly to whichever requester is requesting that item.

Up until this point, you mostly use conveyor belts for this task. When you first get logistics drones, you think "These are WAY more expensive than conveyor belts and have much lower throughput. Why would I ever want them?" But you quickly realize that the advantage of drones is that they are rapidly reconfigurable. Once your base is entirely drone-based, you can switch factories to build different items on a whim -- no need to re-route any conveyor belts. This gets more and more important in the late game as the number of different types of things you are building -- all with different input ingredients -- increases, and maintaining a spaghetti of conveyors becomes infeasible. This is tricky to grasp until you do it.

For a while, of course, you'll have part of your base running on drones while another part is still based on conveyors. It's like using Google Flights in your browser to search for airline tickets, while on the back end it is integrating with 60's-era mainframe-based flight scheduling software.

I can't help but imagine that conveyor belts and logistics drones represent two different programming languages (or, maybe, programming language paradigms). Choosing your programming language based on how easy it is to do something simple is totally wrong. The true measure of a good language is how it handles massive complexity and -- more importantly -- reconfiguration over time.

Another thought: In 10-20 years, when we have everything delivered to our houses via drones and self-driving taxis populating every major street, will we be able to just get rid of small residential side-roads? You won't need to drive a car up to your house anymore: it's easy enough to walk a couple blocks to the nearest major street and hop in a cab, or better yet to a train station. You don't need to carry cargo since it's delivered by drones. Delivery trucks: also replaced by drones. Will we suddenly be able to reclaim a ton of inner-city space? What will we do with it?

In any case, thanks to +Michael Powell and +Brian Swetland for introducing me to this game!

PS. Factorio is multiplayer! We've been having a lot of fun with it at LAN parties, and I just completed a coop game with +Jade Q Wang, who is also addicted. We tend to forget to do things like eat or sleep when we're playing.

Dear +Orange​,

Your "transparent" HTTP proxy fails horribly at being transparent. Sending me a 500 for a page that loads just fine over HTTPS and such.

Post has shared content
Wait while more posts are being loaded