I work at Google, but this is based on stuff I knew before I worked at Google, which I heard from a coworker. I haven't checked on the project since joining. The Puppeteer TL (the guy linked in the grandparent comment) apparently had ambitions to make Puppeteer work cross browser like Playwright does now. However, the Puppeteer project was heavily deprioritized and the TL would basically never be able to achieve their vision. This made it pretty easy for Microsoft to basically take the entire Puppeteer team from Google. That coworker of mine told me also that after all those Puppeteer devs left, Puppeteer is now basically only a 20% project worked on by a few people. The number of open issues/PRs done kinda reflects that (no idea of this is still true or not)
I manage the team at Google that currently owns the Puppeteer project.
The previous team that developed Puppeteer indeed moved to Microsoft and have since started Playwright.
While it is true that staffing is tight (isn't it always), the number of open issues does not tell the full story. The team has been busy with addressing technical debt that we inherited (testing, architecture, migrating to Typescript, etc) as well as investing in a standardized foundation to allow Puppeteer to work cross-browser in the future. This differs from the Playwright team's approach of shipping patched browser binaries.
> The team has been busy with addressing technical debt that we inherited [...] migrating to Typescript
Wow, not writing stuff in TypeScript is now considered technical debt? I knew people were already rushing to rewrite everything in TypeScript if they could, but didn't knew we'd come this far along the hype-cycle already.
Yes definitely. I've worked at two companies in three years spanning 250,000 employees and both companies consider writing JavaScript deprecated in favor of typescript.
I used Puppeteer on a project recently to generate some really big and complex PDFs that would have been a massive pain to do any other way, so thanks for your work, and I'm very happy to hear that the project isn't dead.
Glad to hear that. Puppeteer still has a number of compelling things over Playwright (like not shipping patched binaries) so I hope competition in this space can continue to happen :)
"Each version of Playwright needs specific versions of browser binaries to operate." [0]
They patch and compile browser binaries so they have the functionality Playwright needs.
Their build of Chromium is one release ahead of what's out but it looks like one could maintain a library of older Playwright browser binaries to test with. They probably have an older Firefox 91 binary that's feature-equivalent to the current Firefox ESR. Their WebKit builds won't ever be exactly the same as Apple Safari.
I recently did this and it took ~1 month with me doing around 15 calls with various teams. I think I was atypically slow and most people find a team within 5 calls or so. The really unfortunate part is that you don't get any offer numbers until after this is done. That means lots of people will go through with the team matching even if they aren't really planning to go through with Google just to get offer numbers.
> [15] Design APIs with migration to new implementations as a first-class consideration; custom migrations are huge time-sinks and sources of unreliability. Every major API should have a single CLI-driven call for switching implementations.
I've never actually thought about doing this as an initial design principle. I wonder how it materially affects the design.
The first engineer on the Delos team here. This design decision gave us an edge: we delivered the first production cluster in 8 months by layering over existing systems ; and we smoothly migrated all underlying implementations in the following 2 years without our customer aware of it (0 downtime). This design decision is well captured by the OSDI’20 Virtual Consensus in Delos paper.
Very interesting. How did you deal with the issue where the old API had some feature X that wasn't supported in the new API but some customers depended on feature X?
I guess that a hard question for user facing API: you need to support both the old and the new features during the migration.
In our case, this design principle mostly applied to our internal APIs. Particularly, we designed our internal sub components (consensus protocol, particularly) in a way we can swap it without any downtime.
Right. So it seems you did a lift and shift over two years without changing the basic API surface. That’s ok, but stability of requirements throughout a rearchitecting project is a luxury and not the norm
We use the same principle on some of the frameworks I have worked on, it pushes you to make the API more explicit and keep the context localized. That makes codemods easier. This can sometimes lead to a more verbose / less magical API, but IMO at scale the tradeoff is worth it.
I'm surprised this article has no mention of things like visual novels which are generally considered video games, but pretty much work just like novels.
Also, Trails in the Sky (and the trails series in general) have a pretty solid story.
It's interesting how little the broadcasts of other nations changed whereas American news just replayed 9/11 footage time and time again. The CCTV played a soap opera and BBC was focused on mad cow's disease. It also appears that NHK was much more focused on a typhoon in Hokkaido.
The creators of this website unfortunately did not consider that BBC broadcasts in British time. You have to jump to 1:59 PM (= 8:59 AM NYC time) for the beginning of the BBC coverage.
I personally vividly remember watching the news on BBC World and saw at least one of the towers collapse on live TV. You don't really forget something like that.
That's just false. Becoming a Japanese citizen isn't harder than being a permanent resident and in some cases it's easier (https://www.turning-japanese.info/2010/07/faq-which-is-more-...). The most common thing is that people don't want to become Japanese citizens because it requires giving up their native citizenship and the benefits of permanent residency is basically equivalent to that of citizenship (other than voting).