Posts

Showing posts from March, 2021

css attribute selectors combined as logical AND

Challenge : you need to match a css id that has a stable beginning and end but a middle that could change and you don't have control over it. You could look at using ends with $ attribute selector or starts with ^ attribute selector. Not bad but not necessarily a strong match esp if ending is generic, like '-container' The wildcard is not a good match (pardon the pun) because of how it works, any match in a string versus wildcarding one or more characters in middle Solution : combine attribute selectors When combined like so they function as an AND. Perfect! Combine the starts with and ends with as in "starts with x AND ends with y" e.g. [id^='third-party-'][id$='-container'] this will target classes like so:  ' third-party-*-container' love it Good css tricks article

Performance testing web pages

Image
Performance of web apps is a big topic and has a direct impact on users engagement. Users will simply not wait for, nor use, slow apps (over 50% of users abandon a website which takes more than 3 seconds to load).  Performance is part of the User Experience. What users experience and what it costs to use. As well as direct user experience, large apps also impact users plan bandwidth costs and cpu performance of their device. Performance (aka speed) is not just the time it takes to load an app. It includes loading feedback, time to show useful content when a user can interact with the page and the ongoing experience of using the app. Google in  web.dev identify phases which they call  "core web vitals" which are "loading"                  "interactivity"          "visual stability"   Metrics such as First Paint, First Meaningful Paint and Time to interactive can be used to measure these  "core web vitals".   "core web vitals"

Story points and estimating per Ron Jeffries

Image
 This is simply a great read , pure gold from Ron Jeffries "To me, the important thing in Real Agile is to pick the next few things to do, and do them promptly. The key question is to find the most valuable things to do, and to do them quickly. Doing them quickly comes down to doing small slices of high value, and iterating rapidly" "This makes me think that estimation, be it in points or time, is to be avoided." "we’d work to have a list of the few most important next things to do." I feel we often try to do too much for completeness sakes or other reasons, when we should be ruthless about going after where the value is. Now how do you decide what is valuable? How do you, like a sculptor working on a slab of rock, whittle it down to fine grained pieces? Ron has advice for that too which he calls story slicing: split a larger story into smaller stories  work on the slices that deliver value drop any that don't any value "Every set of requirements