A thread on HN about bad code in legacy projects both makes me think how little we've learned as a discipline over the years and, honestly, how little credit we give ourselves for some pretty major
c.f. https://t.co/S5XIDxFUrH
(Parallel evolution of code: I wrote a less-well-specified one at last gig.)
At risk of stating the obvious: this is a relatively novel development.
* a single, common encoding for almost all human languages
* a single, parseable, human-readable data interchange format
* a default protocol for information transport
This is very good for learners.
More from Patrick McKenzie
I like this heuristic, and have a few which are similar in intent to it:
Hiring efficiency:
How long does it take, measured from initial expression of interest through offer of employment signed, for a typical candidate cold inbounding to the company?
What is the *theoretical minimum* for *any* candidate?
How long does it take, as a developer newly hired at the company:
* To get a fully credentialed machine issued to you
* To get a fully functional development environment on that machine which could push code to production immediately
* To solo ship one material quanta of work
How long does it take, from first idea floated to "It's on the Internet", to create a piece of marketing collateral.
(For bonus points: break down by ambitiousness / form factor.)
How many people have to say yes to do something which is clearly worth doing which costs $5,000 / $15,000 / $250,000 and has never been done before.
Here's how I'd measure the health of any tech company:
— Jeff Atwood (@codinghorror) October 25, 2018
How long, as measured from the inception of idea to the modified software arriving in the user's hands, does it take to roll out a *1 word copy change* in your primary product?
Hiring efficiency:
How long does it take, measured from initial expression of interest through offer of employment signed, for a typical candidate cold inbounding to the company?
What is the *theoretical minimum* for *any* candidate?
How long does it take, as a developer newly hired at the company:
* To get a fully credentialed machine issued to you
* To get a fully functional development environment on that machine which could push code to production immediately
* To solo ship one material quanta of work
How long does it take, from first idea floated to "It's on the Internet", to create a piece of marketing collateral.
(For bonus points: break down by ambitiousness / form factor.)
How many people have to say yes to do something which is clearly worth doing which costs $5,000 / $15,000 / $250,000 and has never been done before.
More from Tech
BREAKING: @CommonsCMS @DamianCollins just released previously sealed #Six4Three @Facebook documents:
Some random interesting tidbits:
1) Zuck approves shutting down platform API access for Twitter's when Vine is released #competition
2) Facebook engineered ways to access user's call history w/o alerting users:
Team considered access to call history considered 'high PR risk' but 'growth team will charge ahead'. @Facebook created upgrade path to access data w/o subjecting users to Android permissions dialogue.
3) The above also confirms @kashhill and other's suspicion that call history was used to improve PYMK (People You May Know) suggestions and newsfeed rankings.
4) Docs also shed more light into @dseetharaman's story on @Facebook monitoring users' @Onavo VPN activity to determine what competitors to mimic or acquire in 2013.
https://t.co/PwiRIL3v9x
Some random interesting tidbits:
1) Zuck approves shutting down platform API access for Twitter's when Vine is released #competition
2) Facebook engineered ways to access user's call history w/o alerting users:
Team considered access to call history considered 'high PR risk' but 'growth team will charge ahead'. @Facebook created upgrade path to access data w/o subjecting users to Android permissions dialogue.
3) The above also confirms @kashhill and other's suspicion that call history was used to improve PYMK (People You May Know) suggestions and newsfeed rankings.
4) Docs also shed more light into @dseetharaman's story on @Facebook monitoring users' @Onavo VPN activity to determine what competitors to mimic or acquire in 2013.
https://t.co/PwiRIL3v9x
A brief analysis and comparison of the CSS for Twitter's PWA vs Twitter's legacy desktop website. The difference is dramatic and I'll touch on some reasons why.
Legacy site *downloads* ~630 KB CSS per theme and writing direction.
6,769 rules
9,252 selectors
16.7k declarations
3,370 unique declarations
44 media queries
36 unique colors
50 unique background colors
46 unique font sizes
39 unique z-indices
https://t.co/qyl4Bt1i5x
PWA *incrementally generates* ~30 KB CSS that handles all themes and writing directions.
735 rules
740 selectors
757 declarations
730 unique declarations
0 media queries
11 unique colors
32 unique background colors
15 unique font sizes
7 unique z-indices
https://t.co/w7oNG5KUkJ
The legacy site's CSS is what happens when hundreds of people directly write CSS over many years. Specificity wars, redundancy, a house of cards that can't be fixed. The result is extremely inefficient and error-prone styling that punishes users and developers.
The PWA's CSS is generated on-demand by a JS framework that manages styles and outputs "atomic CSS". The framework can enforce strict constraints and perform optimisations, which is why the CSS is so much smaller and safer. Style conflicts and unbounded CSS growth are avoided.
Legacy site *downloads* ~630 KB CSS per theme and writing direction.
6,769 rules
9,252 selectors
16.7k declarations
3,370 unique declarations
44 media queries
36 unique colors
50 unique background colors
46 unique font sizes
39 unique z-indices
https://t.co/qyl4Bt1i5x
PWA *incrementally generates* ~30 KB CSS that handles all themes and writing directions.
735 rules
740 selectors
757 declarations
730 unique declarations
0 media queries
11 unique colors
32 unique background colors
15 unique font sizes
7 unique z-indices
https://t.co/w7oNG5KUkJ
The legacy site's CSS is what happens when hundreds of people directly write CSS over many years. Specificity wars, redundancy, a house of cards that can't be fixed. The result is extremely inefficient and error-prone styling that punishes users and developers.
The PWA's CSS is generated on-demand by a JS framework that manages styles and outputs "atomic CSS". The framework can enforce strict constraints and perform optimisations, which is why the CSS is so much smaller and safer. Style conflicts and unbounded CSS growth are avoided.
You May Also Like
Oh my Goodness!!!
I might have a panic attack due to excitement!!
Read this thread to the end...I just had an epiphany and my mind is blown. Actually, more than blown. More like OBLITERATED! This is the thing! This is the thing that will blow the entire thing out of the water!
Has this man been concealing his true identity?
Is this man a supposed 'dead' Seal Team Six soldier?
Witness protection to be kept safe until the right moment when all will be revealed?!
Who ELSE is alive that may have faked their death/gone into witness protection?
Were "golden tickets" inside the envelopes??
Are these "golden tickets" going to lead to their ultimate undoing?
Review crumbs on the board re: 'gold'.
#SEALTeam6 Trump re-tweeted this.
I might have a panic attack due to excitement!!
Read this thread to the end...I just had an epiphany and my mind is blown. Actually, more than blown. More like OBLITERATED! This is the thing! This is the thing that will blow the entire thing out of the water!
Tik Tok pic.twitter.com/8X3oMxvncP
— Scotty Mar10 (@Allenma15086871) December 29, 2020
Has this man been concealing his true identity?
Is this man a supposed 'dead' Seal Team Six soldier?
Witness protection to be kept safe until the right moment when all will be revealed?!
Who ELSE is alive that may have faked their death/gone into witness protection?
Were "golden tickets" inside the envelopes??
Are these "golden tickets" going to lead to their ultimate undoing?
Review crumbs on the board re: 'gold'.
#SEALTeam6 Trump re-tweeted this.