Things I Never, Ever Want to Hear Again - <AUTHOR> https://medium.com/about-work/82978662b2d6 <comment><USER3> I feel like author went off the rails in a few places, and there were more digs at White Men than I thought was justified (note: I'm a non-white male). It's become somewhat vogue to use "White" as a pejorative and synonym with "bigot", and I'm not okay with that.

If we want people to stop seeing us as our collective racial/gender/cultural stereotypes, then we can't engage in the same shenanigans ourselves.

 _That being said_ , this post struck a chord with me. As a pretty vanilla straight male, I can't identify with much of the gender issues she posed, but her blog post reminds me heavily of trying to discuss race on HN.

I frequently see some _incredibly racist things_ being posted around here in the comments, and I've basically stopped calling them out. You see a lot of the same reactions in this community as what she describes - a lot of "why are you so angry", a lot of trivialization of the issue, a lot of unexamined privilege, and _lots_ of people reacting very defensively as if simply by pointing out inequities I'm painting a giant bullseye on your racial-majority forehead.

These problems exist. They are real. If you are not part of a racial minority you probably won't fully comprehend what it's really like. But that's okay, no one expects you to fully grok it, and no one is calling _you_ out just because you're [insert majority race in whatever locale]. What we _do_ want is some modicum of understanding, some modicum of respect, and less middle-brow dismissals of things that millions upon millions of people are experiencing.

So yeah, I think the general thesis of this post is sound. I just wish she were less vitriolic about it - but honestly, having gone through similar things (in a racial, rather than gender, context) I can see why she is.

<comment><USER4> Going "off the rails" is, I believe, a fair response. It's easy to call out anger when it's a response the relentless passive oppression. But anger is the correct response. Often it's the only way to break through the heavy repressive blanket of faux-politeness.

Otherwise, I agree with you =D

<comment><USER3> Oh, don't get me wrong, I agree with the angry tone of the piece. That part is fine - IMO the opportunity for sober, quiet debate about sexism in IT has sailed.

We work in an industry where blatant sexism can be seen around every corner, and yet every time it is (politely, respectfully, intelligently) brought up the overwhelming community response has been deplorable.

We work in an industry where a large portion of the population does not believe sexism is a real, substantial problem. I think getting angry is about all anyone's got left.

That said, that's not the "off the rails" part I was referring to. Discrimination is, despite the common lay narrative, not frequently about _hating_ anyone, it's about treating individuals by the (alleged) characteristics of some class they belong to. It's about treating someone based on Asian stereotypes if they're Asian, or female stereotypes if they're women, etc etc.

It is an incredibly suffocating environment to be in, where every corner you turn you must first prove "I am more than your mental construct of my class" before you can be treated like an individual.

So it would be doubly hypocritical for those of us fighting these injustices to engage in the same. "White male" is stereotyped with "bigot", but we need not engage in persisting these stereotypes, and we need not paint individuals with large brushes based on the alleged transgressions of their (involuntarily chosen!) groups. This is, after all, exactly what is frequently done to us. The off the rails part is the repeated use of "White male" as a synonym for bigotry and intolerance.

</comment></comment></comment><comment><USER5> Quote: "I am less and less interested in engaging with the white male establishment, even though it's been hard to resist with the deluge of stupid racist, misogynist bullshit they've been spewing lately."

Translation: because sexism is a problem limited to men, any rhetorical excess is justified by the victim class.

I wonder if there's an irony gene, and whether it may sometimes be completely deactivated in some individuals.

<comment><USER6> Agreed. The only person I see stereotyping or blaming any biological group is the author of the article.

Not a single example or well articulated point, just diatribe.

<comment><USER7> You need examples?

Are we on the same website?

</comment></comment></comment><comment><USER8> "derailing" is a very strange concept.

In a conversation, you generally don't get to declare all your premises off- limits, nor do you get to determine unilaterally what the other participants will find most interesting to talk about. Sometimes people will consistently disagree with one or more assumptions you make. If they do, it might be because your assumption is _wrong_ or because you _did a poor job of explaining it_. In which case it's worth spending some time on that area of contention. And sometimes what you find most interesting about a subject won't be the same thing other people find most interesting - and that's _okay_.

As near as I can tell, complaints about "derailing" translate into "I wanted to _make a speech_ , but the other guy kept insisting on wanting to _have a conversation_." Is that all there is to it?

<comment><USER9> _As near as I can tell, complaints about "derailing" translate into "I wanted to make a speech, but the other guy kept insisting on wanting to have a conversation." Is that all there is to it?_

Pretty much, yeah. Derailing implies that there exist "rails" on which the conversation needs to go (i.e. the 'agenda' of the person making the speech). If you don't engage his or her central point, then you risk being accused of derailing.

Now, if you really, really don't want to hear what they have to say, that's one thing - you should probably just tell them so rather than passive- aggressively shift the subject of conversation.

But if a shift in the subject of conversation happens naturally, it's not derailing, it's just the natural flow of conversation.

<comment><USER8> Is there a name for _having that sort of agenda_? If not, can we call it "railing"?

Does the person with the agenda explicitly SAY "I have this agenda and want to only talk about X and want you to say Y about it", or is the listener expected to magically intuit the intent?

If the listener "really really doesn't want to hear", doesn't that imply they already know what's going to be said, and hence that it's not worth saying it? And doesn't that in turn suggest that shifting the subject is more likely to be informative and productive than staying on the original topic?

I guess I'm having a hard time seeing why railing would be considered LESS rude than derailing. Does railing exist in some sort of additional explanatory context I'm missing, like as part of a roleplaying game or as a form of therapy?

<comment><USER9> I've never heard it described in those terms. It seems to crop up fairly frequently in areas such as feminism, "social justice", or atheism - <USER2> which are frequently discussed online, which have vocal opponents that repeat certain arguments, and where the opponents tend to use certain rhetorical techniques in arguing.

See, for example, "Derailing for Dummies": [http://www.derailingfordummies.com/](http://www.derailingfordummies.com/)

As well as a counterargument: [https://feministrag.wordpress.com/2012/09/24/derailing- for-d...](https://feministrag.wordpress.com/2012/09/24/derailing-for-dummies- some-debunks/)

"Railing" is necessarily context dependent. Using this particular article as an example, the "agenda" is women's issues in the tech industry in the USA (and, presumably, other developed countries). I suspect it would be interpreted as derailing, for example, to remark that women in the USA are (speaking in a worldwide context) relatively very privileged over many people in the third world, both men and women.

Ultimately, a conversation requires two parties. If someone is speaking over you and doesn't want to hear what you have to say because of their agenda, or their anger, or whatever, that's not a conversation, it's a lecture. They might be speaking on an important topic, or transmitting important information, but no one should pretend it's a dialogue.

If it's twitter, or blogs, or similar, you might as well just withdraw. In fact, you see people do this all the time - back away from conversations when they realize that the other party does not consider it a dialogue but only a means for them to transmit their own 'perfect' opinions to other people.

</comment></comment></comment></comment><comment><USER5> Quote: "At the same time, literally thousands of white men have engaged me solely to derail, discredit and co-opt conversation about systemic inequalities and the lived experiences of marginalized and oppressed people in our industry."

The solution is so obvious that I am astonished that people like the author haven't thought of it -- stop whining, stop listening to haters of both genders, and start schools and companies with the express aim of teaching women technology, and then employing women. Women helping women.

There's no rational basis for the idea that women have any deficits that would prevent this idea from working, indeed all evidence points in the opposite direction: when motivated, women easily produce first-rate technology and personally enriching experiences as well.

There's just one tiny, little, trivial, detail -- women must stop playing the victim and blaming men for their problems. This is simultaneously necessary and fair, because the problems women face in 2013 aren't caused by men, they're caused by women.

Women have the right to vote, the right to self-determination, the right to an education, and 60% of the money:

[http://www.businessinsider.com/infographic-women-control- the...](http://www.businessinsider.com/infographic-women-control-the-money-in- america-2012-2)

Quote: "More women are taking the reins on their finances, holding 60 percent of all personal wealth and 51 percent of all stocks in the U.S. ..."

Want to keep feminism from becoming a mildly amusing historical footnote? _Stop whining, start networking_. Anyone who thinks men are the networking experts haven't watched women communicate information they consider important.

The single biggest obstacle to gender equality are women who undermine other women by trying to blame men for problems women can easily solve for themselves.

<comment><USER7> This comment is written like a helpful suggestion, but the subtext—"stop whining", "women helping women", "blame men"—reads as though you just don't want it to be your problem. You don't disagree that women are marginalized, but you still tell them to just go bootstrap themselves and accuse them of playing the victim.

There are plenty of women running programs designed to help other women in the tech sector, but you propose them as though you're unaware that they even exist, which speaks volumes about how easy it is for them to make an impact.

Can men just stop being dicks to women? That seems way simpler than starting schools and companies for teaching women how to overcome all the men who are being dicks to them. It's so obvious, I'm astonished you haven't thought of it.

<comment><USER5> > ... reads as though you just don't want it to be your problem.

Actually, as a matter of fact, _it isn 't my problem_. Women have rights, freedom, and 60% of the money in society. All they need to do is stop whining, stop listening to negative voices from inside and outside their own community, and choose another approach.

> Can men just stop being dicks to women?

Ah, yes, the default feminist agenda -- it's all the fault of men. That's why I suggest setting up a cooperative economic and technological system, or network if you will, and solve the man problem that way.

Imagine that you're an African-American slave in the U.S. about the time of the Civil War. The problem is obviously slave owners, who will rationalize their behavior as they continue to oppress you, while explaining that it's for your own good.

What are your options? You can complain about the master some more, hope he will eventually change his behavior, or you can enter the underground railroad and change your environment and your prospects.

What's your choice? Complain about your mistreatment at the hands of a congenital racist, risk worse treatment as the biggest change in U.S. history unfolds around you, or move on?

> That seems way simpler than starting schools and companies for teaching > women how to overcome all the men who are being dicks to them.

Yes -- the problem is men, so women don't have to do anything except complain and pose as victims.

> It's so obvious, I'm astonished you haven't thought of it.

The problem here isn't what I haven't thought of, it's what you haven't thought of.

During my around-the-world solo sail ([http://arachnoid.com/sailbook](http://arachnoid.com/sailbook)) I had many adventures. One of the most memorable with respect to the present topic was in a small Egyptian village, where as evening came on, people would gather around the community TV set and watch American TV, which is very popular there.

One of the shows included scenes in which a woman would speak up for her rights -- she might shout at a man who was mistreating her, or simply leave. Normal and justified behavior in the West, but not part of the lives of Egyptian women. I remember how those scenes were received by the village women, and how they did what they could to keep from cheering when they saw a woman speak up for herself.

But you know what? In that society, those women are far from being able to exercise what we might regard as basic human rights. But women in this society don't have that excuse -- women possess, and can exercise, political and economic power, and they can vote with their feet. Or they can try to blame all their problems on men.

The problem is not that women don't have power and rights. The problem is that women won't exercise them. It's much easier to say, "if only men would be nicer," and carry on posing as victims.

Sorry -- no sale.

<comment><USER10> Thank Goddess you weren't around during the American Civil War so you could make a huge show of NOT participating as a white member of the Underground Railroad because the plight of black slaves just wasn't your fucking problem.

Allow me to use the power you think I have to say: fuck you, thanks for nothing, jerk face. If it's "not your problem" then you are actively increasing my problems.

All my educators were men. Everyone in my chain of command from manager to CEO are men. About 90% of my industry peers are men. If they were all anti-woman then WHAT GODDAM POWER WOULD I HAVE? But they're not. Some of them even go so far as to acknowledge the general state of inequality might be within THEIR power to influence. And so here I am: a woman with a computer science degree, working information security, because not only did some men choose not to use their power to block me from getting a foothold, THEY DECIDED TO BE ACTIVELY FEMINIST and help me pull through when the misogynists were telling me to kill myself because I was a worthless slut and actively trying to prevent my career from ever starting with harassment, degradation, and slander.

Maybe I'm not your problem. But if you are just gonna kick back and relax and let misogyny sort itself out then you. are. mine.

<comment><USER5> > fuck you, thanks for nothing, jerk face.

Very constructive. The above is why this is your problem, not mine. Only one of us lives in civilization.

> If it's "not your problem" then you are actively increasing my problems.

And you are a career victim. Every woman alive, along with her legitimate burdens, has to bear the pointless weight of your infantile sexism and ignorance.

> Maybe I'm not your problem. But if you are just gonna kick back and relax > ...

For the record, I've contributed over a million dollars to feminist causes over the years -- NARAL, Planned Parenthood, others. I singlehandedly started and supported a women's health clinic in a rural location that desperately needed it. As a result, I received regular death threats from the men in that town, but every time I heard from women (the beneficiaries) about that project, I got to hear how I wasn't doing enough, how they needed more from their white male oppressors. Finally, after years of the same, I gave up. I realized I was dealing with perpetual voluntary infants.

And I wonder if you even know what you sound like. Women asked for the vote and got the vote. Women asked for civil rights and got civil rights. Women's status has improved to the degree that they control the majority of public and private financial resources. But instead of accepting personal responsibility like grown-ups, they continue to act like petulant children -- "Fix it, daddy!"

In 2013, the real sexists are women. Men can be retrained away from stone-age attitudes, for the best possible reason -- it's in their interest. But some women have to be dragged, kicking and screaming, into a position of adult personal responsibility. Unfortunately, in public fora like this one, those particular women, even though the minority, tend to be heard out of all proportion to their actual numbers, and they end up drowning out the voices of those who would instead say, "I'm ready to deal with reality on its own terms."

The problem is not that women won't that no for an answer, those days are justly behind us. _The problem is women won 't take yes for an answer_. No matter how many times women's demands are met in full, one quickly hears more demands, all calculated to shift women's legitimate burdens onto men.

Women have the majority of the money, they have full civil rights, they enjoy the fruits of a century of "yes, yes, whatever you say, yes!" It's time for women to stop whining about how badly they're being treated and _accept personal responsibility_.

<comment><USER7> It's mindboggling that you can simultaneously call women children _and_ assert that men aren't causing any problems for women.

You're really focused on civil rights and the vote (like it should be _impressive_ that those aren't restricted to white male landowners), but by far the biggest grievances I hear from women are _cultural_. Being assumed to be anything but engineers because girls are bad at math. Being hit on in contexts that are wildly inappropriate or where turning someone down seems like a bad idea. Being blamed for the actions of their male significant others because everyone "knows" women control men. (I don't much appreciate that one, either.) Having committees of men vote down the women's health budget in one of the largest states. Being called children for still having to deal with a barrage of "remember your place" subtext and not really appreciating it. You know, little things.

Of course those women told you they needed more. _You were getting death threats for helping them._ That pretty clearly screams that something is still deeply wrong.

There are plenty of women working to help women—some of them the best way they know how, by _talking about it_ —but when the main problem is with the culture, the quick solution is to stop perpetuating it.

</comment></comment></comment></comment></comment></comment><comment><USER11> I'm a white male. I'm a husband. I'm about to become a father (we're avoiding finding out the sex until birth, so there's a 50% chance I'm the father of a daughter). I work in IT. I've worked with a few women. Some of been excellent, some haven't. Just the same as the men I've worked with.

I tried to work out what Shanley never, ever wanted to hear again, and I figure that it is the following 7 words.....

"I don't know much about this, but"

However, my follow on from the but is; I'd like to get educated. The following are the points I'm taking out of this article (please let me know if I missed any, I am seriously not being sarcastic or a jerk).

\- do not try to defend the "white male establishment" which I apparently am part of. (I do not feel part of it, but I guess I get lumped in it until I prove I'm not part of it?)

\- do not attempt to tell a woman what she is feeling (luckily, I've learned this lesson a long time ago)

\- do not talk about my experiences with women in IT (they are probably outliers like Sheryl Sandberg and Marissa Mayer)

\- be able to read vague complaints about general sexism with out thinking they're targeted at me

They're fairly easy things for me to work on.

I would actually be interested in advice from Shanley on what book I should pick up to educate myself with.

A wall of passionate words with out a good call to action for white males to pick up on is frustrating to me. I want to try and help, but beyond being the decent human I've been relying on, I'm at a loss.

<comment><USER9> _do not talk about my experiences with women in IT (they are probably outliers like Sheryl Sandberg and Marissa Mayer)_

Oddly, 99.99% of women in IT are not senior executives of large companies like these two. I think what Shanley's article meant is, you aren't supposed to point at these two and claim that everything's cool for women in IT, _because_ they are outliers.

Presumably, it's reasonable to employ anecdotes about the female CTO you worked with, or the female developers on your team with whom you have personal experience?

</comment></comment><comment><USER12> Men: "Why Are You So Angry?

She: "I cannot even tell you how sick I am of men telling me how I feel."

I have to admit ... I'm not a native speaker of English, but asking a question and "telling you how to feel" are two different things.

TIP #1: Don't call someone an asshole if you want his help. Just saying.

EDIT: Getting downvoted because I think that asking a question and telling someone how she feels are two different things?! Interesting...

<comment><USER13> "Why are you so angry" in native English is not a question; it's a question tied to an implication.

The question implies that the person being asked the question is angry. Most answers involve accepting the implication as correct.

The stereotypical example used to demonstrate this in English is probably 'have you stopped beating your wife'. 'Yes' implies that you have a wife and you used to beat her; 'No' implies that you have a wife and you _still_ beat her.

Structuring questions this way is a bad idea because it puts the person you're asking on edge. It's also just kind of a shady way to use the English language. (Nothing against people who aren't familiar with this particular nuance, of course)

<comment><USER12> I'm aware of it being tied to an implication, but I don't agree with you that "why are you so angry?" is in the same category as the example you gave ("have you stopped beating your wife").

In my view, if I ask you "why are you so angry?" I perceive you as being angry.

<comment><USER14> > In my view, if I ask you "why are you so angry?" I perceive you as being > angry.

If you want to ask a question about the reason for the facts on which you make that inference without telling someone how they feel, you ask the question about the reason for the facts, rather than asking them to explain a mental state that you have inferred about them.

<comment><USER12> Again, I'm not a native speaker of English, but the obvious way to ask you for the reasons that make you angry is to ask you: "Why are you so angry?" I'm still learning English and would appreciate if you would be kind and teach me an alternative way to ask that question.

<comment><USER14> The problem is not with the way of asking the question.

The problem is with the assumption about the other person's feelings underlying the premise of the question.

</comment></comment></comment></comment></comment></comment><comment><USER15> That article is filled with racist vitriolic nonsense. Any real issues are swept aside with the anger broom so she can make room for her profane fury. Why would I ever engage a person that acts like that in debate, man or woman?

</comment><comment> __--__ This reminds me of a child having a temper tantrum.

Do you want to know why men in general are having problems being feminist allies? Because feminism, at its core, is hatred of men. Why would we want to be part of a group that shows unfiltered contempt for us because we were born male?

</comment><comment><USER16> Holy crap this is an unpleasant read.

<comment><USER17> That's the point.

</comment></comment><comment><USER18> Woman: "Tone policing is destroying communication"

Hacker News: "Don't you dare use that tone with us!"

</comment><comment><USER19> I think more men are successful at tech because more enter the field. At my university, which was actually 56% female (IIRC), my electrical engineering classes almost entirely consisted of males.

<comment><USER17> I think it's worth looking at why more men enter the field.

I think it's also worth looking at why the participation of women in computer science in particular, as opposed to other technical fields, decreased on a relative basis after initial increases.[1]

[1] [http://www.nytimes.com/2008/11/16/business/16digi.html?_r=0](http://www.nytimes.com/2008/11/16/business/16digi.html?_r=0)

<comment><USER19> I'd wager that it's a variety of factors that are mostly cultural.

<comment><USER20> It is. Here's the science of why by Heidi Grant Halvorson PhD citing research by Carol Dweck PhD. [http://www.psychologytoday.com/blog/the-science- success/2011...](http://www.psychologytoday.com/blog/the-science- success/201101/the-trouble-bright-girls)</comment></comment></comment></comment>


The Impoliteness of Overriding Methods (2012) - <AUTHOR> http://journal.stuffwithstuff.com/2012/12/19/the-impoliteness-of-overriding-methods/ <comment><USER2> Covered in Common Lisp by custom method combinations.

A "method combination" determines, when a generic function call denotes multiple methods, in which order they are called.

There is a default method combination with standard features: :pre/:post/:around auxiliary methods in relation to a primary method. This has the conventional ordering: derived controls dispatch. E.g. an :around method can decide that the primary method won't be executed at all by not calling (call-next-method).

The documentation for the _define-method-combination_ macro is a bit of a challenging read. One of the examples of its "long forms" shows how the standard method combination would be defined with this macro, if it didn't exist. A simple example shows how to arrange for methods to be dispatched one by one until one returns something other than _nil_.

</comment><comment><USER3> It's interesting, but I can see it leading to much frustration when, as an overrider, you _don 't_ want it to run that before/after code.

The thing is, the developer doing the overriding generally has more information about the final system than the original - after all, the code is _more_ specific. So taking away their power is generally problematic.

I could see it being useful _if_ it was optional. Something like:

        class ScaryMonster extends GameObject {
          void render(Renderer renderer) {
            super(function() {
                renderer.drawImage(Images.SCARY_MONSTER);
            });
          }
        }

<comment><USER4> Another perspective: the developer doing the overriding doesn't in fact have more information; they don't know the future plans of the developer of the class they're overriding, and they don't know about the usage models of other descendants of the class and how they'll affect evolution into the future. The more "power" they use, the more likely they'll be left behind on a version bump.

Implementation inheritance means accepting an extremely tight coupling to the ancestor, and overriding is the main mechanism of coupling. Coupling means correlated changes, and when the developers of the ancestor and descendant are in different organizations, it means versioning risk. This is an argument for very careful selection of methods available for overriding, and strictly limiting the choices of the descendant, funneling them into designed-for usage modes.

Versioning is single biggest reason why C# elected to make methods non-virtual by default, where Java makes them virtual by default. Breaking all the clients of your code because of an implementation design change isn't very desireable, thus limiting the surface area for coupling is usually a good idea.

If ancestors and descendants are in the same repository so upgrades of definition site and use site can be coordinated, or the probability of design change in the ancestor is low, then these concerns are more relaxed. But they're valid in many situations.

<comment><USER3> The library developers can provide that information without enforcing it. For example, in Python any method starting with an underscore is considered private and liable to be changed or removed, but the language doesn't treat them in a special way.

Enforcement mechanisms don't have anything to do with passing information, but with removing liability (not necessarily legal - might only be social) from the original developers. They're effectively an EULA.

</comment></comment></comment><comment><USER5> Or: OOP theory essentially says that classes should never be "subclassed." As in, the code isn't supposed to evolve that way; you're Doing It Wrong.

In OOP, the only reason for something to be a "subclass" of something else, is that you _first_ had several subclasses (FooA, FooB, FooC) as plain classes, and then noticed that they all obeyed the exact same interface (a hypothetical IFoo) _and_ had common logic, and so you then took the opportunity to factor out the interface + common logic into a common superclass (Foo).

The _interface_ , if separated into an abstract contract (a real IFoo) _is_ reusable by downstream code; but the common logic, 99% of the time, isn't. (It's potentially reusable by people contributing _to_ your library, but more- than-likely they'll have to modify the "shape" of your common logic when they add a new concrete subclass with its own new concerns, even if the contract IFoo would stay the same.)

Given a full prover-level type system, you would be essentially _unable_ to usefully do anything with the superclass Foo once it's been created, other than what the "causally prior" subclasses FooA, FooB, and FooC are already doing with it. Foo is the _reificiation of an equivalence class_ whose members are exactly FooA, FooB, and FooC. A "FooD" _shouldn 't_ be able to be defined without changing the definition of Foo.

Assuming you accept this, how does code reuse work?

• _Specializing_ behavior: this is what the delegate pattern (composition!) is for. Rather than SomeLib exposing a base class SomeLib.Foo for subclassing, SomeLib instead gives you a (final, sealed) SomeLib.Foo class which takes a SomeLib.IBar as a delegate, and calls methods on it. You create YourLib.Bar that implements SomeLib.IBar, and pass it to the constructor of a new SomeLib.Foo.

• _Extending_ behavior: this is what plain-old component-wise composition is for. Call it an Adapter, or a Decorator, or a Facade; it's just a new object of a class _you 've_ defined, that is implemented by holding onto an instance of the (final, sealed) SomeLib.Foo class. (If you want nice interoperation, the upstream library author should provide a SomeLib.IFoo interface and define their methods to take/return it; and you should have your wrapper class implement SomeLib.IFoo. In less statically-typed languages, this translates to adding a contract method to your object that can be probed for, e.g. Ruby's #to_str.)

<comment><USER6> _> Or: OOP theory essentially says that classes should never be "subclassed." As in, the code isn't supposed to evolve that way; you're Doing It Wrong._

Got a reference for that? I've heard "prefer composition over inheritance" (GoF) but never have I heard that classes should never be subclassed.

<comment><USER7> The cleanliness and "refactorability" of my code improved significantly when I drastically reduced the amount of subclassing I was doing.

I wouldn't go so far to say "never subclass", but I'd say _most_ of the time, you won't need to subclass.

<comment><USER6> _> The cleanliness and "refactorability" of my code improved significantly when I drastically reduced the amount of subclassing I was doing.

>I wouldn't go so far to say "never subclass", but I'd say most of the time, you won't need to subclass._

Yeah, I would agree with that. A lot of OOP mechanisms like inheritance, or design patterns, get overused a lot. I'm not saying it's what you were doing, but I've seen it mostly in code written by newish programmers. It seems that once the concepts of OOP click in their mind, they get excited and eager to put them to work, so they use them where they're not really appropriate. I was definitely guilty of that, way back in the day. But once the novelty wore off, and I realized that I was just creating over-architected messes, I quit doing it.

<comment><USER7> Learning Clojure was, IMO, the best thing I could have done to improve my development skills.

It helps you realize that programming is simply about data, and how you manipulate it.

Design patterns, OOP, conventions, etc are all just secondary tools that _sometimes_ help you do that.

</comment></comment></comment></comment></comment><comment><USER8> Fyi... a related debate is _" sealed classes"_ by default.

E.g. Eric Lippert's comments: [https://blogs.msdn.microsoft.com/ericlippert/2004/01/22/why-...](https://blogs.msdn.microsoft.com/ericlippert/2004/01/22/why- are-so-many-of-the-framework-classes-sealed/)

A StackOverflow q&a: [https://stackoverflow.com/questions/268251/why-seal-a- class/...](https://stackoverflow.com/questions/268251/why-seal-a-class/268287)

</comment><comment><USER9> It seems like the debate boils down to "should subclasses be able to override behaviour in ways the base class doesn't anticipate?".

Pro: sometimes it lets you extend classes in useful ways that the original author didn't anticipate. Con: it makes it difficult or impossible to reason about invariants in the base class.

Seems like it's a trade-off between hack-ability and robustness.

<comment><USER10> > Seems like it's a trade-off between hack-ability and robustness.

Precisely. This is where Python's "We're all adults, here" philosophy comes into play: just trust me with the footgun. I'll take responsibility for the risk but dammit, if I'm not going to be pissed when I can't do something I know I need to do.

Maybe it's the distinction between "languages for large teams of mediocre programmers" vs "languages for hackers or small experienced teams"

</comment></comment><comment><USER11> Common Lisp's object system (CLOS) allows you to specify on a method by method basis whether or not the most-specific method has priority or the least- specific one does. Generally people just use the default behavior—least specific first—but this post makes the alternative sound interesting.

<comment><USER12> It also has daemon methods, which solve the problem of making sure the superclass gets to do something before, or after, the subclass method runs, without the subclass method having to request this explicitly.

<comment><USER13> Attempting to google variants on the them of "CLOS daemon methods" isn't bringing up anything recognisable as what you're describing - happen to know how to find a link?

(I love it when my attempt to RTFM is defeated by my being too stupid to find the FM in the first place ;)

<comment><USER14> The FM for Common Lisp is called Hyperspec, or CLHS. Just append "CLHS" to your search query.

The parent is probably talking about method combinations - in particular, the method combination used by default, which supports :before, :after and :around methods.

It's the first time I see the term "daemon method".

<comment><USER12> I guess the term isn't as common as I thought, but it appears to have been used explicitly in the Flavor system, which was the object system used on the MIT Lisp Machines and which predated CLOS. That must be where I picked it up.

<comment><USER15> A daemon / demon was a procedure which runs when a slot is accessed / added / deleted / .... My bet is that this name was used in frame languages in the end 70s where there were if-needed, if-added, ... demons for a frame slot. Flavors probably got it from there - though I'm not sure.

But the concept/term of a demon goes back to the end 60s to Hewitt's planner language and probably even earlier.

Later with generic functions in CLOS, I'd guess the term wasn't used, since something like an :after method is no longer conceptually a specific demon procedure attached to a slot via a facet, but a method in a method combination.

</comment></comment></comment></comment></comment></comment><comment><USER16> I've read about this (public non virtual interfaces calling virtual functions that are meant to be overridden) for C++ a long time ago: [http://www.gotw.ca/publications/mill18.htm](http://www.gotw.ca/publications/mill18.htm)

<comment><USER17> Well, it's the Template Method pattern from the GoF book and, like most design patterns, probably independently discovered by most people writing OO code.

</comment></comment><comment><USER18> Yes, I think in C++ at-least you are supposed to protect from this by never having the child directly implement the virtual method.

This means inheritors only need to ensure they implement according to the specified constraints.

I also suspect some of the new C++14 and beyond meta tagging can even enforce a `final`.

        class Abstract {
         public:
          // Even though this function might do nothing but
          // redirect, it is a useful abstraction.
          void
          SomeMethod() {
            // Do things which must be done first, if any.
            ImplSomeMethod();
            // Do things which must be done after, if any.
          }

         protected:
          // Document all expected invariant behavior here.
          virtual void
          ImplSomeMethod() = 0;
        };

<comment><USER19> C++11 added final for both virtual member functions and for classes. No need for C++2x metaclasses.

<comment><USER18> Sorry, what are the C++2x metaclasses? I haven't been following along very closely.

</comment></comment></comment><comment><USER20> This is an awesome pattern. Seems like it could easily be added as a language feature to Java and C#. Add an alternative to the "virtual" keyword called "extensible", and an alternative to "override" called "extend".

<comment><USER21> Isn't it pretty trivial to implement?

Define an "inner" interface, set up the "outer" object with a default implementation (available to caller so they can wrap it rather than replace it entirely) and the "inner" calls simply delegate to it. Make all classes involved sealed/final.

The degenerate case is the humble callback.

<comment><USER22> That's basically the template method pattern and I remember some Windows API using it (maybe GDI) where the protected overridable method was called DrawInternal and the public Draw method was non-virtual.

</comment></comment></comment><comment><USER20> I always thought V8 got its name from being a "fast and powerful engine"

<comment><USER23> It's also a health drink [https://en.m.wikipedia.org/wiki/V8_(beverage)](https://en.m.wikipedia.org/wiki/V8_\(beverage\))

</comment></comment><comment><USER24> Whenever I've worked, I was always advocating to use subclassing as a last resort solution. It's the most intimate and brittle relationship you can have between your classes.

Unfortunately the majority of OOP books don't emphasize this, so beginners try to do everything by subclassing, as if that was what OOP is about...

<comment><USER25> I've hardly ever found a good reason to inherit functionality - plain old data objects yes, but I always favor aggregation over inheritance.

When it comes to inheriting a base object to reuse cross cutting concerns, not only do you run into the fragile base class problem - there is usually a better way.

I personally prefer aspect oriented programming when possible.

</comment></comment><comment><USER26> Wow ... I usually lurk hackernews and don't comment but I feel offended by this post.

If he started with; say "in javascript" I'd agree completely.

And I know that unless you're writing code for others to use (SDK, os ..) you usually don't need inheretance.

But for generations people overridden methods and no one complained about it... infact it's a good idea in so many cases and easily any proper OOP class can protect it's behaviour (see encapsulation ..)

The only impolitness I see here is someone refusing a very valid pattern in a very solid space just because it's invalid in js (where a lot of things are invalid)</comment>


Stallman dragged in the Epstein s*tstorm - <AUTHOR> https://www.thedailybeast.com/famed-mit-computer-scientist-richard-stallman-defends-epstein-victims-were-entirely-willing <comment><USER2> [https://stallman.org/archives/2019-jul- oct.html#14_September...](https://stallman.org/archives/2019-jul- oct.html#14_September_2019_\(Statements_about_Epstein\))

</comment><comment><USER3> Is this in any way surprising? Just like the lack of comments here...</comment>


Lenovo Agrees To Buy IBM's Server Business For $2.3 Billion - <AUTHOR> http://www.pcworld.com/article/2090680/lenovo-agrees-to-buy-ibms-server-business-for-23-billion.html

<comment><USER2> So, after this, what hardware does IBM build itself anymore?

<comment><USER3> "IBM will retain its System z mainframes, Power Systems, Storage Systems, Power-based Flex servers, and PureApplication and PureData appliances."</comment></comment>


Ask HN: What do you think of this redesign? - <AUTHOR> http://hassankhan.me/post/39105826407

<comment><USER2> What was the goal of the redesign? It's not really a matter of what I think, but what you want to say to your audience. Now of course I'm a Hacker News reader who thinks South Park is pretty funny, but that doesn't mean that me or any other Hacker News reader is your audience. Design solves a problem, but first you must define what that problem is that needs to be solved.

<comment><AUTHOR> Should've mentioned that, my bad. Just experimenting with different colours and fonts. Does the picture I've posted look nice at all?

The goal of the 'redesign' is just to add some contrast in there and to improve readability.

<comment><USER2> To improve readability have a narrower column of text on the right text column. Although to be honest the picture you posted isn't that much different than what you have now. I think the bigger question is "what is the goal of this site?" Is it to get you job? Is it just a reference point for friends you already know? Is it aimed at geeks or non-tech professionals?

<comment><AUTHOR> In terms of having a goal like you said, it's supposed to help with getting a job (its a personal project), the blog part is really just my diary, its not specifically for anyone's benefit other than mine. The target aaudience is definitely developers and geeky people, definitely not business-y/market-y types.

<comment><USER2> If it's suppose to help you find a job then in 25 words or less you should tell me why I should hire you, i.e. an elevator pitch. It doesn't have to be over the top, but it should tell me at a casual glance where you want to go. If your personal content is interesting that's great, but you need something to anchor my eye. And yes your icon is a part of that too, and if that takes hiring a professional photographer then it's a good investment.

<comment><AUTHOR> I'm planning on making a bio tab with an 'elevator pitch'. Is it really necessary to have a picture of myself?

<comment><USER2> I use to think that you didn't need one, but I think in an age of Social Media and with Gen Y coming of age it may be expected (mind you as someone who prefers to be behind a camera I'm not a personal fan of this reality).

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> I like the responsive design, and the slide-out for the services. Maybe use "Blog" instead of "Home"?</comment>


Late beginner – how and why to start codding at the age of 40 - <AUTHOR> https://dev.to/gornickimichal/late-beginner-11a2 <comment><USER2> You're probably better off trying mackerel first. They're a lot easier to catch, with more basic equipment.

<comment><AUTHOR> say what?

<comment><USER3> [https://www.npmjs.com/package/mackerel](https://www.npmjs.com/package/mackerel)

<comment><AUTHOR> :D

</comment></comment></comment></comment><comment><USER4> It genuinely astonishes me that people don't seem to have the attention span to get the title correct. It's just a few words. How hard is it to check the spelling?

Messed up titles are extremely common, even in areas where it matters enormously because most searches won't turn up an odd spelling.

This can't be an auto-correct issue because "codding" is not a common enough word to be corrected to.

Now this is where my comment gets risky and the group think is likely to take me down: if we're running so fast that we can't stop to ensure that a few words of a title are correct, we must be living life at a very fast pace indeed. I don't think it's a stretch to imagine that people who don't have time to check their titles also consume a huge multiple of the resources they actually need.

We all need to slow down.

<comment><AUTHOR> we should also take into account that world is huge and English is used by many people around the world, non-native like me and they make mistakes not because they want to do it but because they just happen. And yeah, I wrote the title with a spelling mistake, without checking it as I was sure it is written properly and my Grammarly plugin doesn't support checking the title of the submission.

So don't overcomplicate things :) and sorry for the mistake, I'll do better next time.</comment></comment>


Finding uninitialized memory and corruption - <AUTHOR> http://altdevblogaday.org/2011/05/30/finding-unitiliazed-memory-and-corruption/

<comment><USER2> Code check for uninitialized variables. Examine pointer lifetimes for violations. Back out the last N code changes until the problem goes away - then eyeball those changes. Eliminate arrays or at least arrays with fixed bounds. Stop using stupid intrinsics (unchecked memory moves etc).</comment>


Calls to Cancel SXSW Intensify as Facebook, Twitter Pull Out, 30K Sign Petition - <AUTHOR> https://www.hypebot.com/hypebot/2020/03/calls-to-cancel-sxsw-intensify-as-facebook-twitter-pull-out-30k-sign-petition.html <comment><USER2> I tried to cancel (citing concerns not about myself, but Austin), and got this response. The last line putting it on me felt odd.

\---

Hello,

Thank you for reaching out to us.

We understand your concerns. We recognize the disruption that the Coronavirus (COVID-19) has caused, and we sympathize with all affected.

Safety is a top priority for SXSW. We are working closely with local, state, and federal agencies to plan for a safe event.

The SXSW 2020 event is proceeding as planned. The World Health Organization's recommendation is that travelers practice usual precautions. We will continue to monitor the situation closely and will provide updates as necessary.

Please also see the City of Austin's Public Health Reminders from February 6, February 14, and February 25, and their COVID-19 FAQ, updated February 28.

We have a no refund policy as part of our terms and conditions, so we are unable to reimburse you for your purchase. However, you can transfer your registration to another person.

We hope to see you at SXSW 2020, but understand that the decision to attend is yours to make.

<comment><USER3> I've seen very similar form letters from other conventions. Largely they all lean on each other -- "they don't offer refunds so neither will we" \-- but the bigger factor is that the convention probably doesn't have the money to refund people.

Most fan-run conventions run on a barely-above-breakeven budget at the best of times.

I'm not intending this as an excuse, merely an explanation for people who may not have been involved in the organisation of a convention, or been close to people who have.

With that perspective in mind, I find it hard to blame them. A wave of panicked attendees demanding refunds could well render them insolvent.

<comment><USER4> SXSW is not a small fan-run convention though. They almost certainly carry insurance for this kind of thing.

<comment><USER5> Right, but that doesn't mean there aren't remaining incentives that tempt unscrupulous organizers.

Insurance, if underwritten correctly, just turns a crippling loss into a moderate loss, not into a break-even.

</comment></comment></comment></comment><comment><USER6> I can understand why people want refunds (it's not their fault), but also understand why SXSW may find it financially impossible to cancel (it's not their fault either).

To be honest, this is the type of call that ought to be made by governments, not individually by private citizens/organizations. Either all conferences nationwide should be cancelled, or none, but that's not a decision any can make individually.

If this is a national emergency, let's take national responsibility and share the burden nationally. Have the government shut down conferences, if that's the right call, and use tax dollars to reimburse the conference organizers to a reasonable level, that they are also forced to use to reimburse attendees to a reasonable level.

Really, how is this any different from flooding or hurricane damage that gets federal money to rebuild? A national emergency is a national emergency, period.

<comment><USER7> Really shouldn't conferences be paying for insurance against X?

<comment><USER8> Force majeure. If that would not be in insurance agreements then every insurance company in the world could go broke in case of a pandemic.

<comment><USER9> Shouldn't actuaries take this possibility into account?

<comment><USER8> I am sure they do and that is why it exist. Basically, it is an exemption for Black Swan events that affects a lot of people at the same time.

</comment></comment></comment></comment></comment><comment><USER10> I was honestly amazed to hear that it's still going on. Everybody knows that conferences are giant petri dishes. I know some people who just book time to get sick after a major conference.

I'm sure that a ton of people have bet money on SXSW, of course, so doing the right global thing could be very painful personally. But I think that's exactly the kind of thing government should step in and solve. However bad not doing SXSW would be for the local economy, a pandemic would be way worse.

<comment><USER11> _> Everybody knows that conferences are giant petri dishes. I know some people who just book time to get sick after a major conference._

Common enough occurrence that it's been named "con-plague".

Even in a good year it's almost expected to catch something at an event that brings so many people into close quarters.

<comment><USER12> Conferences are all about cross-pollination. Sometimes it's ideas, sometimes it's serious illnesses.

<comment><USER13> > Conferences are all about cross-pollination. Sometimes it's ideas, sometimes > it's serious illnesses.

Just like open offices.

</comment></comment></comment></comment><comment><USER14> The sheer greed of SXSW will push this festival through no matter what. Talk to any Austinites running local businesses and they will tell you horror stories of code enforcement, law suits, and outright bullying from the SXSW brand.

<comment><USER15> It may not be sheer greed. It may put them out of business forever.

<comment><USER16> Should we prioritize the survival of human beings over corporations?

<comment><USER17> I don't think that's what the parent comment is suggesting. Instead they're saying that it might not be greed in the sense of "wanting to make an extra 5% no matter what" but a lose-the-whole-business question. That's not to say it's not the right thing to do, but it does help to realize that the picture isn't so black and white.

<comment><USER15> Nobody is being forced to go to SXSW, get sick, and die. This is simply about who foots the bill.

</comment></comment></comment></comment></comment><comment><USER18> While I think this is an interesting and important topic, and a complicated judgement call, I'm trying to figure out why a random internet poll is playing a serious role in the conversation.

<comment><USER19> As a proxy for the sentiments of the hundreds of thousands of stakeholders (aka regular people) who don't have corporate PR departments to make their views known?

<comment><USER18> Or a proxy for a few hundred Austin residents who are annoyed by the traffic jams. Or as a proxy for bots representing a competing conference. Or who knows. That's kind of the problem with random internet polls.

</comment></comment></comment><comment><USER20> I just got word that the Adobe Summit 2020 conference I was set to attend has been canceled. I believe the event had ~17,000 attendees last year, which is but a fraction of the SXSW attendance. Most of the attendees are based in the US too...

<comment><USER21> Adobe Summit 2020's cancellation was also discussed on HN yesterday [0].

[0] [https://news.ycombinator.com/item?id=22470462](https://news.ycombinator.com/item?id=22470462)

<comment><USER15> These get canceled because employers don't want the liability if they require attendance at a conference and a person gets very ill.

The majority of people at SXSW are there for recreational/personal reasons and are not directed to go there from an employer.

<comment><USER22> Except, you know...for the people working local venues and establishments during SXSW, right?

<comment><USER23> I think it's that employees who get flown to $1000-a-ticket conferences by their employers get treated better by their employers than food service workers.

<comment><USER22> I wholly understand that, I'm speaking directly to the employees who live and work in Austin and very likely wont have their shifts cancelled like those $1000-ticket holders would (speaking from experience).

Sorry, somehow I keep forgetting that trying to bring up the fact that there are classes of people not making software engineer money that would be just as affected by some of the hypotheticals on HN is a no-no.

<comment><USER24> They don't really enter into the calculus for running or not running these events but there are a huge number of local people who provide food/drink, security, audio, janitorial, registration, etc. for these events who lose a week of work when events are canceled—probably with no compensation.

<comment><USER22> _They don't really enter into the calculus for running or not running these events_

I would beg to differ as many "official" SXSW events rely on local venues to host them, Austin Texas is not a large city, geographically. It's just very _dense_. There is not a surplus of concert and event space outside of Auditorium Shores and the Long Center for keynotes and expos.

Otherwise, the festival HEAVILY relies on local establishments and venues in order to even exist; especially for SXSW Music. Again, speaking from direct experience having worked as a crew lead at sxsw for 12 years, local venues are critical to the success of this festival. And that's where many of these people work. Their availability and their health absolutely factors in, or at least it _should_.

The workforce behind this festival extends from stage and production crews to bartenders and hosts to unpaid volunteers who live in Austin and simply want to be a part of the festivities (since volunteering qualifies you for free access to certain events, depending on your role) and whose sole job is interacting with festival goers providing direction or interacting directly with people, handling brochures, exchanging money at registers or checking badges.

Downplaying the impact to the local community and the local workers who make the festival happen behind the scenes isn't fair.

<comment><USER24> I think you're violently agreeing with me. I meant that, even SXSW aside, the decisions being made to cancel or not cancel tech events is almost certainly not taking the local impact into account.

<comment><USER22> Expanding the point ;)

But it's a shame, really. I get why such a petition would exist, I also don't envy the position Addler finds himself in these days.

<comment><USER24> I would not want to be an event organizer these days. None of these decisions are easy.

<comment><USER22> I mean, small industry events can be a blast and pay really well. In 2014 I put together a crew who ran production for the Austin Technology Council CEO Awards show, it was a small affair for about 30 startups and the ATC, no more than about 200 people.

If you can get a reliable crew and know what you're doing, it can be kind of fun and rewarding with a great deal of technical autonomy.

As I get older part of me wonders if it makes sense to just focus on small corporate events to supplement the daily DevOps job.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> What about sporting events? 20k people gathering every night in cities all around the country. Are the NBA, NHL, NCAA just going to cancel playoffs? Or play in front of empty stadiums?

<comment><USER26> Top soccer teams have been playing in empty stadiums, so why not?

[https://www.pennlive.com/sports/2020/02/italian-soccer- game-...](https://www.pennlive.com/sports/2020/02/italian-soccer-game-played- in-empty-stadium-due-to-virus-fears.html)

<comment><USER27> Italy has 2000+ cases and the US only has 100+.

[https://www.nytimes.com/interactive/2020/world/coronavirus-m...](https://www.nytimes.com/interactive/2020/world/coronavirus- maps.html)

[https://www.arcgis.com/apps/opsdashboard/index.html#/bda7594...](https://www.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6)

I understand this might be because of lack of testing in North America (Canada too) but it still makes a big difference with per capita rates like that in Northern Italy scaring people.

</comment></comment></comment><comment><USER28> I'm at a small ~500 attendee conference today and I'd say only about 2/3 of everyone bothered to show up. We're here in NYC where we just had our first covid19 cases.

People are scared.

<comment><USER29> No - they are responsible. It is irresponsible to show up to these events when the mortality rate for 70+ year olds is so high for the virus.

These events just exponentially multiply community transmission so while everyone there might be 30ish and just gets a bad flu, the bigger point is that they are spreading it to their communities at home and disproportionately at-risk populations.

<comment><USER30> Also - and this is critical - the more it can be slowed down, the less likely it is that the health system gets overloaded, which would lead to more deaths than if the exact same quantity of people become sick over a more drawn out period of time.

</comment></comment></comment><comment><USER31> What does SXSW even do for the tech industry? Is it just advertising for companies and people peddling themselves as influencers?

<comment><USER32> Remember that SXSW is more than just tech. It is like three connected conferences: music, film, and "interactive" aka tech.

<comment><USER31> Oh yea I agree, SXSW music & film are great. But as someone who's been to SXSW I don't understand the point of SXSW "interactive". And in this article it's talking about big tech companies backing out.

Really what I'm saying is who cares if tech pulls out? Its the worst part of the conference. I can't imagine anyone other than Austin beer & discount ice sculpture sellers would mind if SXSW interactive disappeared forever.

<comment><USER32> That's fair. I think that, like many things, it's very important to a specific group of people, and irrelevant to many others. For a long time, SXSW was the cool place to launch your startup, and many people who still run in those circles remember launching their startups there, and have fond memories, etc.

</comment></comment></comment></comment><comment><USER33> A bit OT, but the World Figure Skating Championships are being held in Montreal at about the exact same time as SXSW is suppose to be held(a couple weeks in mid-March). Which is fine by me. They're taking a lot of precautions but a lot of these people who attend these events come from east-asian countries... especially Japan. And they don't offer refunds on tickets which I think could result in quite a few people attending because of the "sunk cost" mentality that they don't want to lose what they paid for.

Governments are extremely reluctant to restrict travel and thus event organizers too are reluctant to do much more if it affects how much money they make.

I live nowhere near Montreal, but if I did I would lobby the local governments to see what can be done to reduce travel from the most affected countries.

</comment><comment><USER34> One established possibility is that corona won't be contained. With 2009 H1N1 outbreak it spread quickly, eventually to an estimated 11 to 21% of the global population.

H1N1 turned out to be much milder than initially feared, causing little more than runny noses and coughs in most people. And H1N1 is now so commonplace, it's simply seen as a part of the seasonal flus that come and go every year among the global population.

If you're of this school of thought, then the panic may seem a bit much.

[1] [https://www.adn.com/nation-world/2020/03/02/how-is-the- coron...](https://www.adn.com/nation-world/2020/03/02/how-is-the-coronavirus- outbreak-going-to-end-heres-how-similar-epidemics-played-out/)

<comment><USER35> Except there's enough cases now that show that isn't the case. The H1N1 was more "mild" than the speculation but COVId-19 isn't. H1N1 also managed to be starved out more or less, but so far that doesn't seem to be a real possibility for COVID-19.

If the olympics are being considered to be postponed, and tons of large conferences have already been canceled paired with companies stopping all international travel & discouraging domestic travel that's more than enough evidence that the right thing to do is cancel your event.

The thing that a lot of folks seem to be missing is as a healthy, young adult you're probably going to be fine if you get it and take care of yourself. With a longer incubation period than H1N1 though, you're more likely to spread it to others who may be immunocompromised or at risk if they get it. That's the risk with a conference, you can end up infecting many folks who infect other folks leading to high death rates.

The only way you don't do that is you start to make the hard but right decisions to cancel events. China acted very quickly with quarantines outside of Wuhan, which is why the numbers are not growing at the same rate it was previously. There will surely be a second spike with spring break & other travels in the spring as China re-opens more areas but this isn't going away, it's only going to stay at the same rate or get worse over the next 6-8 weeks.

<comment><USER36> > The thing that a lot of folks seem to be missing is as a healthy, young > adult you're probably going to be fine if you get it and take care of > yourself. With a longer incubation period than H1N1 though, you're more > likely to spread it to others who may be immunocompromised or at risk if > they get it. That's the risk with a conference, you can end up infecting > many folks who infect other folks leading to high death rates.

Yeah, this! It's worth repeating.

</comment></comment></comment><comment><USER37> There's so much money tied up in SXSW for the entire city that I'm sure there's a ton of pressure to keep it on no matter what.

<comment><USER38> They may be insured. However they may also have a large deductible and need to eat quite a few costs.

<comment><USER39> most insurance companies will play the "force majeure" card in order to exempt themselves from reimbursing clients.

No insurance company is solvable against a global pandemic event.

<comment><USER40> _No insurance company is solvable against a global pandemic event._

Except Berkshire Hathaway:

[https://www.reuters.com/article/us-berkshire-buffett- insuran...](https://www.reuters.com/article/us-berkshire-buffett- insurance/buffett-says-berkshire-can-handle-400-billion-mega-catastrophe- idUSKCN1G80RA)

If Warren Buffett himself survives, I expect to see his shareholder letter next year talking about how their losses notwithstanding, COVID-19 left Berkshire Hathaway in a stronger position relative to the rest of the insurance industry, and has improved their outlook for the future.

</comment></comment></comment></comment><comment><USER41> If the event is cancelled by the city or other government body there is probably event insurance which is triggered which can pay for refunds. Events like this, even ones with lots of sponsorship and corporate interest, do not usually have high margins. As a result, any cash they have right now is needed to pay their suppliers.

I doubt they have money to refund more than a fraction of tickets. The responsible thing is for the local government to cancel it. Ideally SXSW would make this decision but ultimately they are not public health experts.

</comment><comment><USER42> > "The pressure to cancel SXSW over coronavirus concerns intensified this week > with Twitter and Facebook issuing corporate travel bans including the > gathering"

Can anyone from Twitter or Facebook comment about what travel ban their employer has implemented? I work for a smaller tech company which has cancelled all international travel, and implemented a 14 day quarantine (i.e. mandatory work from home) for any employees returning from abroad. But we don't have any restrictions on traveling domestically.

</comment><comment><USER40> By contrast here is what a small conference is doing right now:

[https://www.cesmii.org/cesmii-2020-annual- meeting/](https://www.cesmii.org/cesmii-2020-annual-meeting/)

Doing this at the current time is a little premature to be so worried, but the general idea is sensible.

</comment><comment><USER43> Their unwillingness to cancel points to a deeper problem, and I don't think that problem is greed.

I'm convinced it's an insurance restriction.

Anyone know SXSW's umbrella insurance provider?

</comment><comment><USER44> I also wonder why KubeCon EU haven't cancelled their conference in Amsterdam happening next month as well..

</comment><comment><USER45> Maybe we should cancel large gatherings every flu season.

</comment><comment><USER46> Money before people - nothing new under the sun!

</comment><comment><USER29> It's just irresponsible that SXSW and KubeCon (Amsterdam) have not canceled. There should be public shaming of the leaders of these large events.

</comment><comment><USER47> Why aren't people covering their mouths and washing their hands?! I see so many people on the metro behave so carelessly.

</comment><comment><USER48> Nobody goes to SXSW anymore, it's too crowded these days.

</comment><comment><USER49> SXSW organizers should be sued by the city if any outbreaks caused by this stupid must-have event.

<comment><USER50> The city that has the power to force the event to cancel due to a health emergency?

<comment><USER51> Austin's city government is famously unresponsive to its citizens, viz the city's "CodeNext" building code reforms that are roundly hated by hippies, environmentalists, businesspeople, homeowners, and liberals and conservatives alike. Worse, SxSW pretty much calls the tune the Mayor and City Council dance to. They'll allow SouthBy to go ahead, and the deadly fallout won't be evident for another month or two.

<comment><USER52> Not to get off topic, but the building code reforms are necessary in order to help control the ridiculous rises in housing prices and rents here. We have the same problem as California, where neighborhood associations want to freeze things as they were 50 years ago, and use restrictive zoning and deed restrictions to prevent building multi-family housing (duplexes/fourplexes/apartments).

The city government is plenty responsive to its citizens, ~55% of whom are renters, not homeowners, and many of whom are young people who can no longer afford to buy in the city. The already-haves in legacy neighborhoods, who file most of the protests and speak in front of the City Council the most, are mad that they are being given equal consideration rather than special consideration as they have gotten in the past.

</comment></comment></comment></comment><comment><USER53> How many people go to SXSW?

[https://news.ycombinator.com/item?id=22464405](https://news.ycombinator.com/item?id=22464405)

"HIMSS 2020, a conference of ~45000 attendees from 90+ countries is still scheduled to go forward at Orange County Convention Center Orlando March 9-13 - even as major participants withdraw from the event and Florida declares a state emergency."

<comment><USER54> Total attendance for 2019 was 417,400: [https://explore.sxsw.com/hubfs/2019-SXSW-Event- Stats.pdf](https://explore.sxsw.com/hubfs/2019-SXSW-Event-Stats.pdf) (PDF)

I do think these stats may double-count some people, but there's no doubt it's a gigantic conference. It's much larger than most people realize.

<comment><USER55> That may double count some people, but it also under/fails to count the sheer number of people that just "come into town" for the parties, networking, and nonofficial events.

</comment></comment></comment><comment><USER56> "Hundreds of thousands flock to Austin for the event each year and its economic impact to the City of Austin was $355.9 million in 2019, according to an analysis by Greyhill Advisors and South by Southwest."

If it looks like a recession and sounds like a recession ...

It's amazing how rapidly confidence in the economy can evaporate.</comment>


O'Reilly acquires Katacoda–and a new way for 2.5M customers to learn - <AUTHOR> https://www.oreilly.com/ideas/oreilly-acquires-katacoda-and-a-new-way-for-2-5m-customers-to-learn <comment><USER2> Any news about whether it will be free for open source projects?</comment>


Ask HN: Is native Android development worth learning today? - <AUTHOR>

With cross development frameworks like Xamarin, Ionic, PhoneGap/Cordova and React Native around, is it still worth learning native Android development? <comment><USER2> I'll be more moderate than I thought I'd ever be and say it depends on your needs for the app you are building. Also depends on your definition of Native.

First Native can mean a lot of things in Android Land. For instance you mention Xamarin and React Native. Both of those are generating actual native binaries (googles byte code version of Java byte code) or rather React Native for android will when it's actually a thing, it's not released yet but should be somewhat soon. They are both a way of writing Native code in another language (C#, Js) rather like Scalriod let's you write a native Android App in Scala. The are a fundamentally different approach than Ionic or PhoneGap which are HTML5/JS/CSS based webapps that are packaged to be app-like. Also in android development Native is sometimes used to refer to C++ ndk development. Go is also being used sometimes (go 1.5 needed to support it) for native (meaning cpu native binary instead of byte code) code.

If you plan on being a Mobile developer as your day job than I say absolutely. If I'm hiring a dedicated Android dev, I'd expect that they are an expert in Android Java. Bonus points for knowing C++ ndk or Go ndk development because then I'm not really restricted as to what I could ask them to do on the platform. Some things like converting video in real time or intense calculations will absolutely require ndk level of performance.

If your app is mostly using a rest api or collecting form data, then ndk is way overkill. Rather it's a native experience depends on your goal. If you want the latest in Android API's or features or you want the smoothest most native feeling app, then Java is really the only choice. If you are more concerned about sharing code with and iOS project then Xamarin or soon React Native are the best choices. Lastly if all you really care about is having an "app" for a SaaS or other webapp then PhoneGap or Ionic would be a valid choice. For me I'd never use them but I'd rather have a great app or no app at all. I would consider Xamarin or React Native though, I think the user experience is close enough to a standard sdk app on both platforms that if you aren't a mobile game or mobile app based startup that it is probably good enough. Games are exception in that, there are a ton of cross platform options that are awesome. Unreal, Unity, Cocos, even phonegap or ionic packaging up a html5 game engine like phaser are all very good choices.

</comment><comment><USER3> Nobody knows where the mobile ecosystem will be in 5 years, but right now native is the way to go for 'ambitious' apps. Not only do all the major mobile teams I know write their app in Native Obj-c/Java, but also those that tried to use cross development platforms sooner or later decided that it was not worth it and restarted from scratch with native technology.

Maybe we will have some day a cross platform toolkit without any serious downside, but right now native is still the way to go.

If you are building a small app with limited resources, something like Xamarin might be a good compromise.

</comment><comment><USER4> Based on previous experience it all depends on what your app will be doing/used for. For some use cases your application might need to be integrated with C/C++ for performance reasons [[https://developer.android.com/tools/sdk/ndk/index.html](https://developer.android.com/tools/sdk/ndk/index.html)] in that case yes

However if your just building apps to display a few pictures, articles and minor social aspects probably not.

In my opinion it would be good to know native Android development instead of being at the mercy of frameworks. There will be a time when you meet some limitation but have no choice but to accept it or start writing native good which will delay your app significantly. At least with native Android you have more control.

<comment><USER5> I haven't used the others, but Appcelerator's Titanium compiles to native code and allows you to hook in native modules. You can use modules that other people have written or write your own. I first used it in 2011 when it was incredibly buggy, but even then it felt ridiculous to learn native development instead of creating an 80%+ shared code base for iOS and Android.

</comment></comment><comment><USER6> IMHO, these frameworks still cannot match the UX of a native app. Just like a HN post one of these days about desktop apps still being relevant despite web apps, native mobile apps have their use cases and if you really care about great UX you will want to develop native.

Another point is that, with any 3rd party framework, you might eventually come across some limitation that will make you regret your decision of not going native from the beginning.

<comment><AUTHOR>
      Just like a HN post one of these days about desktop apps still being relevant despite web apps

Interesting. Do you have a link to that post?

Thanks

<comment><USER6> Sorry for taking so long, here it is: [https://news.ycombinator.com/item?id=9861042](https://news.ycombinator.com/item?id=9861042)

By the way, it would be great if HN had some sort of notification for when you get replies.

</comment></comment></comment><comment><USER7> If you want to make a living doing mobile, yes. If you are making personal apps then, no.</comment>


Why build your Java projects with Gradle rather than Ant or Maven? - <AUTHOR> http://www.drdobbs.com/jvm/why-build-your-java-projects-with-gradle/240168608?queryText=Why%2BBuild%2BYour%2BJava%2BProjects

<comment><USER2> > [Gradle] makes the right move to abandon XML and introduce the dynamic > language Groovy to define your build logic. Sounds compelling, doesn't it?

> Even though it wasn't part of the core Maven project, a similar approach was > proposed by the project Maven Polyglot that enables you to write your build > definition logic, which is the project object model (POM) file, in Groovy, > Ruby, Scala, or Clojure.

Perhaps Gradle also needs to enable us to define our build logic in "Groovy, Ruby, Scala, or Clojure" instead of just Groovy. To attract projects primarily built with JRuby, Scala, and Clojure away from Rake, SBT, and Leiningen, Gradle needs to not just handle polyglot projects but also to actually become polyglot itself.</comment>


Writing Sustainable Python Scripts - <AUTHOR> https://vincent.bernat.ch/en/blog/2019-sustainable-python-script <comment><USER2> This seems like great, practical advice. I usually get to step 2, documentation (however minimal) and command-line parameters. This inspires me to go the next step and add proper logging (instead of print statements) and unit tests as well.</comment>