Hacker Newsnew | past | comments | ask | show | jobs | submit | wmsiler's commentslogin

I wonder how this would change if you only looked at highly rated chess engines. For example, is a rook pair really not as good as a queen or is it just that _humans_ aren't as good at using the rooks effectively?


Every time I see this project, I think it looks awesome and useful, but I hate that it's written in python. I love python and I use it all the time, but I hate to see so much effort and innovation going into something that can only be used by this one language. If this had been written in C, Zig, Rust or some other language that produces easily embeddable binaries with a C API, then you could have idiomatic APIs for lots of languages instead of having to repeatedly reinvent the wheel.

I don't mean that as any kind of insult to the people who work on this project -- I'm sure writing it in python is way more pleasant than writing in C. I'm just bummed that projects I have in mind that I intend to write in a language other than python can't use this.


I agree with you.

https://youtu.be/Gv2I7qTux7g?t=175

If it doesn't speak the C ABI, someone's gonna rewrite it in C.


There are dozens of TUI projects in C. None come close to the ease of use of Textual. I'm not sure I buy this idea of "someone's gonna rewrite in C" as a rule.


> None come close to the ease of use of Textual.

I agree with you there. I wonder how it works under the hood, especially those animated panels. I'm gonna go read the source code.


Kinda agree. A rust version would be awesome.


tui-rs[0] is the closest equivalent. It's like the pre-css version of textual.

[0] -- https://github.com/fdehau/tui-rs


>Folks would rather feel good and virtue signal than really solve the problem.

The idea that people are using reusable shopping bags because they want to virtue signal and not because of any actual desire to do good is a completely baseless and needlessly pessimistic viewpoint. A much more reasonable and likely explanation is that most people can't fully assess the environmental impact of their decisions, so they make the entirely reasonable assumption that if they can avoid throwing away a dozen plastic bags every week, then that's probably a good thing. That assumption may turn out to be incorrect, but that doesn't mean they have the harmful motivations you are accusing them of.


Did you even look at the graph? Reusable bags are fine, but this is pure silliness to think that this makes any real progress.


The objection was to the idea that such people are "virtue signalling." It's such a silly and overused-term, generally used incorrectly, and used to snear at people doing good.

No, such people generally do think they are doing something worthwhile, and worthwhile things are right to do.

If, in fact, they are not doing anything worthwhile, which this graph suggests, then that is a mistake of the facts. It doesn't mean that they were just trying to "virtue signal."


But people are not, at least statistically, doing any measurable good. It is wrong to encourage non-solutions. Just be honest is all I am saying.


From a climate-change only perspecitive, the original paper actually says that if you re-use a cotton bag just 53 times, you're already doing measurable good, and if you keep using it you keep doing more measurable good.

The higher number come from value judgements about other kids of impacts, and reasonable people can disagree over the relative values of those impacts vs climate change.


I see this question getting downvoted, and some of the responses are strangely hostile strawman attacks based on what those posters are guessing this person "really" means. I think this is a perfectly reasonable question.

A few years ago, I got a PhD in pure mathematics (low dimensional geometry and topology). As someone who loves pure math and spent many years devoted to it, I've had many conversations with mathematicians about whether we should be concerned with practical applications. One common argument, which several people have made here, is that there's been a lot of math that found practical application long after it was done. That really only applies to a very small proportion of math. The vast majority of math done has still never found application. So arguing that we should do that math because it may have applications later is kind of like arguing you should play the lottery since there's a greater than 0 chance that you'll win. Also, from the (admittedly biased) group of mathematicians I've spoken to about this, very few seemed to actually do math in the hope that it would be useful later.

Instead, people do math because it's interesting, beautiful, and challenging. I would argue this Mersenne Prime search is almost more like recreation. I could be wrong, since I never did much number theory, but I don't think this is advancing any research. It's just a fun hobby for people who enjoy math. I think doing math for the sake of its beauty is generally fine. I do have concerns about the climate aspect of this particular project though. This is a lot of power being consumed just for recreation. This project may not be big enough to have much of an environmental impact, but in general, I think we should be more mindful of not wasting large amounts of computing power just for fun.


I don't care about upvotes/downvotes but it was interesting that I got upvoted at the beginning and got a few useful responses, and then at some point a user above made an ad hominem attack and then the mood changed after my motivations were called into question. Suffice it to say, my question came from a place of curiosity not judgment.


>they chose to have children, and I chose not to

Up until the pandemic, my work schedule had almost never been affected by me being parent in any way. I chose to have kids knowing that my wife and I would be able to continue working without this significantly impacting our jobs (after the first several weeks after they were born, of course), and that has always been true until this. You are acting as though parents fully understood the pandemic would happen and would affect them at the time they decided to become parents.

This argument is like saying that a storm knocked down your neighbor's house, but not yours. So it's unfair that your neighbor get some leniency from work while he tries to repair it while you are expected to keep working. "He chose to build his house on that side of the street, so he has to deal with the consequences."

This isn't about giving extra slack to parents. It's about giving extra slack to people who were hit particularly hard by this situation that they couldn't possibly have seen coming. I was forced to return to the office even though I'd rather be at home. I have a coworker with no kids but who takes care of his mother who is very sick and at high risk for COVID. He gets to keep working from home, which is what I'd like to do. It's never crossed my mind to be annoyed with him for that.


I do not agree with this. Even side hustles have been adversely affected by the pandemic. Quite nearly everything in our lives has been. Parents deserve all the concessions that can be afforded, but people without kids should also be afforded the same. Having children is a personal choice in the end, it's a right, but nothing special in anyway. People should not be penalized for not making that choice, just like they should not be rewarded either.


Society ultimately needs children to function. At some point it can’t always be a zero sum game where everyone thinks it’s totally fair. People with kids pay less taxes. There is an implicit understanding that children are a burden we bear as a society. I have a hard time being upset with concessions parents need right now when this is ultimately the federal governments fault. They let this fester into what it has become and we are all eating the shit sandwich that followed. 4% of the worlds population and something like 22% of the Corona Virus cases. I would encourage you and all the other single people, purposefully childless, etc to have more empathy. Most parents in competitive fields work insanely hard to keep their kids as their problem and no one else’s, even though children are a requirement for society to function as it is structured now. Parents didn’t choose this pandemic, it’s not something you can plan for. Struggling parents can use a little help, this is an immensely stressful situation. It isn’t fair to everyone and society as a whole has to bear the cost in different ways. It’s not like most parents with previously solid work records in deep work jobs are any happier than non-parents. It’s not some reward they are suddenly getting. Their life is categorically worse even if they get some minor concessions at work.


I plan to have kids as well. I'm just not convinced that parents in well to do tech companies need handouts to do this. No one is having kids in lieu of their obligation to society, people have kids because they want to. The governments where majority of people are actively choosing not to have kids are trying to incentivize the population to do so; it's not clear to me why private employers should be doing it. Further, these incentives should be declared with significant notice to make sure people can make life choices accordingly.

You can tell that no one prepares for the pandemic, and that's true. But the point is that this applies to everyone, not just those with kids. What if I have an ailing parent or a sibling? What if I run an orphanage on the side? Just give the same benefits to everyone instead of cherry picking people who make life decisions that are of no consequence to their day job. If you think that's too much to provide to everyone, then I will argue that it's too much to provide for just parents.


> What if I have an ailing parent or a sibling?

If the obligation to care for them (during work hours) has increased due to COVID, then you absolutely should get more work flexibility to take care of that. Because that's something you must do for their health and well-being, not something that you just feel like doing because you want to.

> What if I run an orphanage on the side?

Presumably you ran that orphanage outside of work hours pre-COVID, and can continue to do the same now. This is kinda a silly hypothetical though... I wasn't aware that orphanage-as-side-hustle was such a popular thing for non-parent tech employees.


I didn’t realize that so many people on HN ran orphanages on the side, this is the second or third mention of hypothetical orphanages.

You might want to suspend judgement of parents until you’ve tried your hand at it.


They made no judgement of parents. They spoke of widening benefits to apply to everyone not just those with kids.


> What if I have an ailing parent or a sibling?

I believe this is addressed in the article, and in many of the policies, where they describe the individual receiving these benefits as a `caregiver` not `parent`. What I find interesting is that the conversation seems to be geared solely around parents while others that take care of family in need are not brought into it.


> Even side hustles have been adversely affected by the pandemic.

Were you working on your side hustle during normal work hours before the pandemic? No? So is the pandemic stopping you from working on your side hustle after work hours now? No? I didn't think so.

> Parents deserve all the concessions that can be afforded, but people without kids should also be afforded the same.

I think you're looking at this in the wrong way, as if employers are giving parents some sort of special gift by being flexible around child care responsibilities. Child care has to get done, period. It's not opt-out. Your side hustle can wait until after work hours... as it always has.

> Having children is a personal choice in the end, but nothing special in anyway. People should not be penalized for not making that choice, just like they should not be rewarded either.

Ah, here's that tired argument again. Yes, it is a personal choice. But are we really going to penalize children because their parents, when deciding to have kids, failed to take into account the possibility of global pandemic making child care interfere with their work responsibilities? Parents aren't getting "rewarded" for having kids here; they're simply getting time to do that which they must do. Child care is unique among non-work obligations in that it's not something you can reschedule, put off, or decide not to do. There's no "reward" here.

I still don't understand how you think non-parents like us are being "penalized", though. My work day during COVID is, scope-wise, exactly the same as it was pre-COVID. I get out of bed, work for 8-10 hours, and then stop and do whatever I want. I was already working from home most of the time pre-COVID, but as a bonus, people who went to an office every day now get their commute time back! If anything, non-parents are getting a reward during COVID that parents don't get, because their former commute time is now filled with... you guessed it... more child care.


Picture this : My side hustle requires me to be available to perform it at 6PM on wednesdays. So outside of my normal work hours.

This was always OK before the pandemic. Everyone stopped working at 5, and I got to get ready for my hobby at 6. All good.

Now, parents need to be available for their children at 5. So they have to leave at 4. Someone has to stay until 6 to "make it up". It's a priority that we allow them to be available for their children. So I will have to let go of my hobby, so they can be with their children.

They might even justify it by saying "I will come early on thursdays to compensate, and you can start later". The thing is that I don't care about starting later on thrusdays. I want to be free at 6 on wednesdays.

And because my calendar does not include the magic "children" word, I automatically get the lowest priority when discussing schedules. Holidays during thanksgiving ? No sir, you don't have children, you would probably be sad and alone anyway! Those nice summer days ? Well, Henry wants to take his gasp children hiking during summer break, you can have a week in november, while his son is at school! And so on...

The children word is systematically used as an argument to justify some kind of priority for parents when defining schedules over those who don't have any children. And COVID made that really visible because people with children suddenly had even more constraint than those without - and you can guess who had to be even more flexible. And because non-parents are systematically being shown that they matter less, this creates resentment.


We talk about children here, you just cannot simply decide to put them aside for a while. What hobby is more important to justify that you need to do it at a specific time ? You just invented this constraint to try to prove a point, but it really sounds like you just want to rant. Do you have children ? It's already exhausting to take care of them in normal times, but I can guarantee that when you don't know when they can go back to children care or school, and you have to work on top of that, it becomes really difficult. If you had to take care of one of your relatives, I would not think twice about trying to be more flexible for you to do so.


You just proved my point. You are placing yourself in a situation where you get to be the judge of my schedule. If that situation happened, we would not be two equally leveled adults trying to find a solution that is balanced for everyone - like doing one week for each person. We would be two adults entering a power play where you immediately use the child card and I would have to find a better excuse to justify having as much right to organise my schedule as you have. And you would probably immediately start gauging if my reasons are "good enough". If "my reasons" are more important than "your child". There is no way to ever compete. Because your child is your number 1 priority, it should almost be mine too - or at least it should definitely be higher on my prio list than any activity I plan on doing in my free time. Because if it doesn't, I must be a selfish bas

There are unfortunate life circumstance that falls upon you. These do exist and I would also definitely be more flexible to help someone undergoing them. Your child is not an unfortunate life circumstance. He is the consequence of a choice you made. Just like my schedule is the consequences of choices that I made. There is no reason to consider that your choices matter more than mine.


What makes you think someone "chose" the circumstances they face right now? When people decide to have kids they usually make the rational and justifiable assumption that childcare is available during their working hours and that they will be able to have a workspace that is separate from their child's play space.

The only relevant "choice" here is the choice that companies made to close their offices and require employees to work from home. For people with children in their homes that is going to mean they are less productive, even if there is a babysitter available. If your company told you that you are required to do your work while riding on a roller coaster, where you would likely be much less productive, you would be right to ask the company for to reduce your expectations until you are allowed to return to your office. Since parents are being required to work from an environment where their productivity will be lowered, it is reasonable and everyone should expect that their expectations will be adjusted downward to reflect that. If your home environment does not significantly reduce your productivity then there is no reason to think your own expectations should be adjusted downward.


Caring for children is more important than a side hustle. If you would take advantage of compant-given childcare time to carry out a side-hustle when you don't have children is something I would judge you for. You can like it or not, but I would.

You would be exploiting a system put in place to help families survive a pandemic for your own personal gain.


At not point am I trying to exploit any system for my side hobby. I am no trying to leave sooner than I was before covid, or have more free time. My colleague, on the other hand, is doing exactly that. He wants to leave sooner - reportedly to care for his child (I believe him). And because he wants to leave sooner, I actually have to leave later. And the fact that it is suddenly forced upon me to change my schedule because he wants me to, is the root of the problem.


I'm a little surprised at the flack you're getting.

I'm with you though. If I have personal obligations, I shouldn't feel any pressure to help out a coworker by working later than normal with no additional incentive just because they have children and I don't. And if I decline to help out that coworker, I shouldn't be publicly shamed.


I thought that's why the childless were obligated to school taxes and inflated health insurance premiums?

The child rearing consume what the childless have earned under the "do what's best for everyone" motif of social programs. Who's getting the best? Do the childless get to participate in this best?


Do the childless get to participate in programs meant for parents with children? No, of course not.

I really don't understand how you can have a perspective that leads to this question.


There are things called empathy and humanity. Yes children should be the top priority, not only mine but everyone's. I don't ask you to compensate my hours because I have a child, I ask to try to find the best solutions to an exceptional problem, by being adults and open to discussion. The fact that you think there would be a power play is because YOU consider it to be a matter of power. It's not about power, it's not about the fact that what you have to do is more important or not. It's children (or family, or humans, or living animals), nothing is more important. We don't talk about free time here, we talk about being there for people that completely depend on us. And of course it's exceptional, situation would probably smoothen out after a few days or weeks, where we could find solutions that better suit everyone.


your WOW raid can wait, my dude


You should research the meanings of equality and equity. Equity is not a penalization for those with better circumstances, it is simply support for those that lack it.


It's special in that it is a fundamental part of our society. It moves society forward, it brings forth new generations and brings meaning to our existence. How about we turn it around and say that people that choose not to procreate be penalized?

You argument doesn't work in that it can just as easily be applied the other way if we assume having kids is the default state. We could further argue that not having kids is an advantage, hence why should parents be penalized for not having made the same choice as those that didn't.


In exchange for a strict policy that makes sure employee output is equivalent across the board, would you agree to sign away all future societal benefits paid for by the younger generations? (when you are old) If you aren't willing to do that, aren't you being a hypocrite by saying you'd rather cash in on those kids in the future?


This will likely end up happening anyway.

The amount of children we’d need to become next generation workers and support our generation are exponential and cannot be sustained. I suspect that as for the last decade or two, old age benefits will keep shrinking and shrinking anyway because there is no way we can keep having, feeding, and sustaining the exponential numbers required.


They are not being "rewarded." They need leniency to deal with the raw hand they've been dealt. Its called empathy. Companies are choosing to help their employees out in a rough spot and that's the correct thing to do. My mother was sick a few years ago and I "worked" remotely for 1-2 months to take care of her. The company could have easily said "nah." I am eternally grateful that the company did that and I stayed for 2 years longer than I would have and worked very hard. By treating your employees well not only are you acting like a normal person, but you get the side benefit of building goodwill with your employees.


I think you haven't disagreed? The point of the parent comments in this thread is that "parents are not the only people for whom companies should have empathy", and you've replied "companies are having empathy for parents, which is great".


I might've misinterpreted what op was saying.


There's risk in every major life decision, including having kids.

I hope I'm not coming off as anti-children but while parents couldn't have anticipated the pandemic and its impact, they need to react to the circumstances. If their home situation requires it, then they should switch to part-time or even quit temporarily.

I also agree with giving parents "extra slack", though again there are limits. At this rate the pandemic will remain with us for another year. The onus is probably in company leadership to make the necessary changes and not have colleagues start to resent one another.


> If their home situation requires it, then they should switch to part-time or even quit temporarily.

How exactly to people buy food and pay their bills in this scenario?

You're not coming off as anti-children, but you're definitely coming off as someone who lacks a basic understanding for how life in society works.


> How exactly to people buy food and pay their bills in this scenario?

In Tech? With 3-10 times the average family income? How will they buy food if they work part time for a month or two, or one of them quits?

Probably the way as before, with their massive pay check.


>> I hope I'm not coming off as anti-children but while parents couldn't have anticipated the pandemic and its impact, they need to react to the circumstances. If their home situation requires it, then they should switch to part-time or even quit temporarily.

Putting a family units safety and wellbeing should be a last resort solution. Major disruptions in a kids early life can have seriously negative effects on their future.


"I hope I'm not coming off as anti-children"

Sorry, but that is exactly how you are coming off. Your argument is basically that people with children should leave their jobs or be paid less for no reason other than that they have kids at a time when, through no fault of their own, the childcare arrangements they relied on have all been cancelled or become unreliable.


> This argument is like saying that a storm knocked down your neighbor's house, but not yours.

It’s not the same though. Having a so called “act of god” result in property damage is just chance. Having children (in most cases) isn’t chance. It’s a conscious decision.

Even though no one could guess the pandemic would happen, I’d hope people getting children are conscious that they’re getting into a 18–20 years commitment to support them at the expense of their finances and leisure time (to some extent)

I think the smoking analogy applies well, it’s also a choice and not due to chance.


The pandemic is the “act of god” in this analogy.


There's a weird trend on HN. For proprietary products (e.g. slack) I rarely see them getting criticized for having a proprietary license. If you are fully open source, then of course they love you. But if you try to strike a compromise and give away a lot while still keeping some licensing terms to let you make money off your creation, then you'll be bombarded by complaints about your licensing.


I don't think it's particularly weird, it's about misrepresentation. Most users attracted to open source licensing aren't aiming for abstract goals like "give away a lot" or even "give away as much as possible", they're aiming for "give away practically everything so they can use it for free in any way they want". Proprietary products don't waste these users time as they are clearly not suitable, but advertising an open core product as open source will attract a lot of unsuitable users who desire open source when you're offering open core.

If you're trying to make money, just don't do open source. No one owes you kudos for striking a compromise no one wants.


If Microsoft started calling Windows open source, I would be pretty peeved too. The word open source here is used as a marketing term for a product that isn't in spirit or reality. Yes, the source is available; that's nice, but it's not the same.


Windows isn't free. Nor is the source available to be viewed, modified, extended, learned from, etc. Also, you're comparing one of the biggest tech companies in the world, to an individual who is trying to make a living. This is an unfair characterization on every level.


>Windows isn't free. Nor is the source available to be viewed, modified, extended, learned from, etc.

I mean, I'm just using a popular non-open source piece of software as an example, you don't really have to read into it this much. Every comparison has limits, this isn't any exception. You can substitute 'Windows' for 'Gitlab EE' which is also proprietary software with available source code.

>Also, you're comparing one of the biggest tech companies in the world, to an individual who is trying to make a living. This is an unfair characterization on every level.

The depth of someone's pockets doesn't influence the definition of open source, though. This is not a characterization at all, rather, I'm saying that using the word open source to describe software that doesn't meet the criteria is always going to upset people. There is a simple solution that costs no money: removing the word open source. It is even recommended by the folks who push common clause.[1]

I realize people are very passionate about this, but please try not to read into what I'm saying too deeply.

(Also very notably: I have absolutely NOTHING against proprietary or shared source software, or developers making money; love Gitlab EE as an example. Just please be honest.)

[1]: https://commonsclause.com/


Well...characterizing the usage as a marketing term wouldn't be relevant if the potential for making money weren't an issue here.

Even beyond that, on a human level, the attacks on an individual trying to make a living seem unnecessarily harsh. My critique is mostly about the spirit of the negative comments (not just yours, sorry), which all seem to assume malice where there likely is none. I.e. several comments here and on the github repo calling the developer a liar and coward, etc (again, not you, this just happened to be the comment I replied to)

And I think this entire discussion proves that the definition of 'open source' is not as cut and dry as some people would like. And because of that, saying 'just be honest' when someone uses one of the alternative definitions of the term seems unfair.

I've always thought that the terms FOSS exists specifically to provide some extra clarity in this regard...

And I don't know what you'd call this other than "open source" because I haven't heard the term "source available" until today, and I would have had no idea what it meant if that's what the developer had used....


>Well...characterizing the usage as a marketing term wouldn't be relevant if the potential for making money weren't an issue here.

There is nothing wrong with marketing a project, be it open source, proprietary, free, non-free, etc. I never suggested that. Just about everything is 'marketed' in some sense.

>Even beyond that, on a human level, the attacks on an individual trying to make a living seem unnecessarily harsh. My critique is mostly about the spirit of the negative comments (not just yours, sorry), which all seem to assume malice where there likely is none. I.e. several comments here and on the github repo calling the developer a liar and coward, etc (again, not you, this just happened to be the comment I replied to)

It's because there's a lot of passion involved. Even people who are pretty great open source developers have acted in a way that is perhaps not so noble if you read the flagged comments.

However, I don't think this is necessarily out of assumption of malice. The problem is, it doesn't matter if the author is malicious or not. The term 'open source' carries some connotations that many people have an intuitive understanding of today. I firmly believe the very reason a lot of big projects choose open source is for the marketing benefit, and imo it is not deserved if your project isn't really open source. This could seriously harm the reputation of something that took decades to build, and if that seems alarmist, well, I know I'm not alone in this sentiment.

>And I think this entire discussion proves that the definition of 'open source' is not as cut and dry as some people would like. And because of that, saying 'just be honest' when someone uses one of the alternative definitions of the term seems unfair.

>I've always thought that the terms FOSS exists specifically to provide some extra clarity in this regard...

> I don't know what you'd call this other than "open source" because I haven't heard the term "source available" until today, and I would have had no idea what it meant if that's what the developer had used....

The thing is, if I say something is 'open source,' you almost certainly, today, will understand that to mean what it has meant for decades: the OSI definition of open source, contrary to the wishes of some (including rms, for example.) This is just the layperson's understanding. They may not have a deep understanding of licenses or permissiveness, but it comes with a sense of what a project has to offer. Being able to profit off of open source is something that people inherently understand nowadays, and it took a long time for that to happen.

The reason you wouldn't have understood another term is because there is not a common understanding for 'source available' or 'commons clause.' This is because it was not very popular in recent years, and remains relatively unpopular. It is mostly pushed by companies that built amazing open source projects and had trouble with creating a sustainable business around it.

And therein lies the contention.

- Because of what Open Source implies, it gives projects a decent marketing boost - including, of course, the common case where they are truly open source. People rely on open source projects understanding the implications and knowing roughly what they can do with it.

- Commons clause doesn't imply the same things. But some companies are trying to use the term 'open source' to describe them anyways. To me, this looks a lot like trying to have cake and eat it too. It's not the same 'open source' that people have slowly grown to understand.

Of course most people won't understand why this issue has much contention, because this type of thing seems like a minor detail. In fact, many people, including me, initially found it confusing that licenses like GPL allow you to profit off the work so as long as you follow the other clauses. It took me a long time to understand that this is a very important part of what makes open source special: the disconnect from the profit model. If you reconnect the development and licensing to the profit model, in my mind this is losing a key part of what makes open source so damn effective. Having many stakeholders that all profit from a project can be incredible - the Linux kernel being one such example.

People have to make money, though, and so going through the risky proposition of making truly open source software and trying to build a business around it is not always appealing. In my opinion, the obvious choice is to not make open source software. So-called "commons clause" is one option. But again, I think there is real danger in "open source" being conflated with things that nobody understands it to be.


Fair points. And it gives me a little more context into the intensity of the reactions. Thank you.


>you hit play in Netflix on your phone — how many people would have any way to tell how much of their data plan that used?

Instead of focusing on the client, what about the server? How happy would Netflix be to reduce their outbound traffic by 20%? I'm guessing it's quite happy.


Oh, don’t get me wrong: I love better codecs and I want them to happen. I’m just with the person upthread who was saying H.264 will stick around: Netflix and YouTube can upgrade rapidly because they control the clients and have robust transcoding pipelines: if it saves 10% on bandwidth costs they’ll recoup the work quickly. It’s upgrading everyone else that’ll take awhile, especially since so much video is natively produced as H.264.


Netflix is already using HEVC since a while.


Yes - that’s why I used them as an example because they’ve published details about the benefits and how they compare codecs.

https://medium.com/netflix-techblog/toward-a-practical-perce...


From the post, FaunaDB initially had several issues, which they've generally resolved. Jepsen is open source, so I'm curious why a database company wouldn't run Jepsen internally, work out as many problems as they can, and then engage aphyr in order to get the official thumbs up. Given how important data integrity is, I would assume that any database company would be running Jepsen (or something equivalent) regularly in-house. If they are doing that, then how is it that aphyr finds so many previously unknown issues? And if they aren't running Jepsen in-house, why not?


This is a very good question, and to a substantial degree, this is what we did. We have internal QA systems that overlap Jepsen that catch most issues. We also ran our own Jepsen tests on the core product properties last year, fixed some issues and identified others, and reported the results on our blog.

However, correctness testing is fundamentally adversarial, like security penetration testing. Building a database is not easy, and testing a database is not easy either. It is a separate skill set, as anomalies that lingered for decades in other databases reveal. The engagement with the Jepsen team is explicitly designed to explore the entire product surface area for faults, not to apply Jepsen as it currently stands. Thus, a lot of custom work ensued on both sides to make sure that the database was both properly testable, and properly tested. The result of that work is what you see in the report.

The typical Jepsen report implicates not just implementation bugs, but the entire architecture of the system itself. Jepsen usually identifies anomalies that cannot be prevented even with a perfect implementation, which didn't happen here.

Some vendors restrict their engagement with the Jepsen team to only what they have tested themselves already, although those tests are not always valid. This was not our mindset—we wanted to improve our database by taking advantage of Kyle’s expertise, not present a superficially perfect report that failed to actually exercise the potential faults of the system.


To follow up on this a little bit--many of my clients do their own Jepsen testing, or have analogous tests using their own testing toolkit. When they engage me, the early part of my work is reviewing their existing tests, looking for problems, and then expanding and elaborating on those tests to find new issues in the DB.

Companies are finding bugs using Jepsen internally, which is great! But when they hire me, I'm usually able to find new behaviors. Some of that is exploring the concurrency and scheduling state space, some of it is reviewing code and looking for places where tests would fail to identify anomalies, some of it is designing new workloads or failure modes, and some is reading the histories and graphs, and using intuition to guide my search. I've been at this for five years now (gosh) and built up a good deal of expertise, and coming at a system with an outsider's perspective, and a different "box of tools", helps me explore the system in a different way.

I do work with my clients to determine what they'd like to focus on, and how much time I can give, but by and large, my clients let me guide the process, and I think the Jepsen analyses I've published are reasonably independent. If there's something I think would be useful to test, and we don't have time or the client isn't interested in exploring it, I note it in the future work section of the writeup.

It's not like clients are saying "please stick ONLY to these tests, we want a positive result." One of the things I love about my job is how much the vendors I work with care about fixing bugs and doing right by their users, and I love that I get to help them with that process. :)


Thanks for the response. That all makes sense. I assume the FaunaDB devs would have already tested and fixed all the scenarios they could come up with, so it's reasonable you'd want an outside party to come up with even more scenarios to examine.


Despite being written in Java, DBeaver does let you connect to a server, then pick which database you wish to connect to.


That repo doesn't encourage anything. It's presenting data that the author found useful for another project they were working on, which presumably did benefit from micro-optimization. You are right that micro-optimization is usually not needed, but the repo and its author never claimed otherwise.


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

Search: