Hacker News new | past | comments | ask | show | jobs | submit | marcusf's comments login

An extremely layman answer is that most interesting innovation in parsing in relatively modern times has happened seems to be in the context of IDE's. I.e. incremental, high-performance parsing to support syntax highlighting, refactoring, etc. etc.

(I may be talking out of my ass here.)


Actually the most important step of parsers (as even non-incremental, slow (or better: not fast) parsers are fast enough) is error recovery (error resilience) from syntax errors (mostly half written or half deleted code). What is time consuming is e.g. type-checking. Semantic checking in general, like exhaustiveness checks of pattern matches, syntax checking is fast.


In the days of punched cards error recovery was important.


Parameters and training corpus size matter. Last year a new paper (Google "Chinchilla optimality") focused on compute-optimal LLMs found that we'd been under-training models -- i.e. you could wring more performance out of smaller models by training on more data. But (as far as I understand it - interested layman here) - for a given amount of data, model performance seems to scale more or less linearly with parameters.

Now, we could see another model architecture than the current reigning transformer architecture upend this (much work is ongoing on breaking the quadratic term in the transformer that computationally bounds its performance - an example is the Hyena paper that was published just the other day).

Biggest computer and most data wins is still the paradigm here.


Eric, want to echo what folks are saying here. I stumbled on your blog in high school (ca 2003?) and you (and Raymond Chen) fueled so much of my passion for compilers and API design respectively, which dictated both my school choice and at least some career choices later. You were highly influential from afar :)


Exciting


Huge difference between a brand likey Disney able to pull off a streaming service and smaller producers. Smaller producers need demand, and for video demand = youtube.


I don’t think that right.

For instance, let’s say I’m a comedian and have a thousand loyal followers. Why couldn’t I just pay $20/month for a PeerTube hosting service with my own brand. Then I can just tweet out the links.

Why would I need YouTube?

As another example, let’s say I’m a white supremacist, and I have a hundred followers. I can email a link out to them and never worry about censorship by YouTube.

So demand can be small, and it still works. In fact, since I now have more control over the experience, it can be much more tailored than youtube.


Happily we announced Chromecast support today: http://www.wired.com/2015/09/spotify-might-best-new-thing-ne.... Hope you like it!


That's fantastic. I'll definitely give it a go, my life is measurably better with Spotify.


as an enthusiastic spotify user and chromecast user, thank you!


Caveat that I might be completely off, but if, say, 10 bn people tried once a nanosecond since the inception of the universe, you'd still have only 10^10 * 2^86 ≈ 2^33 * 2^86 = 2^119 attempts, that still only cover's 2^-9 (i.e. 1/512th) of the total addressable 2^128 space, i.e. still fairly unlikely that you'll have hit that specific number.


Not to discard your comment, but wrt Stockholm: Build higher! Urbanize areas outside of the core inner city. Lots to do in planning and building to not create artificial social policy.


Has been done in many European cities in the 60's and 70's. Those are now places nobody wants to live anymore, and many of them have been torn down.

The only people who want to live "higher" are the people who want high end apartments in the inner city. And those are the places where height restrictions are there to protect the historical nature of the inner city.


I think it's a mistake to compare Le Corbusier-style "areas for living" with modern urbanised zones. The big issue there is that – sure – there's highrises, but no urbanisation. Usually because they are either lacking commercial space on ground floors or the density is too low, on aggregate, or the areas are too spaced out to support vibrant commercial centers. Look at stockholm, you have city, greenery, suburb, greenery, suburb. No urban connection, not enough density.

I've lived in areas like this myself, and I agree they're not nice. However, I have to think it's not only locality to city center that makes central areas good, it's also that they are self sustaining burrows. There's ample housing, parks, jobs, retail, restaurants, bars, etc.


I'm subjective, but I think Spotify uses slightly innovative ways of organising. See: * https://labs.spotify.com/2014/03/27/spotify-engineering-cult... * https://labs.spotify.com/2014/09/20/spotify-engineering-cult...

Happy to answer questions.


Thanks for making it clear that you work at Spotify. Transparency is good start :-)

I just watched both videos. Thanks so much for doing these ! Or maybe thank Henrik when you see him, haha :-)

I have a lot of questions.

From what I understand, Spotify squads each focus on one area and each squad has very different members so it can stay autonomous. Is that right? What happens if sysadmin / developer / designer from squad X gets hit by a bus ? I'm actually talking about the bus factor [1] here, I hope you are all well :-)

How often do you change squads ? What about tribes ? The second video mentions "guild unconferences". What is that ? Can squads work remotely ?

How does code review work at Spotify ? For the last 2 weeks, we've been using pull requests on Github, which I've found to be a very good way of doing code review. Since the reviewer is the one to merge, eventually his/her name is on the commit too, which in my case makes me focus even more before hitting the "Merge" button. Merging creates an explicit merge commit, which makes reverting things easy if needed. And discussion in the comments allow for efficient, asynchronous discussion.

The video talks about how important trusting employees is to Spotify. That makes me wonder: do employees sign such things as non disclosure or non compete agreements ? what do you (or what does Spotify) think of such agreement ?

For the last few months, I've been reading the Groove blog [2]. Recently, Alex, Groove's CEO, talked about how much time he was spending talking to customers. How much do you (devs, sysadmins, marketers, designers, etc) communicate with users ?

How do gradual rollouts work ? Do you use a third party service for that ? Would love to learn more.

Thanks again.

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

[2] https://www.groovehq.com/


Hey! Thanks for the long question. I'll pass on your regards to Henrik :-)

> From what I understand, Spotify squads each focus on one area and each squad has very different members so it can stay autonomous. Is that right? What happens if sysadmin / developer / designer from squad X gets hit by a bus ? I'm actually talking about the bus factor [1] here, I hope you are all well :-)

It's not always easy of course. I think the notion of T/M-shaped people apply. E.g. if only one person in a squad can do iPhone development, better spend time training some of the other people to do it as well. It also creates collaboration opportunities, which are highly important to actually make a team work. Then of course there is a lot of fluidity between squads. If squad X needs design help but are out of a designer, squad Y might lend their assistance.

> How often do you change squads ? What about tribes ? The second video mentions "guild unconferences". What is that ? Can squads work remotely ?

It varies. Some people have been in the same squad for two years, others are in new ones every six months. And generally, you change squads and if a tribe move has to happen, that'll happen as part of that. Squads are generally co-located though, so not many squads are remote-composed. A guild unconference is simply an unconference (http://en.wikipedia.org/wiki/Unconference) on a certain area, e.g. Machine Learning, Web, Mobile, Backend etc. So all the people who are interested in that get together for a day and debate the future of that area.

> How does code review work at Spotify ? For the last 2 weeks, we've been using pull requests on Github, which I've found to be a very good way of doing code review. Since the reviewer is the one to merge, eventually his/her name is on the commit too, which in my case makes me focus even more before hitting the "Merge" button. Merging creates an explicit merge commit, which makes reverting things easy if needed. And discussion in the comments allow for efficient, asynchronous discussion.

We use GitHub as well. Roughly the same model.

> The video talks about how important trusting employees is to Spotify. That makes me wonder: do employees sign such things as non disclosure or non compete agreements ? what do you (or what does Spotify) think of such agreement ?

We think trust is highly important, and embodied in what we share internally and how open we generally are. Not sure I can comment on the legal aspects of that though.

> For the last few months, I've been reading the Groove blog [2]. Recently, Alex, Groove's CEO, talked about how much time he was spending talking to customers. How much do you (devs, sysadmins, marketers, designers, etc) communicate with users ?

Never enough :-) We do spend a lot of time with user research, both structured via our research team but also Starbucks testing, when a few devs go down to the local coffee shop and test features. Then we have community outreach teams that keep us honest and makes sure to push the customer voice inside the company. Also, a ton of engineers hang around on e.g. /r/reddit and asks questions. And when users blog about or voice their concerns, it does make the round on internal lists.

> How do gradual rollouts work ? Do you use a third party service for that ? Would love to learn more.

Mostly custom built, and it varies a bit between the backend and the front end. It's all the usual jazz though, deploying per machine or percentages of users or localized to markets etc.

> Thanks again.

Hope I at least answered some of the questions.


Thanks for your input Marcus. Had never heard of "Starbucks testing". Sounds good though! :-)


How does accountability work at Spotify? It looks like your squads have a specific goal (and maybe a leader?) but when you get up to the tribe level it wasn't clear if one person is in charge of a tribe, or if a product, design and tech lead all share authority. If that is true, do you guys not suffer from the tyranny of structurelessness? How do you do strategic planning/coordination?

How do teams that are not engineering focused get stuff done? For instance a customer support team or marketing team - would it have its own engineers and engineering management?

Edit: finally, how long have you worked at Spotify with this culture?


Sorry for late answers here but thanks for asking questions!

> How does accountability work at Spotify? It looks like your squads have a specific goal (and maybe a leader?) but when you get up to the tribe level it wasn't clear if one person is in charge of a tribe, or if a product, design and tech lead all share authority. If that is true, do you guys not suffer from the tyranny of structurelessness? How do you do strategic planning/coordination?

Squads don't have leaders, but they do have product owners who ultimately owns the roadmap of the product owned by that squad. A tribe is lead by a trio of engineering, product and design. Responsibility for the various facets of the tribes output is divided between the three roles.

> How do teams that are not engineering focused get stuff done? For instance a customer support team or marketing team - would it have its own engineers and engineering management?

Yeah, the tech/product side of that have homes in tribes as well.

> Edit: finally, how long have you worked at Spotify with this culture?

I've been here 2.5 years. This structure has been in place for roughly three years, maybe a bit more.


I recently spoke to a recruiter at Skyscanner, and he mentioned that they have also adopted a similar model to Spotify. He called the model "Squads and tribes".


I work for Skyscanner, and can confirm this. It's a very effective model for managing a business this size, and IMHO fosters innovation within the business. Very basic description of the model as it is at Skyscanner:

Tribes - High level products (hotels, flights, car hire)

Chapters - "Departments"; areas of expertise (data acquisition, front end)

Squads - Autonomous project units (New features, development of an existing feature)

Guilds - Informal interest groups (Linux, Python, agile development)

Everyone is in a Tribe and a Chapter relating to their "department", and area of expertise; Squads are formed to work on projects, then disbanded once the project is finished; anyone can join and participate in Guilds, which serve as interest/support groups for technologies/strategies/methodologies.

Edit: Corrected my brainfart. Thanks ssabev! Can't believe I did it twice...


I suppose the difficult thing to gauge is whether using these cool-sounding names has any effect.


That's a good question. I think about it as a way to distinguish from e.g. departments, projects etc and set the connotation that these are different things. If you use them to mean a 1:1 mapping to e.g. projects, then it falls apart. The terms aren't important per se.

In other words – you can't make a race horse by painting a pig brown.


Cool to hear our model is getting adopted. A big difference here is that chapters at Spotify aren't departments, they are usually fairly small (5-10 people), and that squads are long lived, rather than project focused.


Just a minor correction :)

Guilds - Informal interest groups (Linux, Python, agile development)


Yes, here is a video explaining some of it.

http://vimeo.com/85490944

Never worked at Spotify but they seem very innovative (and they already let me rock out for eight hours everyday), so hey, nothing to bad say on my end.


Very impressed by Spotify. Do they have deadlines?


Sometimes. But as a general principle, we ship on quality, not time.


thank you for sharing marcus! i use spotify everday and know i like it even more. also: great videos. you've got a talented graphic facilitator there


Great to hear. And yeah, Henrik is teaching wizard. I'm sure he'll be happy to hear though :-)


Dropbox?


I'd say Google Drive, because the web app is so complete and nice that for simple purposes, you wouldn't mind not installing the desktop client, especially since you edit the files on the web anyway. So off-site storage + collaborative editing = Google Drive. Dropbox, on the other hand, is mostly a file syncing service; they may have some photo features on their web app, but that's it outside of file syncing.


Can't disagree with GDrive being awesome. However, I was responding to the parent's suggestion that the parent's parent's quote was negated by e.g. GDrive.

With less double negatives: File syncing has actually turned out to be a pretty big thing, it just took (and this might be a bad list, but off the top of my head) 1. mobile adoption, 2. higher avg bandwidth and 3. someone getting it right. GDrive/Evernote/… does not negate that there is a demand for Dropbox.


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

Search: