News for hackers. Stuff that matters.
Re:Ask HN: Who operates at scale without containers? by tharne on Tuesday March 22, 2022 @01:33PM (#30769004)
> What works for us is to do the simplest thing that works, then iterate.

The older I get, the more often I'm reminded that this un-sexy approach is really the best way to go.

When I was younger, I always thought the old guys pushing boring solutions just didn't want to learn new things. Now I'm starting to realize that after several decades of experience, they simply got burned enough times to learn a thing or two had developed much better BS-detectors than 20-something me.

Re:Ask HN: Who operates at scale without containers? by tra3 on Tuesday March 22, 2022 @02:30PM (#30769672)
Choose boring technology [0].

For me, the choice is a trade off between the journey and the destination.

Destination is the final objective of your project, business value or whatever.

The journey is tinkering with "stuff".

Depending on the project there's value and enjoyment in both.

[0]: https://mcfunley.com/choose-boring-technology

Re:Ask HN: Who operates at scale without containers? by mateuszf on Tuesday March 22, 2022 @02:36PM (#30769745)
> Chose boring technology

Doesn't fit in this case, I'd say Nix is still cutting edge.

It may also be simple, but it's not easy (in the Rich Hickey sense).

Re:Ask HN: Who operates at scale without containers? by spicybright on Tuesday March 22, 2022 @02:50PM (#30769924)
Can you elaborate more? From what I've generally heard, Nix has been a good foundation for a lot of companies.
Re:Ask HN: Who operates at scale without containers? by mateuszf on Tuesday March 22, 2022 @02:57PM (#30770011)
As far as I know the final effect is great - getting reproducible, statically linked programs.

However, learning Nix / NixOS is quite difficult - it requires a specific set of skills (functional programming, shell, Nix building blocks which you can learn from existing Nix code), the documentation is lacking, error messages are cryptic, debugging support is bad.

Re:Ask HN: Who operates at scale without containers? by Ericson2314 on Tuesday March 22, 2022 @03:54PM (#30770680)
Yeah Nix is why "choose boring" is a bit of a misnomer.

The truth is tautologically unhelpful: choose good technologies.

Most people have trouble separating snake oil and fads from good things, so old/boring is a safe heuristic.

Nix is not boring, but it is honest. It's hard because it doesn't take half measures. It's not an easy learning curve gaslighting to you to a dead end.

But taste in choosing good technologies is hard to teach, especially when people's minds are warped by a shitty baseline.

Re:Ask HN: Who operates at scale without containers? by tharne on Tuesday March 22, 2022 @04:11PM (#30770881)
> It's not an easy learning curve gaslighting to you to a dead end.

This is a really good way of describing a certain type of technology. I'm stealing this line.

Re:Ask HN: Who operates at scale without containers? by Ericson2314 on Tuesday March 22, 2022 @07:02PM (#30772724)
Please do! In this current era of VCs loving developer tool businesses, we are seeing a whole lot of this!
Re:Ask HN: Who operates at scale without containers? by mountainriver on Tuesday March 22, 2022 @05:21PM (#30771733)
Thank you, I’ve always hated the Boring Technology idiom. The right tool doesn’t have to be boring, but it certainly can be
Re:Ask HN: Who operates at scale without containers? by charcircuit on Tuesday March 22, 2022 @05:29PM (#30771814)
Nix isn't a good option for developing rails applications. The nix ecosystem doesn't have good support for ruby meaning you will waste a lot of time and run into a lot of issues getting stuff to work. That's not boring. An example of being boring would be using Nix for something like C where the ecosystem around it is already built up.

I was really pro Nix at the time I took on a rails project and it caused many problems for my team due to Nix just not having good support for my use case. If I could go back in time I would definitely choose something else.

Re:Ask HN: Who operates at scale without containers? by Ericson2314 on Tuesday March 22, 2022 @07:01PM (#30772712)
Please check out https://github.com/NixOS/rfcs/pull/109 !

I absolutely agree language-specific package managers need better support. Nix RFC 109 is a simple-stupid way to get some "important from derivation" in Nixpkgs, so we can collectively dogfood them "lang2nix" tools and finally make them good.

It is really sad to me that many users understandly think "hmm, C is crazy, surely this Nix should be even better with more uniform language ecosystems packages!", only to die on the hell of the lang2nixs all being just not quite good enough. This is huge stumbling block for developement shops that try to use Nix that I want to see removed!

Re:Ask HN: Who operates at scale without containers? by dqv on Tuesday March 22, 2022 @06:26PM (#30772419)
What was the problem you were having with Ruby (on Rails) and Nix? It wasn't ergonomic for me, but I was able to get things to work.
Re:Ask HN: Who operates at scale without containers? by charcircuit on Tuesday March 22, 2022 @07:18PM (#30772868)
I think one of the main issues was depending on a custom gem. And then something about sandboxing, and outdated things being cached (maybe this was just a rails thing though). Also setting up rails project was convoluted. It was just obvious that there wasn't much time devoted towards that use case of Nix.

The rails support was more of just to handle packaging existing software as opposed to being good for a development environment.

Re:Ask HN: Who operates at scale without containers? by debaserab2 on Wednesday March 23, 2022 @03:04AM (#30775792)
What do you mean exactly? At the end of the day, rails is just a collection of ruby gems. If nix has first class support for ruby and Gemfiles in theory there shouldn't be a ton of problems.

I've not used Nix so I legitimately don't know (but I am quite interested in it)

Re:Ask HN: Who operates at scale without containers? by Ericson2314 on Wednesday March 23, 2022 @03:24PM (#30782255)
There are no fundamentals hurdles, but because we are currently prevented from properly dogfooding these tools in Nixpkgs, they tend to be unpolished in various ways, they are just used to by a few random projects in relative isolation.
Re:Ask HN: Who operates at scale without containers? by charcircuit on Wednesday March 23, 2022 @03:35AM (#30775996)
I don't remember exactly the problem since it was a couple years ago. There was a lot of issues in regards to failing to run / build rails which regarded doing special nix stuff to fix. It wasn't possible to include a custom gem from a separate directory. I had to disable some sort of sandboxing to prevent Nix from complaining. Nix kept getting in my way and as my team members were not familiar with Nix they couldn't fix it themselves. Sadly, I ruined their opinion of Nix by showing them it with this project.
Re:Ask HN: Who operates at scale without containers? by ParetoOptimal on Wednesday March 23, 2022 @02:18AM (#30775544)
The problem is that programming is about managing complexity.

Typically, technologies I see described as boring have poor features for managing complexity.

Usually with poor reasonong justify meeting some silly definition of "simple“ and "boring" that ultimately makes your life harder.

Re:Ask HN: Who operates at scale without containers? by 0x20cowboy on Tuesday March 22, 2022 @02:58PM (#30770035)
Jonathan blow had a great take on this that really spoke to me. I can’t do it justice, but paraphrasing as best I can:

Get the simple to understand, basic thing working and push the harder refactor / abstraction until later. Leave the fancy stuff for a future engineer who better understands the problem.

That future engineer is you with more experience with the actual problem.

Re:Ask HN: Who operates at scale without containers? by xmprt on Tuesday March 22, 2022 @03:04PM (#30770103)
The way I see it, I can either prematurely use the complex solution where I don't fully understand the problem or the solution OR I use the simple solution and learn why the complex solution is needed and more importantly what parameters and specific ways I can best leverage the complex solution for this specific problem.
Re:Ask HN: Who operates at scale without containers? by chousuke on Tuesday March 22, 2022 @03:22PM (#30770305)
Simple solutions are also easier to refactor into more complex solutions when the complexity becomes necessary. Going the other way is much harder.

In simple systems, you often have the option of simply throwing away entire components and remaking them because the system is simple and the dependencies between components are still clear.

Re:Ask HN: Who operates at scale without containers? by toast0 on Tuesday March 22, 2022 @03:46PM (#30770579)
Sometimes the simple solution works well enough for as long as you need a solution, too. Often times, it just works, or the problem changes, or the company changes.
Re:Ask HN: Who operates at scale without containers? by mikepurvis on Tuesday March 22, 2022 @04:57PM (#30771432)
This works well if you know you're building it all yourself regardless. I think the calculus does change a bit though if you have frameworks available in your problem domain.

Like, there's no point in scratching away at your own web CMS just to prove to yourself that you really do need Rails or Django. Especially when part of the purpose of a framework is to guide your design toward patterns which will fit with the common, preexisting building blocks that you are likely to end up needing. If you do the design separately, you risk ending up in a place where what you've built isn't really suited to being adapted to other stuff later.

For a humble example of this from myself, I built an installer system for Linux computers— initially very simple, just a USB boot, perform partitioning, unpack a rootfs tarball, and set up the bootloader. Then we added the ability to do the install remotely using kexec. Then we added an A/B partition scheme so there would always be fallback. It got more and more complicated and fragile, and the market around us matured so that various commercial and OSS solutions existed that hadn't when we first embarked on this effort. But the bigger and less-maintainable the homegrown system became, the more features and capabilities it had which it made it difficult to imagine ditching it in favour of something off the shelf. There isn't really a moral to this story other than it would be even worse if we'd built the in-house thing without doing a thorough evaluation of what was indeed already out there at the time.

Re:Ask HN: Who operates at scale without containers? by oblio on Wednesday March 23, 2022 @03:02AM (#30775781)
> That future engineer is you with more experience with the actual problem.

With the average tenure of a software developer at a company being about 2 years, that future engineer is for sure some other poor soul.

Re:Ask HN: Who operates at scale without containers? by caffeine on Tuesday March 22, 2022 @02:44PM (#30769846)
Being really good at using boring tech is better than being a noob with cool tech.

So as you get older and you get more competent, the relative benefits of boring tech grow.

Whereas if you’re a noob at everything, being a noob with cool tech is better.

If the problems are hard enough, and you are competent, you iterate on boring tech for a while to solve the hard problems, and then it becomes cool tech.

Re:Ask HN: Who operates at scale without containers? by asiachick on Tuesday March 22, 2022 @07:57PM (#30773175)
Hmmm, me, I want batteries included. Why I don't I have continuous deployment? Because that would require work doing something I don't have time to do. Why don't I have a staging server? Because more work. Why don't I have backups. Again, more work. Why don't I have metrics so I can see where my bottlenecks are? More work. Why don't I have logging? More work. Why don't I have a way to do updates without taking the servers down? No time, more work, too complicated.

Sure I can write a server in 5 lines of code but adding all that stuff is many many many person years of work and plus I'd have to go through all the learning pains of doing it wrong, crashing things, losing data, before I'd add it correctly.

I want some existing solution that domain experts already created that do things right.

It has nothing to do with "sexy/unsexy". It's unsexy to use UnrealEngine. It's sexy to write your own. But unsexy ships while sexy is spending time recreating stuff that already exists, unsexy is moving on to the actual content and shipping.

Re:Ask HN: Who operates at scale without containers? by fpoling on Wednesday March 23, 2022 @01:19AM (#30775227)
If a solution has been working for 20 years, then by Lindy effect there is a good chance it will be relevant in 20 years as well. Basically an old but still actively used software or principle implies that it has being compatible with a lot of new things in past and, as such, is rather universal.

With new software one does not know if it is the one that will survive challenges from even newer software.

Re:Ask HN: Who operates at scale without containers? by api on Tuesday March 22, 2022 @07:51PM (#30773132)
Re:Ask HN: Who operates at scale without containers? by kitd on Wednesday March 23, 2022 @04:50AM (#30776400)
The simplest thing for "dev" is not necessarily the simplest thing for "ops" though.

I'm in my late 50s and been developing for 35 of them. Honestly, containers are not rocket science and solve a mountain of ops-type problems simply.

If you really are only developing a single instance to be deployed in-house, then you may find you don't need them. But as soon as your instance might possibly get exposed to more than one environment, they're a no-brainer for me.

Re:Ask HN: Who operates at scale without containers? by ironmagma on Tuesday March 22, 2022 @10:43PM (#30774262)
The thing is, “simple” is not trivial to discern. What looks simple to a beginner may look quite hard to maintain to an experienced dev. “GOTO” being the obvious example.
Re:Ask HN: Who operates at scale without containers? by usaphp on Tuesday March 22, 2022 @02:05PM (#30769365)
Or it could be that you just became old and don't want to learn new things anymore ))
Re:Ask HN: Who operates at scale without containers? by rattlesnakedave on Tuesday March 22, 2022 @04:41PM (#30771238)
This certainly seems more common. Every time I’ve had to refactor 20 year old cruft it’s been because of engineers with the launch-and-iterate mentality 20 years ago, that stopped caring about the “iterate” part once they gained enough job security.
Re:Ask HN: Who operates at scale without containers? by hkt on Tuesday March 22, 2022 @08:16PM (#30773301)
Blaming the engineers rather than the businesses seems.. odd. It isn't like the people writing that code had control over what the company set as priorities. If anything, what you experienced seems to be a reflection of corporate short termism.
Re:Ask HN: Who operates at scale without containers? by dylan604 on Tuesday March 22, 2022 @09:23PM (#30773778)
Quite right. The devs probably had a bunch of "TODO: This can be refactored" through out the code or at least mentally stored, yet the pointy haired bosses decided it was good enough and re-assigned the devs to other tasks.
Re:Ask HN: Who operates at scale without containers? by ironmagma on Tuesday March 22, 2022 @10:45PM (#30774276)
That dichotomy falls apart because engineers are part of the business. If the business wants to do something but the engineers won’t do it, it won’t happen.
Re:Ask HN: Who operates at scale without containers? by basisword on Tuesday March 22, 2022 @02:32PM (#30769687)
Or their experience helps them have the wisdom to determine which new things are worth learning and which are a waste of time.
Re:Ask HN: Who operates at scale without containers? by CuriouslyC on Tuesday March 22, 2022 @03:57PM (#30770716)
Some old things really are better, or at least not worse and already familiar.
Re:Ask HN: Who operates at scale without containers? by goodpoint on Tuesday March 22, 2022 @02:17PM (#30769516)
Such "new things" are just a big bunch of unnecessary complexity.
Re:Ask HN: Who operates at scale without containers? by ParetoOptimal on Wednesday March 23, 2022 @02:22AM (#30775558)
> Such "new things" are just a big bunch of unnecessary complexity.

By definition the "old things" you use would also be "just a big bunch of unnecessary complexity" since they were once new.

Re:Ask HN: Who operates at scale without containers? by repomies69 on Tuesday March 22, 2022 @02:41PM (#30769812)
Sometimes yes. But it is impossible to know for sure. New things still get adopted, some of those new things actually stick and provide value
Re:Ask HN: Who operates at scale without containers? by spicybright on Tuesday March 22, 2022 @02:52PM (#30769947)
And at the very least, being old lets you be able to evaluate these new things more accurately.
Re:Ask HN: Who operates at scale without containers? by goodpoint on Tuesday March 22, 2022 @05:39PM (#30771918)
It obviously does, but experience is not the only way: you can always read what people wrote and did in the past. It only takes some humility.
Re:Ask HN: Who operates at scale without containers? by selcuka on Tuesday March 22, 2022 @08:04PM (#30773235)
You can, and it will certainly help, but as the old saying goes "unfortunately no one can be told what the Matrix is, you have to see it for yourself". In some contexts no amount of reading will give you the insight that experience does.
Re:Ask HN: Who operates at scale without containers? by spicybright on Wednesday March 23, 2022 @01:23PM (#30780925)
And vice versa, too (granted my own learning style leads me to implementing what I read in little test projects, but I digress)

Overall though, I'm finding the more unique sensory info you give your brain, the better it gets at solving problems in general. Even if that info isn't very related to your goal.

It's a bit like trying not to be a hammer that sees everything as a nail.

Re:Ask HN: Who operates at scale without containers? by rattlesnakedave on Tuesday March 22, 2022 @04:46PM (#30771312)
How?
Re:Ask HN: Who operates at scale without containers? by rattlesnakedave on Tuesday March 22, 2022 @04:46PM (#30771305)
Or is cope for a loss of neuroplasticity? Has to be evaluated case by case. “Experience” doesn’t count for much when evaluating new technical tooling. Landscape shifts far too much.
Re:Ask HN: Who operates at scale without containers? by tomc1985 on Tuesday March 22, 2022 @05:24PM (#30771759)
The landscape doesn't need to shift nearly as often as it does. But we are an industry obsessed with hiring magpie developers as cheaply as we can, and those magpie developers demand cool merit badges to put on their resumes, and here we are.

"Everything old is new again" does not BEGIN to do tech justice. Compared to nearly every other profession on the planet, tech knowledge churn is like 10x as fast.

Re:Ask HN: Who operates at scale without containers? by goodpoint on Tuesday March 22, 2022 @05:35PM (#30771869)
> tech knowledge churn is like 10x as fast.

Spot on! Moreover, every time the wheel is unnecessarily reinvented previous lessons are lost.

What is even worse is that people really want to reinvent the wheel and get defensive if you point that out.

Comments like "Or is cope for a loss of neuroplasticity" are a good example.

Re:Ask HN: Who operates at scale without containers? by tomc1985 on Tuesday March 22, 2022 @05:44PM (#30771973)
It's outright naked ageism.

I have been studying a different trade, completely unrelated to software engineering or tech, and by far the weirdest thing is reading books or watching seminars from 20 or 30 years ago that are still relevant. How much of technology writing has that honor? Very little.

Like I have been obsessed with tech and computers my whole life, I studied computer stuff when all the other kids were outside playing football or chasing girls or whatever, I self-taught to a very high level of expertise and that knowledge has just been getting systematically ripped away. Which is fine, to an extent, gotta embrace change and yada yada yada. But I no longer have the patience to grind to expertise-level on something over a period of years only to find out the industry has moved on to something completely different to do the exact same thing! All because some starry-eyed shit somewhere in FAANG doesn't like something!

Re:Ask HN: Who operates at scale without containers? by iamstupidsimple on Wednesday March 23, 2022 @07:26AM (#30777324)
The vast majority of computer science lectures from 20 years ago are still relevant. A ton has changed in terms of frameworks but the fundamentals are mostly the same.
Re:Ask HN: Who operates at scale without containers? by goodpoint on Wednesday March 23, 2022 @12:44PM (#30780405)
20?! More like 60 or 70, especially if around distributed systems and Dijkstra's work in general. [1]

It's amazing how some people are familiar with every framework of the month and don't understand how a computer works...

[1] https://en.wikipedia.org/wiki/List_of_important_publications...

Re:Ask HN: Who operates at scale without containers? by tomc1985 on Wednesday March 23, 2022 @03:12PM (#30782115)
Maybe I was in the wrong subsector of this industry but there was very little theory work in the jobs I have held. A lot of it was just reusing the same design patterns over and over again, and then scaling that out somehow.

I did not mean my comment to say that seminal works in CS theory are useless, just that most of the books published in this field cover more practical matters and they tend to age very quickly. Like I have an e-bookshelf full of Packt freebies back when they did that, and those books aren't really that useful now unless I want to start on an old version of something.

Re:Ask HN: Who operates at scale without containers? by tomc1985 on Wednesday March 23, 2022 @09:14AM (#30778114)
It is, but it isn't. Besides, from my vantage point almost all the work is herding frameworks of some kind. Maybe I need to get out of web tech and into something else.
Re:Ask HN: Who operates at scale without containers? by tomc1985 on Wednesday March 23, 2022 @11:19AM (#30779354)
One other point (since I can't edit): none of the used bookstores I am aware of take old technical books. Even the good ones (because they don't know and just see another tome that will likely sit on a shelf and collect dust)
Re:Ask HN: Who operates at scale without containers? by tomc1985 on Tuesday March 22, 2022 @05:23PM (#30771745)
Such ageism.
Re:Ask HN: Who operates at scale without containers? by jenkstom on Tuesday March 22, 2022 @02:43PM (#30769842)
This is the antivax sentiment of the IT world. It's new! It's shiny! Give me some Ivermectin because I know things other people don't! (Yes, I realize you're probably joking. I'm not, particularly.)
Re:Ask HN: Who operates at scale without containers? by nurettin on Wednesday March 23, 2022 @01:19AM (#30775228)
It's like you're just repeating the last inane discussion YouTube got you hooked on in order to get some ad clicks.
Re:Ask HN: Who operates at scale without containers? by ThePowerOfFuet on Tuesday March 22, 2022 @02:52PM (#30769951)
What does ivermectin have to do with anything? Are you suffering from chronic parasitic infection?
Re:Ask HN: Who operates at scale without containers? by rattlesnakedave on Tuesday March 22, 2022 @04:44PM (#30771273)
You have it reversed. “I don’t want the new vaccine! Who knows what the long term side effects are!” is equivalent to the technical curmudgeon. The voluntary early trial test group are the bleeding edge tech people. The Ivermectin crowd is the guy that suggests rewriting the backend in Haskell for no good reason.