HNHacker News
TopNewBestAskShowJobs

type_enthusiast

520 karma · joined July 7, 2018

submissionscomments
type_enthusiast··on Netflix open-sources Polynote, an IDE-inspired polyglot notebook
We didn't make graal a dependency, but we are absolutely planning to support graal languages in a plug-in. It's early days, though.
type_enthusiast··on Netflix open-sources Polynote, an IDE-inspired polyglot notebook
It's not a successor; nteract is a separate project (part of the jupyter ecosystem) and is alive and well. Polynote was started mainly to support use cases of our Scala-based ML engineering teams. It's a little bit apples and oranges.
type_enthusiast··on Netflix open-sources Polynote, an IDE-inspired polyglot notebook
Currently just Scala and Python (via jep). Looking to add more (probably starting with Java and clojure) but haven't had time yet. There's just two of us working on it so far. PRs welcome!
type_enthusiast··on Netflix open-sources Polynote, an IDE-inspired polyglot notebook
Why resist? That would be awesome!

The server use case is real, though. Users typically like to run it on a beefy cloud machine with access to a Spark cluster.

type_enthusiast··on Netflix open-sources Polynote, an IDE-inspired polyglot notebook
The SQL support is done through Spark, so it's not particularly novel – Zeppelin for example supports SQL similarly. We've talked about adding a more general SQL interpreter, though. Happy to hear any suggestions about it!
type_enthusiast··on An Introduction to Recursion Schemes (2014)
I think so. It's about factoring the recursion part out of a task, much like "map" is about factoring iteration out, and "fold" is about factoring out iteration+accumulation. I think scheme has both of these things; recursion schemes are the same idea but for recursion.
type_enthusiast··on An Introduction to Recursion Schemes (2014)
Agreed, these things could definitely do with plain, descriptive names rather than "hylo-mylo-bananafofylo-morphism". Like cata -> recursiveFold, ana -> [co]recursiveUnfold, hylo -> recursiveRefold, etc. It's tricky because i.e. there are many different "refold"s, but the others could be qualified further (and are comparatively rare in the field, I think...)
type_enthusiast··on At Netflix, Radical Transparency and Blunt Firings Unsettle the Ranks
I wouldn't say the culture deck isn't followed. Just that it doesn't say what people in this thread seem to think it says. Have you looked at it? I wouldn't call it "scary". There's one section that's a little bit intimidating for a humble person who doesn't think of him/herself as a "rock star". I think that can cause impostor syndrome in many new hires. But it passes (at least for me), and the ability to trust any given colleague to do great work (and for them to trust you to do the same) is extraordinarily refreshing.
type_enthusiast··on At Netflix, Radical Transparency and Blunt Firings Unsettle the Ranks
Both the manager and the friend-of-friend could be correct – it depends on the team. Some teams encourage (but don't require) a group feedback session where everything is out in the open; others encourage private feedback.

But either way, the goal is the same – not to target you or make you feel inadequate, but for you to discover things that you might not have realized were negatively impacting the team.

Group feedback meetings do exist, but I can't imagine that anyone would be penalized (even in thought) for choosing not to participate.

The way I see it, people will talk about their coworkers at any workplace. At most places it's behind their back; here we have respect enough for one another to give each other constructive feedback directly instead of gossiping. It makes a lot of sense to me, but I guess not everybody feels that way. If your manager doesn't make it clear that group feedback is optional, that would be a great piece of feedback for your manager!

So I think "criticized in public as a matter of course" is a mischaracterization. IME managers go to great lengths to ensure that people are treated respectfully and not made to feel pressured to participate in things they aren't comfortable with. And "fired one day unexpectedly" is certainly not the norm – I'm not aware of anyone who was let go without having been told weeks or months in advance about issues they needed to address. That's not to say it couldn't happen, because it could happen at any workplace. But it's not the norm.

Edit: Should also mention that the feedback cycle also includes positive feedback. It's not just a gripe fest. You identify things that your colleague is doing well/things you appreciate, and also things that they could improve.

type_enthusiast··on At Netflix, Radical Transparency and Blunt Firings Unsettle the Ranks
> So every employee gets to be badmouthed in front of as many as hundreds of former co-workers, as Netflix's special parting gift?

This isn't what happens, as far as I've seen. These e-mails/meetings don't badmouth people or imply that they weren't competent. They give context around specific ways in which the person wasn't meeting expectations (as well as outlining out the ways in which the person was positively contributing). IME it's valuable context and isn't an assault on anyone's dignity (or "trash talking") like you're suggesting.

type_enthusiast··on At Netflix, Radical Transparency and Blunt Firings Unsettle the Ranks
FWIW, "culture of fear" hasn't been my experience at all, and as far as I know it isn't the experience of the people I work with. I can't speak for other teams/orgs (I work in the ML org) but in the years I've been here I could count on one hand the number of folks (at least among those I knew) who were let go. I don't worry or think about my job security; I think about building better software (and from what I can tell, the same could be said for my colleagues).

The article really sensationalizes the culture deck for dramatic effect, IMHO. It's intimidating at first, but if you're good at your role and treat your colleagues with respect then (at least IME) you have nothing to worry about. The mood is collaborative, not confrontational – and I've never witnessed anyone being treated with anything but dignity and respect. Again, maybe different teams have their own "microclimates" – but that's been my experience.

So yeah, my two cents is that the article sensationalizes things and deliberately leaves context out of other things. I really wanted to keep my distance from this thread, but it makes me really sad to see how successful the WSJ was in getting people to buy in to the picture they set out to paint. I'll say one more thing (at the risk of sounding like a mouthpiece, which I'm not): Netflix has been hands-down the best workplace I've experienced in my career so far.

On the other hand, I've learned that I should view other "culture take-down" articles about tech companies with a degree of skepticism.

type_enthusiast··on World’s longest palindrome?
I have to point out Weird Al's "Bob": https://www.youtube.com/watch?v=JUQDzj6R3p4

It's not a palindrome, but is a semi-sensical song masterfully composed entirely out of palindromes (which also does a great job poking fun at Bob Dylan).

type_enthusiast··on Functional Typelevel Programming in Scala
As a shapeless enthusiast I agree with you that the Peano examples (which seem to be the go-to for any dependent types demo; not just for Scala... they must think it's helpful!) is terrible for people who don't already get dependent typing and logic programming. Which are the people you're supposed to be reaching with a demo.

I have a talk to intro typelevel proofs in Scala (with shapeless as the example target), that uses the kind of geometric proofs we all did in high school as an analogy. I think that's more of an accessible metaphor, but it also seems like precisely what Odersky is trying to eliminate in Dotty - the use of inductive implicit derivation to form "proofs" of invariants that are also implementations. Admittedly, it's an approach that seems rather difficult for a lot of engineers to grasp, which means it's of questionable utility. But it always seemed really elegant to me - type systems are about proving invariants, and Scala's just gives you powerful ways to prove things by unifying that concept into implicits.

← PreviousPage 4 of 4