JAWS | Cooler than the other side of the pillow

Web Name: JAWS | Cooler than the other side of the pillow

WebSite: http://msujaws.wordpress.com

ID:180655

Keywords:

than,the,JAWS,

Description:

This past weekend Mike Conley and I visited the Capstone team to work one-on-one with the students, teach topics, and share the history of Mozilla. The current capstone project is a continuation from last semesters project. The students are working on converting Firefox s localization implementation from DTD/properties files to Fluent. Fluent brings with it many new capabilities, such as platform-dependent strings, custom formatters, asynchronous applying of translation, and more.Last semester s capstone group migrating parts of Firefox and wrote migration scripts. They also attempted to migrate startup strings and profile the performance implications.This semester the students are continuing to migrate more parts of Firefox, while also working on our Fluent tools and researching using a faster parser.Topics for the weekendWe met the students bright and early Saturday morning at 9am. The first topics that we covered were the page lifecycle as it applies to Fluent translation and comparisons to how DTD and .properties files have their strings applied. We also covered Fluent best practices (limiting formatValues where possible, for example).Through a long day of hacking and learning about how code is written, tested, and shipped at Mozilla, the students wrote patches for the following bugs:Migrate about:rights to FluentConvert resetProfile.dtd to FluentConvert unknownContentType.dtd to FluentMigrate pageInfo.dtd to FluentConvert migration.dtd to FluentMigrate about:tabcrashed to FluentCapstone: convert about:privatebrowsing using gandalf s conversion scriptOn Saturday night, we hosted our first-ever Mozilla movie-night on campus, showing the 2000 documentary Code Rush. The documentary covers the open-sourcing of Netscape and the birth of Mozilla. It was pretty impressive to see over 20 college students show up to the Engineering Building at 8:30pm on a Saturday night. Mike and I also did a Q A with the students before and after the movie about working in open source software, applying for jobs, and more. Sunday morning we were back in the computer lab at 9am again for a half-day of hacking. We spent the first hour of the day teaching how to know if a test failure on tryserver is an intermittent failure related to the current patch or a pre-existing and known issue. This is very useful as the students have been pushing their patches to tryserver more often this semester than in previous groups.This was our sixth time that we ve hosted a hack weekend with the Capstone team (different team each semester). We schedule these to occur within the first few weeks of the start of the semester to help bootstrap the students on their project. It s been a very valuable use of all of our time, as it helps the students get some face-time with their mentors, and the mentors get a better grasp of some of the challenges that the students are facing. This week I m taking over for Dolske as he takes a vacation to view the eclipse. This is issue #13 of the Photon Engineering Newsletter.This past week the Nightly team has had some fun with the Firefox icon. We ve seen the following icons grace Nightly builds in the past week: The icon in the top-left was created in 2011 by Sean Martell. The icon in the top-right was the original Phoenix icon. Phoenix was later renamed Firebird, and then the name was later changed to Firefox. The icon in the bottom left was the first Firefox icon, designed by Steven Garrity in 2003. The icon in the bottom-right, well it is such logo with much browser, we couldn t help ourselves to not share it.Recent ChangesMenus/structure:The Report Site Issue button has been moved to the Page Action menu in Nightly and Dev Edition. This button doesn t ship to users on Beta or Release.Probably the biggest visual change this week is that we now have spacers in the toolbar. These help to separate the location bar from the other utility buttons, and also keep the location bar relatively centered within the window. We have also replaced the bookmarks menu button with the Library button (it s the icon that looks like books on a shelf).We also widened various panels to help fit more text in them.Animation:The Pin to Overflow animation has also been tweaked to not move as far. This will likely be the final adjustment to this animation (seen on the left). The Pocket button has moved to the location bar and the button expands when a page is saved to Pocket (seen on the right). Preferences:Preferences has continued to work towards their own visual redesign for Firefox 57. New icons were landed for the various categories within Preferences, and some borders and margins have been adjusted.Visual redesign:The tab label is no longer centered on Mac. This now brings Linux, Mac, and Windows to all have the same visual treatment for tabs.Changing to Compact density within Customize mode changes the toolbar buttons to now use less horizontal space. The following GIF shows the theme changing from Compact to Normal to Touch densities.Onboarding:New graphics for the onboarding tour have landed.Performance:Two of the main engineers focusing on Performance were on PTO this past week so we don t have an update from them. Since my last post on the eslint work that is happening in mozilla-central, we have increased coverage as well as enabling more rules.The publication of that post spawned a few conversations, among them Florian Quèze has added a bunch of new Mozilla-specific rules to our eslint configuration and evilpies has started looking at what it would take to run eslint on the JS engine code.The following rules have been added:newURI originally had three arguments, of which the last two were sparsely used and often had null passed in. Florian converted newURI to make the last two arguments optional, and wrote a script to remove the unneeded null usages. This now has an eslint rule to enforce it.removeObserver had many usages that passed an unused third argument of false. This was most likely done as people were writing code that used addObserver(..., ..., false), and thought that they needed to pass false when calling removeObserver. After that, it most likely got copy-pasted around the codebase. This also now has an eslint rule enforcing people don t do this again.addEventListener has a {once: true} argument that can be used to automatically remove the event listener after it is called the first time. This rule can be applied to any code that was indiscriminately calling removeEventListener. This work should land very soon, as it just got r+ today. This work is being tracked in bug 1331599.no-undef work continues to make progress as Mark Banner is now focusing on /services subdirectory. We also have a few more globals defined in our configuration and have more testing globals that are imported automatically through a new rule.quotes is now enabled, requiring double-quotes for strings except in cases where double-quotes are used within the string or if the string is a template literal.While working on no-undef, Mark noticed that the /services directory wasn t being scanned by eslint even though it wasn t listed in the .eslintignore file. The directory was missing an .eslintrc.js file. We now have one added in the directory, though there remain 59 warnings which should be fixed (these are listed as warnings temporarily and will be converted to errors once fixed).Also of note is that we now have automated tests for the custom rules that we have implemented. You can view these tests in the /tools/lint/eslint/eslint-plugin-mozilla/tests directory.If you ve got ideas for new rules that we can add to help clean up the codebase, please comment on this post or contact any of us on IRC on the #eslint channel of irc.mozilla.org. In the past week there has been quite a lot of progress made on the eslint front.Last week I enabled the following rules for the default mozilla-central eslint configuration (/toolkit/.eslintrc.js):no-extra-labelno-iteratorno-regex-spacesno-self-assignno-unsafe-negationno-unused-labelsobject-shorthandbrace-styleno-multi-spacesno-debuggerno-delete-varno-sparse-arraysno-unsafe-finallyno-cond-assignno-extra-bindno-useless-callno-lone-blocksno-useless-returnMark Banner has continued to work on fixing the remaining no-undef errors. This work is on-going and is being tracked by a meta bug.Florian Quèze just landed a patch yesterday to simplify calls to Services.io.newURI so the two trailing arguments are optional. Previously 99% of the calls to the function passed in null for the trailing arguments. Florian is planning on cleaning up some addEventListener code as well and I am pushing for him to implement special eslint rules along with them to help enforce these changes going forward.I enabled most of the rules for eslint and gathered counts of the number of errors related to each rule. The following list shows each disabled rule along with the number of associated errors as of mozilla-central revision f13abb8ba9f3:array-callback-return = 3no-new-func = 13no-useless-concat = 14no-void = 14no-multi-str = 15no-new-wrappers = 18no-array-constructor = 20no-eval = 20no-await-in-loop = 21no-sequences = 22no-inner-declarations = 23no-unmodified-loop-condition = 24wrap-iife = 25no-constant-condition = 28no-template-curly-in-string = 39no-loop-func = 44no-fallthrough = 51no-new = 56no-throw-literal = 134no-prototype-builtins = 158no-caller = 165no-unused-expressions = 171no-useless-escape = 194complexity = 208no-case-declarations = 238guard-for-in = 284radix = 342no-shadow = 356no-eq-null = 442dot-notation = 459default-case = 485block-scoped-var = 749no-empty-function = 1144dot-location = 2327no-extra-parens = 2464no-invalid-this = 2947If you would like to work on fixing any of these, please file a bug in the Toolkit :: General component of Bugzilla and request review from myself, Mossop, or Standard8.If you d like eslint to run on a directory that you work in, remove the reference to it from the .eslintignore file located at the mozilla-central root and add a .eslintrc.js file. This will now allow eslint to scan that directory.Also, another project that someone can pick up is to help us move towards a single rule definition. We would like to move to a single set of rules which will help for consistent coding styling. You can look at this listing of .eslintrc.js files to see the differences between them. Some define globals that are unique to the directory or have different include paths to the root configuration, but some also define extra rules. We would like to get those rules added to the root configuration, though we haven t determined how to settle rule conflicts yet. First, let me say that the students working on this project have done a great job. Secondly, let me say that I ve not done a great job blogging about their work. I will try to make up for it in this post.Since the previous post a lot has happened: we had our hack-weekend at MSU, the students implemented the features we asked them to work on, a bonus feature got implemented, the students made a video about their project, and then they presented their project as part of their end-of-the-semester Design Day exhibition.I ll go through each item of the above list:Our hack-weekend at MSUOn about the fifth weekend of the project, Mike and I visited the MSU campus to work with the students and familiarize them with the project and the Mozilla codebase. We covered all aspects of the tools: Bugzilla, Mercurial, Reviewboard, and the Browser Toolbox. We gave short lessons on interprocess communication, low-level CSS styling implementation, and distributed version control systems.What workedThe location and facilities were great. We had solid connections to the internet, a comfortable room, and no hassles.The team was very astute and asked many questions as we were going along.Bugzilla and Reviewboard seemed to get understood well.There was tons of paired programming and hacking on the project, and great career discussions as well.The students wrote some amazing automated tests for searching in the dropdown. It is great to give students a real-world project that includes so many parts of good software development (automated tests, code reviews, version control, paired programming, code linting, and fixing regression bugs).What didn t workI think we should have done the hack weekend a little sooner in the semester. The sooner the better, as we can try to get ahead of any tooling issues, ambiguities in the spec, and technologies that should be covered. For example, at the beginning of the semester I asked that each student complete a set of online tutorials. After going through the lessons I got the feeling that there was still some room to grow and understand more about the programming languages we were using.Mercurial seemed very hard to get a grasp of. Some of this may have been due to the paired programming where the students were sharing patches, and the rest is probably due to Mike and I not having a solid plan at the beginning of the semester as to how the students can share and update each others patches. We should probably set up a non-publishing user repo that all students will have access to and push to as they are working on the project.The students used Mercurial s bookmark-based development model, and I still use the Mercurial Queues method. This meant that I wasn t much help when the students got stuck. I m switching my development model to bookmark-based development before the next semester starts.Two of the groups of students were paired up. This seemed to work OK in the beginning, but soon it seemed that the students weren t doing a good job of switching off. I think we will try to do less pairing at the beginning, and maybe introduce pairing towards the end once the students have gotten a grasp of the tools, codebase, and project requirements.The work that got completedMark landed the styling changes for the dropdown. The dropdowns now have more padding around each item, show a grey background for theheaders, and have correct hover styling. All of this work was for Windows-only, as Linux and OSX looked fine already.Mark also landed a patch to increase the padding of items when the dropdown is opened on a touch-enabled device. I landed a small follow-up to only show the increased padding when a touch-event was used to open the dropdown.Jared landed an OSX-only patch to open the dropdown vertically centered on the selected item. This brings us in parity with Safari on OSX. We may possibly do the same for Windows now that Edge is showing the behavior there, though it is not planned for anytime soon. This feature was a bonus, as we didn t expect the students to have the time to get to it when the project was started.The work that is near completionTyler and Jared worked on implementing search within the dropdown. The search box only shows up if there are over 40 items in the list, and it will provide live filtering of the menuitems. There are some cool automated tests that Tyler wrote that verify the functionality works. These tests will be easy to expand upon in the future if any regressions are found or the feature is to get expanded. This is pretty close to landing and will hopefully land this week or next, depending on how quick the students are at responding to the review feedback.Michael and Fred worked on getting single-process Firefox to use the multi-process Firefox implementation of the select dropdowns. This work was pretty low-level and required the students to set up a debugger on a separate machine and use remoting to control the browser (to avoid issues with focus changing). This is getting pretty close to landing, but will need a separate bug fixed first before the students can push further on it. I hope we can get it to land in the next couple weeks.Project videoAs part of the course requirements, the students made a video to showcase their work. Watch below, it s pretty good (and funny too!)Sorry for not blogging about their project more often. The students did a great job on the project and we hope to see them stay active in the Mozilla community going forward. Jared Wein, M.Sc. is a Senior Software Engineer at Mozilla who has been working on the Firefox team since Firefox 7.Jared is a graduate of MSU's College of Engineering, where he obtained his Masters and Bachelors in Computer Science with a focus in Human/Computer Interaction.He has previously worked at TechSmith Corporation on Camtasia Relay since its first beta release in 2007 until 2011.Jared shares interests in test driven development, software usability, and runs Lansing, Michigan's top forum for urban planning with sustainable development.Disclaimer: The opinions expressed here are my own and do not necessarily represent those of current or past employers. @RodAlzmann I appreciate that Tylee adds another .4x to the multiple so we can arrive at $169.420/share lol 4monthsago Enter your email address to subscribe to this blog and receive notifications of new posts by email. Join 1,009 other followers Email Address:

TAGS:than the JAWS 

<<< Thank you for your visit >>>

Cooler than the other side of the pillow

Websites to related :
Welcome | Advantage Software

  CLICK HERE TO SAVE UP TO $1000 ON ECLIPSE ACCUCAP!Act now! Expires June 4th at 11:59 pm.

500 |

  益阳市鸿图苗木种植基地是一家专业从事苗木繁育、绿化苗木经营的民营企业。本公司位于“中国香樟之乡”湖南益阳迎风桥镇,地理位置优越;长常高速横跨境内,交通十分便

Travel pictures free: Vacations

  Travel pictures free: Tours around the world - Vacations photos. Everybody loves to travel. Why? Ask all your friends and acquaintances why people lov

Hollywood California Apartments

  Inspiring homes for the way we live now: The Avenue is the address for discerning Hollywood residents seeking greater space and much more.This is not

Linux How-Tos, Help Tips

  LinuxReady to learn more about Linux? Find advice and resources you need to help you master this open-source operating system.Lifewire is part of the

BOOTSTRIKE.COM - Bittorrent Guid

  other products and services Bootstrike.Com has many other global products and services which are not listed here. The above links are some of the own

Home - Packback

  Packback uses cookies to understand what pages are useful to our customers and make our site more effective. Questions? Contact us. More rigorous di

Quelle Meilleure Pilule Pour Mai

  Augmenter la vitesse à laquelle votre corps brûle des calories et réduire votre apport calorique quotidien est le secret d une perte de poids à lo

www.piluledulendemain.com | Info

  sur www.piluledulendemain.com La contraception disponible à toutes et à tous est une réussite emblématique du combat des femmes et reste un symbol

The domain pilule-pigeon.com was

  This domain was caught by autoBackorder This domain expired / dropped on 2021-02-17 pilule-pigeon.com AutoBackorder is a revolutionary new way to auto

ads

Hot Websites