Hacker News new | past | comments | ask | show | jobs | submit | mpettitt's comments login

Including developer tooling in a Docker image is missing one of the really useful things about Docker: not needing all that stuff. By using a multi-stage build, you can do all the slow dev stuff at image build time, then only include the output in the image, and that includes things like building a library which wants a different set of conditions to build than your application wants to run.

It also adds an additional level of risk - if your image is compromised, but all that is running in it is your app, oh well. If it's compromised, and it's able to call out to other parts of your stack (yes, some of this is down to the specific deployment process), that's much worse.


That's a good idea. I usually have a 'myproject-debugtools' container that just operates on the same volume and maybe even shares a network with the 'myproject-prod' container. Just set it to `--restart no` and even when someone forgets to shut it down it'll be gone on reboot. That way all the non-prod stuff isn't even in the image at any point.

Or if that is too much work just have a 'myproject-dev' image/tag if you need to debug a live environment.


I recently bought a WD Red HDD drive for my NAS direct from WD, and it arrived in a crushed box. Now, things do get damaged in transit, but I don't want to install a drive, start using it, then get errors which were caused by damage which occurred before I even got it.

I sent the customer support team an email asking them to confirm that the level of box damage seen wouldn't affect the drive, or alternatively to provide a return label and replacement drive. Their response was "try it out, and if it fails, we'll replace it".

Having seen quite a few stories like this about WD and sub brands, I'm tempted to just return it for a refund and go elsewhere...


> Having seen quite a few stories like this about WD and sub brands, I'm tempted to just return it for a refund and go elsewhere...

The thing is, where? We don't really have a choice, it's either WD(and sub) or Seagate(and sub) with horror stories on both end. I had a WD red fail 3 weeks after the warranty period, while also having an older WD red that outlived it, chugging along for 6 years now. Now I run a mixes pool of WD and Seagate because ultimately, I don't trust either of them.


Toshiba is actually pretty good in my book. I've yet to have a major failure in my NAS from Toshiba drives I procured over a few years ago.


The problem with Toshiba is that their enterprise drives have no warranty for non-enterprise customers in the EMEA region.


HDDs are very durable when off, I’d be fine running it but I have backups.

Otherwise you may want to purchase them in person so you can see the box.

I’ve received drives from Newegg that were just tossed in a box with some of those large bubbles and they’re still going fine.


What are you talking about? Newer drives support shocks of around 200G, while older ones supported 250G even 300G.


Some of these don't look like checkboxes at all, and wouldn't trigger any indication that they could be changed. For example, if I saw number 44 next to a line of text, I'd think "that must be something not available for some reason" rather than "I could click that to choose it". Same with 50 and 26 (that's a stop sign!) - they look like bullet points.

Some of the others are pretty nice though!


Ever read "The Machine Stops" by EM Forster? Over 100 years old, and it's got Facebook style interactions!


Also "A Logic Named Joe", with social networking stuff.


The most prescient fiction work of the century, in my opinion.


Yes and video calls that are "good enough".


Well, according to "The Rise and Fall of D.O.D.O" (Neal Stephenson and Nicole Garland), it was all about magic!


Was going to mention Interface! It's very much Cambridge Analytica vibes - you feel that there are teams as described doing pretty much the same things, just without the direct brain interface.

Personally, I think Anathem is the best of his works, although I enjoyed DODO - the sequel, which he wasn't directly involved with was less good though.


Everything sim. You start with, say, Sim City. You find that your rail network isn't working properly, so you switch contexts to a kind of Transport Tycoon style game, where you can optimise the train schedules and destinations. You realise that the factory you're delivering stuff to is struggling, so you switch context to a Factorio style optimisation game. You realise that the inputs to the factory aren't pure enough, so you switch context to an Opus Magnum/SpaceChem style atomic manipulation game. You zoom back out, and find that your hospitals are struggling too. Context switch to a Theme Hospital/Two Point Hospital style sim. You need medicines, so switch to a Big Pharma drug production sim. You can optimise the machines here with the same interface as you used for the factory. Zoom out a bit, and you can see a football stadium, with the option to switch to a football management game, or to jump into a game and start playing directly. You zoom out again, and are now looking at a country where your city/region is just one part. You can context switch to a country management game. Keep going out, and you realise you're on a planet, so start working on a space program. Keep going out, and you can build a Dyson swarm and get some interplanetary government vibes going, all while being able to zoom back in on any part.

Pretty sure my original concept was for this not to be a single game so much as a common interface for basically every other game, where unoptimised parts work, but aren't great, passing a kind of middle-of-the-range set of values whenever queried. By linking multiple games together, you'd be able to control everything.


That would be quite an impressive game. Each simulation would need to be automateable in case the player does not want to manage that particular aspect of the game. Otherwise the game will fall into the trap of "trying to please everyone pleases no one".

Anyways, I'm working on Archapolis, a city builder game. The game will feature more hands on management than existing games in the genre, such as being able to design/build your own buildings. The player will see the interior of the buildings so making the exterior pretty wont need to be worried about. I'm also aiming to have a city board that will automate parts of the game for you if you choose (like having a fire marshall to handle fires)

I've got a tech demo of the path finding code up on youtube here, in case you're interested in path finding hundreds of thousands of units efficiently

https://www.youtube.com/watch?v=7q0l87hwmkI


Also been slowly brainstorming a city sim technical design on and off for maybe 7 years as a side project that has a few similar goals in regards to large unit counts and custom buildings so it seems we have similar interests there. It feels like it has a high risk of becoming an endless feature creep project, though, so it's been hard to prioritize as a focus until I can settle on what the soul of it should be which informs all other decisions.

Just guessing From what I see, it looks like you may have chosen a technical path that doesn't scale well even if the resource usage is reasonable at this scale (constant time != constant resource). There are certain features I want to have that I think your approach doesn't make viable, so depending on how your game evolves the algorithm may get in the way. You've probably already thought through some of that and figure with some optimizations maybe it will be enough for your needs. Might even have a little extra versatility in other ways.

Hope you find success! I'll keep an eye out on your project. One bit of feedback though, I would personally change the name. It's not fun to read and doesn't roll off the tongue very well.


I've figured out how to make the path finding scale well-enough. Before I was using a hash table but that ate up 12.5 GB of space for 10,000 nodes. I looked around for better hash libraries and managed to lowered the RAM needed to 10 GB.

Then I figured out a way to store the results in a vector while still maintaining constant time access, which lowered the space needed to 2.5 GB. (This discovery came after the linked video, hence not being mentioned)

For reference, 10,000 nodes would be about 50 x 50 blocks (~4 nodes per intersection). Using Manhattan sized blocks, that's about 13 square miles of city, which is the same area as 3 x 3 Cities: Skylines tiles. Should be way more than enough!

Regarding the name, my first choice Metropoly was taken by existing companies (plural), and there's a domain squatter holding metropoly.com. Im not attached on the name yet so there's room to change it.


That's good to hear. Off-street areas do have their own cost as well which doesn't sound included in that, but there are other ways to optimize those which can depend to some extent on the designer feature set.

Gah, it's so tempting to share my notes, because you'd appreciate a lot of the ideas in there. It's probably a bad idea though, because part of the motivation to actually develop it would be to share those ideas and the vision some day. :)


It's a solved problem. Off road travel off screen will use timed-teleporting, on screen I will use A*. I dont need to worry about real time path finding inside homes (no traffic, no combat, etc) if the unit isnt visible.

If this is something you are serious about then I'd recommend unlocking your enthusiasm and ideas. I'm not able to connect with you if you're secretive and indirect. If that makes sense then you're welcome to send me an email (see profile). My door is open to working with up to a small group of people, provided they can support themselves now and its a good fit.


We have very different lists of constraints that forced us to reason towards different optimizations. Unless your aims change drastically before launch, I don't think there's much risk that our projects would be highly redundant. It seems like you might have a larger focus on individual unit identities ala Dwarf Fortress than I do, but I still prioritize the value of identity highly with a different design approach.

Enthusiasm isn't a huge problem, it's partially that I have a great many interests of varying levels of importance where appealing ideas just pour out of my mind and that whole process enriches all other interests. The difficulty is that it keeps adding more and more considerations, so there's more complexity to comb through in order to prioritize.

Being vague is intentional, but not out of any disrespect. I'm doing strange things and part of their future appeal might be that they are strange, which wouldn't be the case if they become common in the market before I ever even get around to finishing it. :) That strangeness is also part of the problem, because there are a lot of harder to predict things that may go wrong.


Yes, I imagined that a component could provide some inputs (e.g. Grain) and outputs (e.g. Bread) with some default link between the two, and that would apply to all instances of that component within the world, unless a player took control of an instance and modified the behaviour. The nice thing there is that backing out of the instance allows for a different link between input and output to be created, without needing to simulate the full process.


This sounds cool if a bit overwhelming.

I always wanted to combine the Sims and Sim City. I imagined a multiplayer mode where you could live in the same city with your friends and your choice of career would allow you to use a different game mode at the SimCity level. E.g. your sim becomes a teacher, so now you decide where to place schools, etc. You have to work as a team to make sure all sims are happy in the city.


This can be done, but not as interlocking or real time as everyone thinking. It's designed around "points". Factory (or maybe materials) points, health / hospitality points, etc.

Basically you'll be given some "special" buildings where you can place the other-genre games . Let's say that you have a "60x60 1 level hospital" that when you placed it in the city, you can interact with it via theme hospital style.

Now in theme hospital-like, it has reputation / ratings where it translate directly to "hospitality points" for your city. When you exit the mode, it stopped the simulation and the points freeze. Similar with factory points.


Kind of. I picture it as being a function of input to output, so if the input changes, the output does too, but the output change is based on what changes have been made by the player.

E.g. if you have a hospital which can handle X patients per day and has a reputation of 90 when doing so, increasing the number of patients to 2x would probably decrease the reputation. You don't need to model the full hospital to determine this though, just have a "max patients" value which, when exceeded, puts a fractional multiplier on the output.


Well that's what "city stats" do. As you've said, population number decides the # of patients, # of workers in factory (we don't have that advanced assembler yet, haha), # of students for educational area.

And those "points" will also feedback as the input. Such as better hospitality points increase population cap, higher factory points allows the use of more equipments, higher education / tech points allows the use of more advanced equipment and ability to hire better doctors / engineers.

Now each "special building" have "budgets" assigned to them by the city. Those budget that'll be the balance and limit for equipment / room purchases and hiring, rather than directly received it from patients.


This reminds me of the Crusader Blade mod which combines Crusader Kings 3 and Banner Lord 2 to let you fight the normally simulated fights in CK3 in the battlefield of BL2, and passes results back and forth between the two interfaces.


Not quite what you describe but check out Workers and Resources.

It’s like Sim City meets Transport Tycoon. Rather than just building a city it’s about setting up all the supply chains to be self sustainable


This combined with the “fractal game” concept.

It would be a big open-source project (I mean it could be closed-source but it’s a massive effort with massive risk, it would take a billion-dollar company and I doubt any wants to invest in this).

It starts out as just a super-general world simulation, but people can flesh out the details by providing more specific simulations and also mini-games. All of the mini-games are optional, and the localized simulations aren’t run if they’re not requested because they get blurred out* into the bigger simulations (e.g. you can simulate population and income without caring about one cities’ paper production efficiency), so contributors have a lot of freedom in what they can make.

e.g. someone creates a “Fifa” style soccer mini-game. If you don’t like playing soccer, there is also a basic “soccer-management” style simulation where the soccer teams play against each other automatically and the team rankings / income / effect on news and culture will update. If you don’t even care about soccer, the soccer/management simulations won’t even load, and the effects on economy and culture will be blurred out.

How it could be implemented: there is a massive shared database of resources on everything (population resources, income resources, hospital resources, building layouts - all by location), and functions to automatically compute these resources over time when the players not explicitly interacting with them (e.g. update population and income, but also generate new cities and building layouts). Basically, everything in the game has data by some sort of location, an automatic state transition function, which may take other kinds of data and other locations, and possibly a way to manually interact via a user-controlled simulation and/or “hands-on” interaction mini game.

Along with this there is a standard-issue game engine and libraries which the smaller simulations and mini-games are built with. Each of these smaller-systems and mini-games are a module which can be loaded in when they are requested, but are “blurred out” by default. Initially only the global simulations are enabled.

The player makes up their goal: it may be to maximize the worlds income and happiness however they want (e.g. by building nice buildings, an efficient factory, train stations). Or maybe the player is evil and wants to kill off the population via bad decisions which cause the economy to crash, and unsafe research causes a deadly virus to be released. Or the player just wants to build cities and roads which are fun to race in and then drive a race car around everywhere.

Anyways, it’s obviously super ambitious but it would be a nice experiment. Like a generalized, open-source, modular reimagining of Dwarf Fortress.

* When a simulation is “blurred out”, I mean it’s affects are roughly estimated when the user doesn’t explicitly load it. Otherwise a) the game would slow to a crawl because of 10,000 simulations running at once, and b) a poorly-implemented simulation (e.g. which allows the player to generate infinite money, or just crashes a lot) won’t ruin the entire game, the player can just ignore or even specifically disable it. Simulating every minute detail of the world is a kind of hard problem, but since this is ultimately a video game we can just ignore 99+% of it, throw together some basic population and economic theory, and later on transportation theory and culture/politics sim etc., and say "close enough".


Nice - although the coverage locally is a bit spotty (I'm not talking missing shows, I'm talking missing theatres!).


Thanks, let me know what we are missing and I’ll try and get them added (as a two person team we know we have a challenge to try and get everything!)


I have a 5yo and play a wide range of games with her. She has various "learning games" from Orchard Toys. She has some junior versions of various mainstream games (e.g. Scrabble, Dobble) and junior versions of more gamer type games (e.g. Ticket to Ride: First Journey, Catan Junior, Concept Kids). She's got some (ok, a lot) of Pokémon cards, including the Battle Academy sets which give 3 roughly balanced decks for about £20, which give a decent introduction to the game. She can also play various other gamer type games - Zooloreto, full size Ticket to Ride, Thunderbirds co-op game, Kingdomino, etc.

Also have a 3yo who is awesome at Dragonimo and likes joining in with things like Uno.

I'm pretty sure the key thing is to teach kids that games are supposed to be fun and that there are a lot of options. There are games on my shelves which I don't plan to introduce them to for a while yet, but mostly because they are a bit too dry (hard to get kids interested in some themes) or require a bit too much in the way of reading without your opponent helping, but I'm sure they'll get introduced eventually!


Check out Sleeping Queens, which looks like it's all chance but is really excellent for sneaking in some simple integer maths practice. Virus! is also a great card game for younger kids. When you get there, outsourcing (adult) scrabble scoring to your kid is also a sneaky way to get some extra maths in.


This is such a good point. I've been pushing back for quite a while, and have generally had a positive response where the company revises the contract wording to a more acceptable level.

I feel that the principle of least privilege would be a good point for employment contracts to start, rather than the current approach of "try get control over everything employee might think of whilst employed, even if it's during their own time and unrelated to the business"


> "try get control over everything employee might think of whilst employed, even if it's during their own time and unrelated to the business"

That is illegal in California, and California contracts I've seen have mentioned that.


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: