14 ms·
Contributing to the Mozilla code base
- kentrado 7y agoI got interested in contributing to Firefox in the hopes that it would lead to a job. My thought was since obviously I could do the job, then they would hire me without having to go through the usual interviewing steps. Every time I have applied, I never got pass the recruiter. Never got a call to talk about my patches, just a generic rejection response. Then I realized that I was spending too much effort on a single company, so I stopped contributing and applying. Seems leetcode grinding would be a higher reward for the effort.
- megous 7y agoNice of you to contribute. Was it helpful to get a job elsewhere? Navigating a big codebase and adding/fixing things seems like a good skill to have demonstrated.
- timClicks 7y agoI've never worked for Mozilla, but I have found that contacting current staff and asking for a referral is a good way to get past the initial screen.
- paulluuk 7y agoImagine doing free work for a company to prove that you could do the same work for a salary, and then not even getting to talk to the recruiter. What a great time to be alive.
- dfcmt 7y agoWell, that was his prerogative. I don't think it's the standard.
- danso 7y agoSpeaking for myself, I’ll put in time on contributing to a codebase when that codebase is something I use and like. I’ll include links to significant contributions when someone wants to see my OSS experience. If it helps in their decision process, great. If not, I still got what I wanted, which is to better understand something I use and, to a lesser degree, improve it.
- Millennium 7y agoWhen it comes down to it, nothing ever entitles you to face time. You put stuff out and hope for the best, but it's always a risk. Nothing is guaranteed.
- Iv 7y agoHaving this in your portfolio is not a way to succeed in HR interviews, it is a way to bypass them totally.
- hu3 7y agoAre you saying that having previous Open-Source contributions to Mozilla in the portfolio would mean you're not going to have a chance with a job there? edit: I'd love to be wrong here. Feel free to correct me instead of just downvoting.
- pferde 7y agoGP was saying that you can avoid talking to the useless HR drones and get in touch with someone more technical at the company, and have them recommend you for a position, based on your contributions.
- ivanbakel 7y ago>My thought was since obviously I could do the job, then they would hire me without having to go through the usual interviewing steps. I would certainly hope not. It's one thing to fast-track from an internship or a coding camp, but any company that would be willing to do that for an open-source contributor who's never been interacted with in a professional environment would have serious problems with its hiring standards.
- hu3 7y agoFrom what I gather you're either: 1) Assuming it would be OP's first job. 2) Requiring previous professional interaction before even a job interview. Both seems weird to me and I'm grateful my first company didn't have those requirements for hiring.
- neilv 7y agoDepends on what you skip. If it's already obvious that someone can code, then parts like leetcode look like either dimwitted corporate inflexibility, or a transparent hazing power play. It seems like the majority of people in supposedly innovative dotcoms have oddly lumbering-big-corporate-drone ideas about this right now. Someone thinks they shouldn't have do to a distracting battery of whiteboard leetcode hazing, when obviously they can code, and they're happy to have real technical discussions-- and we're turned off by their prima donna arrogance. Their failure to comply with every unreasonable or abusive corporate demand is a showstopper. (That sounds like the kind of person who might object if they find out our entire business model is secretly spying on people and controlling them!) If the applicant further suggested that they also would like some basis for evaluating their prospective team members (just normally; not whiteboard hazing them), we'd totally flip out, and for years later would be mocking the arrogance of that one uppity jerk, who don't appreciate how our revered VC fore-funders commanded us, over 10 years ago, how software development culture works.
- 0xffff2 7y agoInternship sure, but how on Earth does a code bootcamp rank above actual contributions as an indicator of professional conduct?
- rxhernandez 7y agoThat's really weird. They reached out to me to do R&D with them and the work I did at that point in my life couldn't be further from what they do. I dont think there's very much rhyme or reason to getting people to contact you for a sw engineering position. I've had Google, Amazon, Stanford University and a host of other prestigious places reach out to me and go in good directions. On the other hand, I have never heard so much as a peep from Microsoft or Intel despite dozens of applications. I had friends that got into Microsoft right out of college and their programming ability wasn't above average nor were their social skills that much better. I have friends that I worked with that were at Intel and they complained that they could have done their job straight out of high school; conversely, most of my work up until recently required graduate level math.
- dao- 7y agoThis is how I got hired but that was many years ago. Getting hired wasn't even my intention, I just wanted to contribute. Mozilla has become bigger and things are more formal now. It's certainly still a big plus if you're part of the community and can let your work speak for itself, even more so if you captured someone's attention who'd like to get you hired, but you most likely won't be able to skip the interview process.
- GrigoriyMikh 7y agoI made some contributions(not very much, to be honest) to big open source projects. Was interviewed about 10 times in recent few months, and not a single interviewer was aware about my contributions to OS, despite that there's link to my GitHub in my resume. Also, when i mention my contributions to OS, interviewers usually not interested in that.
- skrebbel 7y agoIt's remarkably much work to discover the significant and relevant contributions someone did to OSS just from their github profile. Lots of people have forked millions of well known projects. No interviewer has time to go through all of them to find the ones that were forked for good reason, i.e. to make amazing PRs and not just to fool around a bit. Also, the contributions graphic (with the colored boxes) is often off-putting, because many people tend to also use GH for random weekend hacks, which are shown as "contributions" just as much as "oh I made Firefox 2x faster on BSD" kind of things are. To GitHub, a commit is just a commit, and "I ran create-react-app" and "Fixed impossible 10 year old race condition in Hadoop" are both shown as a green box. Spell out your relevant OSS contributions in your CV and/or your email. Don't just link to your GitHub profile, GitHub profiles are shit. To be honest, if you only link to your GH and then conclude that interviewers aren't interested in your open source work, then this gives me the idea that you're not that interested in your interviewers either. Help them out a bit!
- adrianmsmith 7y agoI interviewed at three companies over the course of a few weeks once, not one asked me about anything on my GitHub profile nor about my blog (200+ technical articles). I was a bit miffed. At the last one I asked to see the CV they’d been given; the recruiter had removed those links from my CV. (This was in Austria.) So had I worked on open-source or blogged solely to get a job, it would have been a complete waste of time.
- watwut 7y agoOverwhelming majority of people have no contributions or only small ones. Most people github profiles are a bunch of plat projects. The companies won't hunt on github. I don't think it does all that much difference even if they know about said contributions.
- jfk13 7y agoIf you've made a number of contributions to a project such as Firefox, there should be existing employees or senior project members who are familiar with your work (having reviewed your patches, etc.) Asking those people if they'd consider recommending you for an open position might then be a way forward.
- bzbarsky 7y agoYes! Start with the people who did the code reviews for your patches, since they are in the best position to judge your ability.
- rvz 7y agoDepending on how significant your patches are (No hello-world-123/typo/style fixes) putting 'Contributed to the Firefox Browser' on your CV/Cover letter and I find your email in the source code or AUTHORS file is a instant on-site from me. You don't need to show me that you can program/write tests or use version control. This saves me lots of time on finding candidates that are experienced, rather than throwing a leetcode/hackerrank puzzle which can be easily cheated or plagiarized. I think I might have said this before on another HN thread, but of course as an interviewer, I sometimes double-check the CVs and candidates to look for 'hidden qualities' such as open-source contributions. If one recruiter overlooks a candidate, I really ask them why and if the candidate DOES have significant and relevant patches, I actually bypass their decision and I bring them in onsite. I find these technical programming tests useless for finding qualified candidates unless you are preparing for a programming olympiad or some other competitive programming competition. But open-source contributions allows me to find the patches you made on code reviewing tickets and see it in the open. It would be better if more companies used open-source contributions as acceptable evidence of relevant experience these days.
- GrigoriyMikh 7y agoUnfortunately, that's not how big company recruitment processes work: https://twitter.com/mxcl/status/608682016205344768?lang=en https://twitter.com/mxcl/status/608682016205344768?lang=en
- rvz 7y agoWell, he was invited for a on-site interview at Google rather than being a direct hire. But after this rejection, Apple directly hired him to work with the Xcode team. In both cases he bypassed the recruiter and leetcode stages which are common steps before the on-site interview at most companies.
- martius 7y ago(disclamer: I'm a noogler, and I failed google on-site once). I think that citing this example every time "hiring at Google/Big tech" is discussed on HN is useless. We know that there are a lot of false negative and and lot of chance in the hiring process (so many things can fail in a process involving so many steps and people). There are also legitimate rejections, like hm, bold statements ("90% of your engineers use my software"), fingerpointing or not being able to seek for assistance when you don't know something. I discussed interviews with many people, and I'm convinced that solving the problem with the theoretically-optimal solution is not the only way to get a positive review. Being open about things I didn't know helped me: for instance "Hm, I'm not sure about how to do this exact thing, I'll use the function do_this_thing() and implement it later if I still have time, if that's OK for you" buys you time and allows to keep the discussion focused on the main problem.
- _pmf_ 7y agoMaybe you need to work on your diversity story? Make sure to have a rainbow flag and pronouns in your social media profiles.
- VBprogrammer 7y agoIs there some back-story here that I'm not aware of? Otherwise this just comes off as borderline homophobic.
- GrigoriyMikh 7y agoI'm assuming OP is being sarcasstic
- gnode 7y agoI think it was just an insinuation of reverse discrimination in Mozilla's hiring process.
- nguoi 7y agoOn that note, why should someone want to contribute to a project controlled by a single company if they don't need those contributions for their business? Many open source projects are far removed from the ideal of a disjoint group hackers making something nice in their own time. Contributors to Firefox, Chromium, Linux, etc. are usually paid to do work to enable things that the company they work for want[1]. If your contributions are significant but don't further those goals, you may be unable to get them merged. In my opinion, don't devalue your own work when you could spend it on a project of your own, or a smaller project that's genuinely a community effort. [1] Mozilla, Google (& many from Ubuntu), Intel
- lonelappde 7y agoI can't find a logical interpretation of this comment. It seems to conflate unrelated issues of open source ad companies. How does company interest in an open source hurt you? Why can't a corporation be part of the community? How is that in any way against an ideal? You can fork Firefox if Mozilla rejects your patches. Even small community hacker project maintainers can reject patches, and you can form of you don't like that. IMO, don't devalue your work by refusing to work on a project with millions of users and preferring unpopular low impact projects.
- millisecond 7y agoMy hunch is that you have a blind spot that’s getting you flagged at the recruiter stage. I’ve interviewed a ton of devs, I’d be happy to run through a sample interview and give you feedback if you’re up for it.
- thejj100100 7y agoI’ve never had a job interview before. What kind of things should be focused on when preparing for one? (I’ve still got a few years yet until I need to start thinking about jobs though.) I personally feel my confidence is a big weakness, but I guess that’s different to technical ability. Should I start with learning different algorithms, data structures, etc? Thanks
- millisecond 7y agoYou need all of that (structures, algorithms, confidence, etc), especially if you're going for a FAANG. But the biggest thing I see new grads lacking is the ability to communicate and collaborate effectively in the workplace and on teams. At most smaller startups that's maybe even more important than raw ability. Find any way you can to gain practical experience. Internships, consulting, open-source. Really anything. The bonus is that you'll gain confidence through this path as well. You'll know you're capable of doing the full job (not just the work).
- microDude 7y agoWow. Great community here on HN. Kudos to you.
- new_here 7y agoChrome is a dangerously slick browser, I found it takes a determined effort to switch and eventually get comfortable with Firefox as your primary browser. But we should support Firefox and give efforts and user feedback where we can to get it to the same competitve level.
- camone 7y agoCan you elaborate on what you found most unconfortable or difficult to adapt to? I switched to Firefox ~1.5 years ago and it does everything I need, actually never picked chrome up again. The android version is very good as well, but I just switched to iOS and it's not a very smooth experience there.
- mannycalavera 7y agoI'm a long time Firefox user but unfortunately Firefox has bad issues with performance/battery usage on MacOS. Multiple long standing issues are open. (such as https://bugzilla.mozilla.org/show_bug.cgi?id=1404042 https://bugzilla.mozilla.org/show_bug.cgi?id=1404042 - open for 2 years) I love Firefox but I had no choice and had to ditch it on MacOS. It seems Mozilla does not have the resources to fix these problems.
- skgoa 7y agoFirefox has performance and general software bloat issues on all plattforms. They sacrificed their original "tailor the browser exactly to your needs" approach on the altar of keeping up with Chrome on features.
- lonelappde 7y agoChrome also has perennial problems with CPU/battery/RAM on Mac.
- phendrenad2 7y agoNot really
- bovine3dom 7y agoSome shameless begging: if anyone picked up https://github.com/tridactyl/keyboard-api https://github.com/tridactyl/keyboard-api, it would make Vimperator-style WebExtensions much better as we'd be able to respond to user input everywhere in Firefox. We haven't been able to find the time to work on it. I'd be delighted to help anyone who was interested get started.
- imvetri 7y agoSame here https://github.com/imvetri/ui-editor https://github.com/imvetri/ui-editor
- zoobab 7y agoWhere is built-in support for all the decentralized protocols, such as torrent://, magnet://, dat:// ipfs:// etc?
- Cthulhu_ 7y agoHave you searched the bug tracker for proposals to implement this? Have you submitted these requests? Did you review any guidelines or outlines of features that Firefox should support? Leaving a comment on HN to (what seems to me) complain is easy; actually going to the issue tracker and mailing lists would be a lot more productive. I suspect you'll find that it has been proposed but rejected. I suspect it's because support can be easily added via addons, keeping the core more lightweight and extensible.
- kuschku 7y ago> keeping the core more lightweight and extensible I’m not sure if that’s sarcasm or not, considering the countless issues with CliqZ and Pocket
- dao- 7y ago> CliqZ and Pocket Cliqz made their own browser based on Firefox, and a Firefox extension. Pocket started as a Firefox extension and even when it got integrated into Firefox it was technically still an extension. If anything these cases seem to indicate that the core is lightweight and extensible. What's your point?
- wongarsu 7y agoI remember reading the issue on adding torrent:// years ago, the gist of it was "make an extension for that and if it becomes popular we might consider it"
- snek 7y agoMany of these protocols are already whitelisted by firefox so that they can be handled by extensions.
- brainlessdev 7y agoDefinitely recommend contributing to their codebase. It's a great experience. I wrote about my experience contributing to Servo here: https://brainlessdeveloper.com/2017/08/12/my-experience-contributing-to-servo/ https://brainlessdeveloper.com/2017/08/12/my-experience-cont...
- GrigoriyMikh 7y agoBut did it helped your carrier)?
- brainlessdev 7y agoI haven't changed jobs since I started contributing two years ago. So it hasn't, really, but I learned a lot. It probably will help in the future.
- martius 7y ago+1, I did the same thing 5 years ago (https://marti.us/w/2014-07-19-Mozilla-BSP.html https://marti.us/w/2014-07-19-Mozilla-BSP.html). It indirectly helped my carreer: It gave me confidence that I could be an occasional contributor to OSS. I learned valuable things when doing each contribution.
- pragmaticlurker 7y agoI'd really like to work for Mozilla on Mozilla products, but somehow the interview process is broken. I've managed to go through 3 interviews (2 technical, one with the team-coordinator) but then was rejected because they've found some other with more years of relevant (?) experience on the topic for the position. Now they write this. So my question is: why don't you open more positions, letting people be hired (and paid) to work on products, instead of looking for charitable work from volunteers?
- giancarlostoro 7y agoMy hope is that they do that once they offer a premium version of Firefox.
- rehemiau 7y agoBecause hiring more people costs money and volunteers are free?
- mister_hn 7y agoyeah but then don't bother us with missing contributors. Somehow someone has to live and code for food. Not everybody has the luxury of working as volunteer.
- lonelappde 7y agoNo company has the luxury of paying employees with money they don't have.
- mnoorenberghe 7y ago> Now they write this. This page was written Apr 11, 2011
- deleted 7y ago[deleted]
- rifung 7y ago
- userbinator 7y agoSeveral years ago I did want to fix something in Firefox, and it was far easier to just patch a few bytes in the binary (I think it might've been a string constant) than go through the whole build process with all the resources that takes, including trying to find where in the original source to actually make the change, and then still have a totally different binary than the one you wanted to fix, with other (bug-causing) changes you didn't want due to the different environment you built it in. Of course, if you try to fix/revert something that was purposely broken or removed for some Mozilla reason, it is not going to accept your changes either. One of the ideals of open-source was to make it easy to modify and share software. For a lot of the larger projects, I feel like that has missed the mark. I write (mostly small and always portable) software, yet the "build bloat" is a huge turn-off. On the other hand, I've had good experience with the smaller open-source projects, those that need a minimal amount of tooling and resources to build. Some examples I can think of include libpng, zlib, and even OpenSSL.
- geofft 7y agoThis is IMO one of the under-celebrated benefits of Linux distros. You should be able to (e.g.) sudo apt-get build-dep firefox; apt-get source firefox; cd firefox[TAB]; debuild and have yourself a working package. Whatever dependencies it needs are all installed in a standardized way.
- panpanna 7y agoYou should not forgive dependency bloat just because Linux makes it a bit easier to handle.
- jerf 7y agoI'm not sure that's an applicable term here. I see "dependency bloat" as an application having a lot of unnecessary dependencies, like when I start a basic project skeleton in Hot Javascript Framework of the Week and get 1,000 dependencies loaded in (which, in npm land, is a conservative number; I felt bad about saying 10,000 but from what I've seen it isn't necessarily far off the mark). But when you have a project that really does touch every XWindows library there is, and really does need to know about every major image format, and really does speak every major network protocol, and runs a full JIT interpreter and compiler, and integrates with every OS security mechanism there is, and uses every build protection library it can find, and on and on... well, better those dependencies than re-implementation of all that from scratch. Fortunately, there aren't very many things nowadays other than a browser that has that characteristic. (Office suites, maybe. QT and other similar things considered as a whole, but not necessarily what any given user of QT will need.)
- piotrkubisa 7y agoIs this article a bit outdated? I have noticed some projects not only switched their repositories but also programming languages i.e.: > If you know Python, you can contribute to our web services, including Firefox Sync, or Firefox Accounts Not quite recently (about 6-7 months ago), the syncserver got rewritten to Rust [0], while the Python codebase it's a bit stalled [1]. I guess Mozilla is going to switch to syncserver-rs soon, because they started implementation of Google Cloud Spanner and this looks like a green-light for future deployment. > If you know Java, you can contribute to Firefox on Android, Firefox Focus for Android and Firefox for Fire TV. There is new Firefox Preview on Android, which might disrupt the mobile browser market share soon (if it gets addons support). Some mozillian also worked on projects like Lockwise [2] or Firefox Notes [3] which are written in Kotlin, not Java. Please, do update this article. [0]: https://github.com/mozilla-services/syncstorage-rs/commits/master https://github.com/mozilla-services/syncstorage-rs/commits/m... [1]: https://github.com/mozilla-services/syncserver/commits/master https://github.com/mozilla-services/syncserver/commits/maste... [2]: https://lockwise.firefox.com/ https://lockwise.firefox.com/ [3]: https://addons.mozilla.org/en-US/firefox/addon/notes-by-firefox/ https://addons.mozilla.org/en-US/firefox/addon/notes-by-fire...
- Alissia17 7y agoRate my young hot ass, pls ---- https://ezo.no/kitty17 https://ezo.no/kitty17
- abbe98 7y agoThe article is maintained by volunteers and there is a large edit button that anyone can click.
- sciurus 7y agoUnfortunately it's the nature of a wiki to get out of date. There's plenty of opportunity to contribute to services used by Firefox users or developers whether you write python, rust, JavaScript, golang, or something else. Take a look around https://github.com/mozilla-services/ https://github.com/mozilla-services/ and https://github.com/mozilla/ https://github.com/mozilla/. Relatedly, I'm on the team that runs most of these services, and we're hiring! See https://news.ycombinator.com/item?id=20585478 https://news.ycombinator.com/item?id=20585478
- acidburnNSA 7y ago> Mozilla uses Phabricator for code review. Either use Mozilla's Phabricator instance (preferred) or attach a patch as an attachment to Bugzilla. Oh neat, they're using Phabricator, the self-hostable open-source github/gitlab-like repo host/code review system spun out of Facebook. I use this in the office and everybody loves it. Example review: https://phabricator.services.mozilla.com/D40365 https://phabricator.services.mozilla.com/D40365
- aasasd 7y ago> If you know JavaScript or HTML/CSS, you can contribute to the front-end of Firefox Huh? I'm interested in that, but I'd think most of the GUI's behavior is in C++ and hopefully threaded for responsiveness? And only the top ‘fluff’ layer is styleable, possibly being made with XUL. Alas, links in that post don't seem to lead to architectural overviews of the components.
- nbpname 7y agoI am no expert in the front-end of Firefox, but a search highlight files such as "tabbrowser.css" and "tabbrowser.js". Have fun: https://searchfox.org/mozilla-central/search?q=&case=false®exp=false&path=browser%2F*%2F*%2F*.%7Bjs%2Cjs%2Ccss%7D https://searchfox.org/mozilla-central/search?q=&case=false&r...
- zbraniecki 7y agoThat's not true. Majority of the front end is in html+js+css these days. Most of it is /browser and /toolkit directories. The rest is Gecko engine and it's written in a mix of Rust, C++ and JS. We're moving more to Rust with the back end but staying with JS on the front end. You can develop almost any feature of Firefox without ever leaving JS.
- aasasd 7y agoInteresting, thanks! Will try poking things in there. Though this might explain why parts of the GUI sometimes get held up by each other... Is there, by any chance, an intro to the moving parts in the GUI code, for newcomers?
- obelix150 7y agoOne great resource for those interested in contributing to Mozilla, is mikeconley's live coding sessions[0], which are cataloged here[1]. These can be used to help understand internals. [0] https://www.youtube.com/playlist?list=PLmaFLMwlbk8wKMvfEEzp9Hfdlid8VYpL5 https://www.youtube.com/playlist?list=PLmaFLMwlbk8wKMvfEEzp9... [1] https://mikeconley.github.io/joy-of-coding-episode-guide/ https://mikeconley.github.io/joy-of-coding-episode-guide/
- bluedino 7y agoWasn't the story of Stuart Parmenter being flown out to California to help with the browser based on his open-source contributions from his parents house in some midwstern town? Was that Mozilla or Netscape at the time?
- jwatt 7y agoIt was Netscape in 1999 he got flown out. Documented in Code Rush, which is an awesome documentary for anyone interested in the history of the Web: https://youtu.be/4Q7FTjhvZ7Y?t=3037 https://youtu.be/4Q7FTjhvZ7Y?t=3037
- beeschlenker 7y agoJDorsey & PThiel raped & kill 3 boys each. Trump bribed $4 billion to ignore. Go to pages 20-23 of this document and you will hear Dorsey and Thiel raping children. They both rape and kill three. Copy and paste this post and repost it. I keep getting censored by these people. Peter Thiel and Jack Dorsey raping and killing three boys each. Turn the volume all the way up and put head phones on. https://s3.wasabisys.com/conv1/Overnight_14-17Jan/15JanCh3_100-200.avi https://drive.google.com/file/d/1mzZrjobxhNIEf38M3xk-IeA5SeF4aUtB/view?usp=sharing Obama admits to raping and killing boys he{re, with commentary from Peter Thiel, George Soros, Matt Porter: https://s3.wasabisys.com/out2/Out2/15JanCh3_0545.avi https://drive.google.com/file/d/1LCDoc1kT7cfSeKQ1vniP_sx32_bRsHau/view?usp=sharing Trump asks for $4 billion to "take a blind eye" at 1015+ (link missing from report, unsure how): https://s3.wasabisys.com/conv2/3Jan/3JanCh3_900-1100.avi https://drive.google.com/file/d/1Grdr8xF2psKNsuYlEnl9dIRV-77YG0Vr/view?usp=sharing Trump wants $138 million to ensure smooth outcome for false judgment for a court case: https://s3.wasabisys.com/conv1/10JanCh3/10JanCh3_951-1051.avi https://drive.google.com/file/d/1iSeGHDToFRoRdIht50Wii0i30mlw9INp/view?usp=sharin Obama explains the Illuminati with Jack Dorsey: https://s3.wasabisys.com/conv1/Overnight_14-17Jan/15JanCh3_200-347.avi https://drive.google.com/file/d/1Ok1-9IvANULzKBOwADFgaiYCFi6yszfj/view?usp=sharing At 230 a conversation is occurring on the embedded Porter camera system with Jack Dorsey, Peter Thiel, Barack Obama, Bill M^urray, and the Porter's. Jack Dorsey provides a statement defining who their group is: "The Illum%inati is an underground organization of child rapists and homosexuals." Matthew Porter: "We have to thin the herd, so Barack is going to explain a few things." At 232 Barack Obama says the following: "You people have to realize we are child rapi'sts. The Illuminati are child rapists. As soon as you figure that out, you can decide what to do. Everybody is freaking out about what just happened [child raping event still going on]. This is who ^we are." Full 71 page document: https://s3.wasabisys.com/aviewmefirst/FBI_FinalDraft_26Jul2019_BSchlenker.pdf