It has one? I use ublock origin and have javascript disabled by default. The article is readable with no annoying anti-adblock with javascript disabled ;)
I found TXR to be a nice tool for the situation when:
The problem is that I never seem to use it often enough to entirely remember it (unlike jq which I use regularly). If it had convenient mangling of YAML and JSON it would probably become the first tool I reach for.
Crash, not accident. Accident implies it’s without fault or somehow unavoidable. There are accidents but I’m not sure this is one.
That said, I have over 150,000 miles on motorcycles and close to three times that driving cars but I am approaching 50 and my night vision has declined. Based on the video, I am not sure that I could reacted effectively, either hit the brake or swerved or both in the ~2.5 seconds between visibility and crash but I am sure that my experience would have me slow a little and scan more. I am highly skeptical that the vehicle sensors are worse than my eyes.
Home:
Work:
[1] Actually, years ago I set myself an annual goal: learn one technology-related thing outside work and one personal thing (skill, habit, etc.). It’s a pretty low bar but makes me feel good about myself.
We didn’t have a culture where people actually followed that. You could have a do not disturb time but people would interrupt you anyway. A couple of us started making fake meetings just to get some time to code.
A couple of us started making fake meetings just to get some time to code.
It’s a good trick, I’ve been doing this for years so I could make sure I got lunch and time to do work.
Wow. These comments, and the recent thread about maybe not working long hours, paint a bleak picture of current work practices in the US.
I actually got the different answer. I was using slack as a message queue, when I saw a coworker that I wanted to distract, I’d slack them (via the app) and wait for an answer, but they actually prefered me to come to talk to them and bother them.
I found this weird but complied…
If you read the article, notifications are only a very small part of the problem. The author was speaking about wide scale effects happening at the organization level.
This. So much this. I know that the discussion can take different forms and sometimes there are also larger organizational issues at play. But with that said, I think people often forget that they can disable notification on devices. I’ve seen co-workers across two companies leave notifications on for every single message in a channel (yes, you read that correctly) and with sound nonetheless. It baffles me.
macOS comes with a built-in Do Not Disturb mode. Slack lets you configure your notifications so that you’re not getting notifications for each single message across a bajillion channels.
[Slack] normalizes interruptions, multitasking, and distractions, implicitly permitting these things to happen IRL as well as online. It normalizes insanely short reply times for questions. In the slack world people can escalate from asking in a room to @person to @here in a matter of minutes. And they’re not wrong to – if your request isn’t handled in 5 minutes it’s as good as forgotten.
Somewhere along the way we forgot that interruptions are toxic to real work. It wasn’t always this way. On day 1 of my first trading job the only instruction I received was ‘when the market is open, mute your phone.’ The subtext was ‘or else’. If someone said this to me today I’d give them a hug, and I’m not a hugger.
I think people need this reminder today. Outside of work I see people with group chats on their phones (be it Facebook, Twitter, Hangouts, whathaveyou) that bleeps and bloops without rest. I can’t imagine living in that world.
If you are doing something somebody will pay for, then that means that whatever you are doing is good for that somebody, otherwise why would he pay for it. So the more money you make, the more meaningful your activity is.
So the more money you make, the more meaningful your life is. Don’t trust your brain internal measure of meaningfulness, it was evolved when we were hunter-gatherers and it is incapable of correctly measuring meaningfulness of your activities in the modern world. Trust your bank accounts or crypto-wallets.
Some people think that giving food to random starving children around the world is ‘meaningful’, but it’s not. You are just doing genetic socialism and propping up bad reproductive strategies that are proven to not work. In continuing to propagate the information embedded in the DNA of those starving children, you are actually allowing the bad strategy to be more widely implemented, and thus making the problem you are trying to solve worse. And what does your bank account say? It says you have less money. Brain: 0, Bank account: 1
But that’s just one way of defining ‘meaningful’.
In reality life in inherently meaningless. You have been lucky (or unlucky) to be born into a time and place of plenty that allows you to ask yourself a question with no answer. If you had been born in a pre-industrial farming community, then you only care about surviving the next winter. You have no time for such pointless thought processes as asking yourself what is a ‘meaningful’ life.
You can try reading philosophies but those are just the rambling non-answers of those who came before you who asked the same question.
You are just a robot who was built to replicate information embedded in DNA. You by accident was given a nervous system capable of asking questions like “What is the meaning of life?” and “How do I live a meaningful life?”. Those questions are just syntactically correct enough to convince you that they are meaningful questions, but they are not.
Don’t worry though, sooner or later your children will come home from school and your neural “let’s make sure the children are well so they will propagate my genes” system will fire and you will forget about all these silly questions.
Life is without meaning, and any attempt to find one is just your mind incapable of accepting the fact that you are mortal and small, and wanting to be large and forever.
This perspective is vulgar:
Some people think that giving food to random starving children around the world is ‘meaningful’, but it’s not. You are just doing genetic socialism and propping up bad reproductive strategies that are proven to not work.
Social Darwinism is a sickness.
Social Darwinism is a sickness.
That is strange, when it is essentially impossible for natural selection to not apply to humans. If an all pervasive and always applicable by definition effect is a sickness, then the word sickness has such weak boundaries on its definition as to render it pointless as a word.
What you might call a “sickness” is the tendency to over-simplify important and complex issues in the real world into a few convenient logical predicates and them arrive at serious conclusions, which if taken seriously, would result in actual people actually suffering.
I also once were a robot like you, but then I realized that the real world is many orders of magnitude orders of magnitude more complicated than I could ever hope to analyze or even observe, so I’ve learned to trust my hard-evolved feelings to take care of the complexity, and I only use my logic to choose between the alternatives that feel right relying on the predicates that feel right. As a matter of fact, anything that involves people suffering has a very little chance of feeling right.
If I witnessed a wolf chasing a cute rabbit, I’d probably save the rabbit if I had the means. But if I had the means to save all rabbits from being eaten by all predators, I’d definitely not do it since it’d have a terrible impact on the environment. But then, if you came to me and convinced me, through logical arguments, that saving that one rabbit from that wolf will have a significant negative impact on anything I care about, my feelings about the former issue could change and I could let the wolf eat the rabbit.
Now, hypotheticals aside, there’s no universe in which I could be convinced that children dying from starvation could be the solution to anything. Even if you made very good arguments about why them not dying from starvation would cause something very bad, I’d still try infinitely many ways to find other means of avoiding that very bad thing. But children dying from starvation is off the table. In general, convincing me to support the suffering of people would take far more that some juvenile arguments coming from an extremely simplified and naive interpretation of the very complex phenomenon that is evolution.
You don’t get the point, I’m not pushing that wolf to starvation by stopping it from eating that rabbit. It has a whole forest to hunt. If the circumstances were such that me saving that rabbit means certain starvation for that wolf, I’d feel differently about the issue. To save you the trouble, you really should stop wasting your energy trying to come up with simplified dilemmas to draw logical arguments about complicated situations. And that’s actually my whole point. Logic is an illusion, it’s a tool our pathetic brains use to overcome our inability to conceive even a tiny fraction of the world around us.
Logic is an illusion,
well if you reject logic, then what tool do I have to argue against you? My feelings?
Since we’re really talking in metaphor, I wouldn’t just chase it away, I’d kill it. You have failed to understand the role and nature of social interaction. You will be discarded, just as you have discarded others unless you change.
It’s funny given your ideas on genetics if you were right you’d be the defective one because failing to realize social implications is a pretty obviously material defect. Thank goodness you’re wrong because you’re totally uninformed about modern science. You can improve!
I used to engage in this sort of nihilism and it was a sad and depressing way to live, so I sympathise, fellow robot. That’s the trouble with too much logic and not enough context (indeed, how robotic!). Once I learned that my conclusions hinged on blatantly false unexamined assumptions, I was able to shift my views to something more constructive.
Having children doesn’t stop questions about meaning, by the way.
Once I learned that my conclusions hinged on blatantly false unexamined assumptions,
Now if only you would be so kind as to state those false assumptions and why they are false, I would be enlightened.
But you chose not to.
I thought it rather unlikely that you would be enlightened by a stranger on the internet. It was far more likely to result in a pointless argument.
Anyway, for me there were two primary false assumptions:
Once I got rid of these assumptions, it turned out that contributing to the sustainable future of the human race or ensuring that I personally see a continuation of my family is actually pretty meaningful if I let it be meaningful. Even better, it aligns well with what it means to be a human robot, as you suggested regarding DNA propagation.
You are just doing genetic socialism and propping up bad reproductive strategies that are proven to not work.
There’s something odd about someone calling themselves libertarian but espousing racial collectivism. Or is your username meant to be ironic or something?
Life is without meaning, and any attempt to find one is just your mind incapable of accepting the fact that you are mortal and small, and wanting to be large and forever.
This may be true.
Don’t worry though, sooner or later your children will come home from school and your neural “let’s make sure the children are well so they will propagate my genes” system will fire and you will forget about all these silly questions.
This is completely false.
They aren’t a libertarian just like the nazis weren’t national socialists. It’s just a way for them to spout bullshit and hope naive libertarians will buy in to it without questioning the line of reasoning. While I do have reservations about libertarian ideology, this person is just a classist racist bigot and frankly has no place on lobsters. I’ve yet to see anything they’ve spouted to actually be libertarian anyway.
There’s something odd about someone calling themselves libertarian but espousing racial collectivism.
You are clearly projecting here because there’s nothing racial about my comments.
This user probably isn’t worth replying to. Expect to be sealioned to hell.
I never said they are inferior, but that the reproductive strategy embedded within their DNA has proven to fail by the very fact that they are starving.
You really are projecting.
I intended to stay out of this but there’s nothing genetic about any of:
These are exactly the sorts of situations that produce the kind of human suffering that people respond to with generosity. You might argue that in some cases aid perversely subsidizes and supports corrupt regimes and allows the situations to fester that prevent these people from having a reasonable life longer than if there were no aid and the society/state collapsed (with an even greater degree of short-term misery) but it’s not “embedded within their DNA”.
Restating OP’s argument, “Fuck them, they’re unlucky. Let them die out of my sight and don’t you help them because they’re undeserving by virtue of being unlucky. Now go tend to your lucky off-spring.”
If maintaining a popular free and open source software project is producing stress… don’t do it!
Really, just stop. Maintaining it, I mean. Unless you have contractual obligations or it’s a job or something, just tune it all out. Who cares if people have problems. Help if you can, help if it makes you happy, and if it doesn’t, it’s not your problem and just walk away. It’s not worth your unhappiness. If you can, put a big flag that says “I’m not maintaining this, feel free to fork!” and maybe someone else will take it over, but if they don’t, that’s fine too. It’s also fine if you don’t put a flag! No skin off your nose! You don’t owe anything to anyone!
Now I’m gonna grump even more.
I think this wave of blog posts about how to avoid “open source burnout” and so forth might be more of a Github phenomenon. The barrier to entry has been set to too low. Back in the day, if you wanted to file a bug report, you had to jump through hoops, and those hoops required reading contributor guidelines and how to submit a bug report. Find the mailing list, see which source control they used (if they used source control), see what kind of bug tracker they used (if they use one), figure out a form to see what to submit where… Very often, in the process of producing a bug report that would even pass the filters, you would even solve the problem yourself or at the very least produce a very good bug report that nearly diagnosed the problem.
Now all of this “social coding” is producing a bunch of people who are afraid of putting code out there due to having to deal with the beggar masses.
Just don’t.
I totally agree that your own needs are the top priority if you are an OSS provider. Nobody has a divine right to your time.
I do think that having people be able to report bugs easily is really good. For even relatively small projects, this also serves as a bit of a usability forum, with non-maintainers able to chime in and help. This can give the basis for a supportive community so the owner isn’t swamped with things. Many people want to help as well.
Though if this is your “personal project”, then it could be very annoying (I think you can turn off issues in GH luckily?).
Ultimately though, the fact that huge projects used by a bazillion tech companies have funding of around $0 is shameful. Things like Celery, used by almost every major Python shop, do not have the resources to package releases because it’s basically a couple people who spend their time getting yelled at. We desperately need more money in the OSS ecosystem so people can actually build things in a sustainable way without having to suffer all this stress.
Hard to overestimate how much a stable paycheck makes things more bearable
“Back in the day, if you wanted to file a bug report, you had to jump through hoops”
This is where I disagree. Both maintainer and other contributors’ time are valuable. Many folks won’t contribute a bug report or fix if you put time wasting obstacles in their path. Goes double if they know it was there intentionally. I remember I did one for Servo on Github just because it was easy to do so. I didnt have time to spare to do anything but try some critical features and throw a bug report on whatever I found.
I doubt Im the only one out there that’s more likely to help when it’s easy to do so.
This is where I disagree. Both maintainer and other contributors’ time are valuable.
!!!!!
I remember I did one for Servo on Github just because it was easy to do so. I didnt have time to spare to do anything but try some critical features and throw a bug report on whatever I found.
@manishearth, who set up http://starters.servo.org, dropped this very nice sentence about contribution: “People don’t start out serious, they start out curious.”
The problem is that projects don’t survive on such drive-by fixes alone. Yes, you fixed a bug and that’s a good thing, but the project would probably still run along just fine without that fix. And you never came back. In the long term, what projects have to care about are interested people who keep coming back. The others really don’t matter that much.
I think this is a bit like a consumer acquisition funnel.
Every contributor first started off by providing a drive-by fix. If they do it enough, now they’re contributing a lot. Now you have full-time contributors.
Sure but the question was about how high the bar for such drive-by contributions can be while still keeping a project healthy, based on the premise that making drive-by contributions too easy can result in toxic community behaviour overwhelming active maintainers.
The “height of the contribution bar” as quality control is - in my experience - a myth. The “denying low quality contributions” is not.
I’ll explain why: the bar to unfounded complaints and troll is always very low. If you have an open web form somewhere, someone will mistake it for a garbage bin. And that’s what sucks you down. Dealing with those in an assertive manner gets easier when you have a group.
The bar to attempting contribution should be as low as possible. You’d want to make people aware that they can contribute and that they can get started very easily. You will always have to train - projects got workflows, styles, etc. that people can’t all learn in one go. Mentoring also gets somewhat easier as a group.
Saying “no” to a contribution is a hard. Get used to it, no one takes that off you. But it must be done.
Also, there’s a trend to have people voicing their frustrations blamed as “no respecting the maintainers”. There’s pretty often complaints that have some truth in them. Often, a “you’re right, can we help you with fixing it on your own?” is better then throwing stuff screenshots on Twitter.
I agree with you but quality control is, again, a separate question. I wasn’t talking about quality control. The question is about how to best attract only those people with an appropriate kind of behaviour that won’t end up burning out maintainers, and whether a bar to contribution can factor into this.
I think JordiGH’s point was that if someone has to jump through some hoops to even find the right forum of communication to use (which mailing list and/or bug tracker, etc.), just by showing up at a place where maintainers will listen a contributor shows they have spent time and enganged their brains a bit to read a minimum necessary amount of text about how the project and its community works. This can be achieved, for instance, with a landing page that doesn’t directly ask people to submit code by pushing a simple button, but directs them to a document which explains how and where to make contributions.
If instead people can click through a social media website they sign up on only once and then have their proposed changes to various projects appear in every maintainer’s face right away with minmal effort because that’s how the site was designed, it’s no surprise that mentoring new contributors becomes relatively harder for maintainers, isn’t it? I mean, seriously, blog posts about depressed open source maintainers seem to mostly involve people using such sites.
Id considered this but do we really have data proving it? And on projects trying to cast a wide net vs those that dont? I could imagine that scenario would be fine for OpenBSD aiming for quality but Ruby library or something might be fine with extra little commits over time.
I think you’ll always need at least one developer dedicated enough to give the project a home, integrate changes, drive releases, and so on.
A pile of drive-by patches and pull requests with nothing holding them together is not a “project”.
Edit: BTW you said “extra little commits” and i said “drive-by fixes alone” so we may be talking past each other a bit… :)
Really, just stop. Maintaining it, I mean. Unless you have contractual obligations or it’s a job or something, just tune it all out. Who cares if people have problems. Help if you can, help if it makes you happy, and if it doesn’t, it’s not your problem and just walk away. It’s not worth your unhappiness. If you can, put a big flag that says “I’m not maintaining this, feel free to fork!” and maybe someone else will take it over, but if they don’t, that’s fine too. It’s also fine if you don’t put a flag! No skin off your nose! You don’t owe anything to anyone!
Totally. In this scenario, you should just quit cold turkey.
The rest of the post is more advice that I’ve found myself giving multiple times to people who do want to keep maintaining the project, or be active in their larger community, but aren’t super focused on that particular library anymore.
There’s a lot of poor communication out there with unstated assumptions on each side for relationships not just open source and that drives a lot of frustration and resentment. There are dozens of books on the subject in the self-help aisle of bookstores. The points in the article are all good advice but I think the best advice is to make it clear what on terms you volunteer your work and not be ashamed to say “I don’t want to do this but feel free to do it or fork it” if it’s not scratching your itch.
Personally, I’ve turned away issues resulting from old and on bleeding-edge compiler or library releases and on OS’s or equipment I don’t run (doesn’t behave on Windows XP? doesn’t work with Chinese clone of hardware? Hell if I know…)
I’m sure the $250M USD is nice but damn that’s bad news for folks who are not interested in getting onboard with OpenShift.
Slanty face for a layoff? Seems to have been a few people in my extended networks hit in the last two weeks. Nobody seems to be having an issue finding a new gig but that is still a slap in the face.
Not a layoff. The project I’m on is circling the drain and I don’t know if I can keep up the facade and stay on the ride until upper management kills it.
I disagree on every point except that a well-researched post is of higher value than a chaotic discussion thread. The link does usually cause me to go read the entire thread, the link is an acceptable starting point for discussion, I am capable of ignoring the meta-discussion of their communication style (though I sometimes enjoy reading that), and, finally, I don’t care what other sites do.
I’m not sure that the resume matters in a hiring environment dominated by keyword search and Linkedin aside from having one that is presentable after the conversation has begun. However, I invest a lot in my personal resume and have a fairly traditional structure:
As a hiring manager I like to see and as an applicant I try to write concrete quantifiable “W outcome using X to do Y for Z”, ex. “Reduced B2B execution time by 15%, reduced error rate by 9%, and increased ROA by 4% by designing and developing keyword-based replacement for business_unit some_function”, that show not just that there was work but also value and the purpose for the work.
re: LinkedIn being a “hiring environment”, I’m constantly hearing (in the Lobste.rs LI group, for example) people complain about getting harassed by recruiters and the like, but not once has that happened to me. Every once in a while, the thought crosses my mind “that’s probably because you’re fundamentally unhirable – don’t quit your job!” which I quickly dismiss, but this time I’ll ask: is this more common to the more senior folks, or maybe more of a matter of location (not in the US)?
the thought crosses my mind “that’s probably because you’re fundamentally unhirable – don’t quit your job!” which I quickly dismiss,
I don’t know you but it’s probably not that. I also don’t know what other people’s threshold is for feeling “harassed”. I get a few inquiries a week across all of the job sites, most of them are dismissible low-quality hits (no, I would not like a three month entry-level contract in the rust-belt of the U.S., go away) or rookies trying to swell their contacts and I block or unsubscribe from those. I do freely connect with in-house or well-connected recruiters even if I’m not currently interested and those bring up something intriguing a couple of times a year. I don’t job hop.
but this time I’ll ask: is this more common to the more senior folks, or maybe more of a matter of location (not in the US)?
I believe it’s several things: connections and the network of their connections, the industries you’ve worked in, keywords/technologies, and location.
I didn’t start getting cold-contacted by recruiters until I was 5-6 years into my career, but since then the frequency has grown pretty continually.
Sometimes I have no idea how they got my phone number, other times they pull my email from git commits… It’s not super frequent but I find it a bit creepy to take my email address from a commit to some OSS project and use it for an unrelated for-profit enterprise.
I’ve had, at most, two calls from recruiters. One was someone I used at a previous engagement, the other I have no idea. I use various email addresses and plus addressing (where accepted by whatever vetting is in place) to track where things come from. I generally give out a VoIP number configured with an automated attendant to a mailbox and forwarding group so I can vet calls.
That is extremely harsh. Mistakes happen; I would suggest two strikes, assuming the deficiency in the original posting is rectified immediately.
Given how often people spam bad job postings, and given how basic that information is, I think it is reasonable.
If you put up a sloppy posting, you are wasting the time and being disrespectful to all the people who have to parse through it. If you are unwilling to proof it for those four things, you should be banned.
I’m pretty tired of recruiter shenanigans, but this got upvoted strongly, so I’m rewriting it to say “it will be deleted.” We can reserve banning for repeat offenders, and hopefully it won’t come up.
I think part of the problem is you desire to run this site with an iron fist and that’s really not needed. We’re all mature and have been vetted through the invite process, there is no need to be the über admin. Instead this site needs something akin to a caretaker.
I think part of the problem is you desire to run this site with an iron fist and that’s really not needed.
I think this is being unfair to @pushcx. The only “iron fist” thing he did in the past month was ban a person calling for a race war, which IMO was long-overdue. Everything else was quality of life adjustments like merging dupes and removing off topic content, and I for one am glad they’re done.
We’re all mature and have been vetted through the invite process, there is no need to be the über admin.
The invite process isn’t really a vetting process. It means you either 1) knew a person who already had an account, or 2) went on the IRC channel and demonstrated that you know tech stuff (which is how I got an invite). It doesn’t filter for maturity or decency.
I agree.
I’ve occasionally floated semi-public postings over the years when I was not ready to divulge the company name until the req was actually public and in all cases salary was listed as “competitive”.
I’d say that “competitive” really means “negotiable” which can be off-putting and doesn’t bracket it. It was only for junior hires that I had a solid range rather than a floor.
I think the company name is vital because it allows people to look up lots more information.
For salary range, “competitive” is used by everyone but non-profits, so it doesn’t mean anything. And all salaries are negotiable, so again, that doesn’t convey any information.
There are plenty of places you can post those listings and far fewer places where you can escape them. It’s nice for this group to be one of the latter.
GNU Autotools: just kill this horrific pile of garbage with fire. Especially terrible when libtool is used. Related: classic PHK rant.
CMake: slightly weird language (at least a real language which is miles ahead of autocraptools), bad documentation.
Meson: somewhat inflexible (you can’t even set global options like b_lundef conditionally in the script!) but mostly great.
GYP: JSON files with conditions as strings?! Are you serious?
Gradle: rather slow and heavy, and the structure/API seems pretty complex.
Bazel/Buck/Pants (nearly the same thing): huge mega build systems for multiple languages that take over everything, often with little respect for these langauges’ build/package ecosystems. Does anyone outside Googlefacetwitter care about this?
Grunt, Rake, many others: good task runners, but they’re not build systems. Do not use them to build.
Related: classic PHK rant.
This one is even better since its observations apply to even more FOSS than libtool. It also has some laughable details on that along with the person who wrote libtool apologizing in the comments IIRC.
FWIW: bazelbuckpants seem to be written for the proprietary software world: a place where people are hesitant to depend on open-source dependencies in general, and people have a real fear (maybe fear is strong, but still) of their dependencies and environment breaking their build. I use them when I’m consulting, because I can be relatively certain that the build will be exactly the same in a year or so and I don’t like having to fix compilation errors in software I wrote a year ago.
I’m with you on Grunt, but Rake is actually a build tool with Make-style rules and recipes for building and rebuilding files when their dependencies change. There’s a case that Rake is just Make ported to Ruby syntax. It’s just more commonly used as a basic task runner.
I think Make is also somewhat close to a task runner. It has dependencies, but not much else. You write compiler invocations manually…
It sort of has default rules for building a number of languages, though these aren’t terribly helpful anymore.
I also use Make as task runner. Mostly to execute the actual build system, because everybody knows how to run make and most relevant systems probably have Make installed in one form or another.
We use Pants here at Square, in our Java monorepo. It works quite nicely, actually. For our Go monorepo, we just use standard Go tooling, but I’ve volunteered to convert to Pants if anyone can get everyone to move to a single monorepo. They won’t, because every Rails project has its own repo, and the Rails folks like it that way.
Docker has not been very good software for my team at all. We’ve managed to trigger non-stop kernel semaphore leak bugs as well as lvm filesystem bugs. Some of them going through multiple different attempts to fix. And any attempt to try to figure it out yourself by reading their code is stymied by the weird Moby/Docker disconnect that seems to be there.
If you are thinking about running docker by yourself and not in someone else’s managed docker solution then beware. It’s very sensitive to the kernel you are running and the filesystem drivers you are using it with. As far as I can tell if you aren’t running in Amazon, or Googles docker hosted solutions you are in for a bad time. And only Amazon is actually running docker. Google just sidestepped the whole issue by using their own container technology under the hood.
The whole experience has soured me on Docker as a deployment solution. It’s wonderful for the developer but it’s a nightmare for whoever has to manage the docker hosts.
A few things that bit me:
I’m sure there are more. Overall I actually do like Docker, despite some of the weirdness. However I hate how we have k8s/marathon/nomad/swarm .. there’s no one scheduler or scheduler format and if you switch from one to the other, you’re redoing a lot of tooling, labels and config to get all your services to connect together. Consul makes me want to stab myself. DC/OS uses up 2GB ~ 4GB of ram just for the fucking scheduler on each node! k8s is a nightmare to configure without a team of at least three and really ten. None of these solutions scale up from one node to a ton easily (minikube is a hack).
Containers are nice. The scheduling systems around them can go die in a fire.
containers don’t report real memory limits
[X] we’ve been bitten by this.It also has implications for monitoring so you get double the fun.
Not enough tooling in the container.
[X] we’ve established out own baseline container images and
Weird network establishment issues.
[X] container and k8s networking was, at least until a few months ago, a mess.
Consul makes me want to stab myself.
[X] we hacked our own
without a team of at least three and really ten.
[X] confirmed, we’re throwing money and people at it.
None of these solutions scale up from one node to a ton easily (minikube is a hack).
[X] I’ve thrown up my hands on having a working developer environment without running it on a cloud provider. We can’t trust minikube to behave sufficiently similarly as staging and production.
Containers are nice. The scheduling systems around them can go die in a fire.
I’m not even sure containers are that nice, the idea of containers is nice but the execution is still half-baked.
Why do you need so many people to operate kubernetes well? And what is it enabling, to make that kind of expenditure worth it?
We’re developing a commercial turn-key, provider-independent platform based on it. Dog-fooding our own stuff has exposed many sharp bits and rough edges.
I’ve had a positive experience with Triton. It doesn’t support all of Docker’s features, since like Google they opted for emulating Docker and apparently decided some things weren’t having, but for the features Triton does it Just Works.
Of course, that means getting used to administering a different ecosystem.
I love the idea of Triton, but having rolled it out for a past position I worked at I can say honestly that I would not recommend it. There is no high-availability for many of the internal services by default (you need to roll your own replicas etc), there is no routing across networks (static routes and additional interfaces in every instance is not a good solution). I love Joyent as a company, and their products have a great hypothetical appeal to me as a technologist but there are just too many “buts” to justify spending the kind of money they charge for the solution they offer.
I’m just curious how old the version of Triton was, because it has had software-defined networking for ~3 years or so. Was there a limitation with it?
That stinks, but sounds more like a critique of the Linux kernel? Are you running anything custom?
Newer Docker defaults to overlayfs (no more aufs), and runs fine for us on stock Debian 9 kernels (without the extra modules package, or any dkms modules). This is both on bare metal and the AMIs Debian provides. Though we run on plain ext4, without LVM.
My experience is purely anecdotal so shouldn’t be taken as more than that.
However we aren’t on anything custom. Running latest CentOS kernels for everything and we keep it patched. The bugs aren’t in the linux kernel. It’s the way docker does things when it sets up the cgroups and manages them. My early experimentation with other container runtimes seems to indicate that they don’t have the same problems.
Just searching for the word hang in the moby project shows 171 open bugs and 521 closed. Most of them from a cursory examination look very similar to our issues. For us the tend to manifest as a deadlock in the docker engine which then causes the managed containers to go unhealthy and start a reboot loop. We’ve had to have cronjobs run and kill the docker daemons periodically in the past to keep things up and running.
Maybe there are bugs in the way Docker sets up cgroups too, but you mentioned kernel semaphore leaks and LVM bugs which seem to be squarely in the kernel? Which seems to track to me - I know when systemd started exposing all this Linux kernel-specific stuff, they were the first really big consumer so they also exposed lots of kernel bugs.
Org could be one component of a solution for this, but on its own it lacks: a way to edit via mobile/other devices, any means of uploading images, a blessed rendering path (there are many ways to render/export org files into something for display).
For instance, one solution might be to use Org’s “publish” feature. You could render to HTML, push that to some web host somewhere with rsync (that handles viewing on other/mobile devices). For editing you could sync your org source files (and any org-rendered images via things like plantuml, as well as static images) with something like syncthing/git/Dropbox/Box/iCloud/OneDrive etc. in combination with a non-Emacs editing app like Beorg (iOS) or Orgzly (Android).
That would be a workable and powerful system, but I think we have to admit it’s not as simple to use as just clicking “edit” in a wiki page from something like dokuwiki/mediawiki :-)
I’ve found I don’t do any significant note editing on the phone - just capture.
So I use Google Photos + Orgzly + Syncthing + emacs. It used to be MobileOrg, and I started with org ~2005, so these files got bones.
I love orgmode and use it on and off but last I looked sharing it was read-only and meant exporting the static document or running something (node, ruby) that parses the format on the fly.
How about something like the ODroid XU4 with a USB WiFi dongle? It’s capable of running a full Linux (I have Armbian on mine) so whatever you want it do should be possible.
I’ve been using TiddlyWiki for years (spot checking… I have nearly a thousand entries going back to 2006). It used to be a single page javascript-based app and I kept the html file synced, now it’s also capable of running as a node.js based app. There are trade-offs for both but the node-based version is very convenient after you set it running behind nginx or such to handle security.
I want to know how “agile” (little ‘a’) folks are dealing with:
I’m in agreement that it’s complicated- partially because the problems are complicated and partially because the underlying clouds are complicated- it’s spot on about the introduced complexity. What I’m not certain of is that it’s better than other container orchestration schemes for most places. I’ve spent about two years working with it daily but less than a few days test deploying all of Apache Mesos, Docker Swarm, and Hashicorp Nomad. The number of sharp edges, hard experiences, reading and re-reading documentation and cloud provider documentation, re-examining behavior, then the code, and yelling and screaming at my keyboard moments was high. I’ll be interested in seeing how the ease of operationalizing will play out and how the reality of having to know all the layers below to triage and debug will turn out for most organizations.