recentpopularlog in


The Bullshit Web — Pixel Envy
On the bloated, slow, and surveillance web of 2018. A theory of bullshit.

So, with an internet connection faster than I could have thought possible in the late 1990s, what’s the score now? A story at the Hill took over nine seconds to load; at Politico, seventeen seconds; at CNN, over thirty seconds. This is the bullshit web.

Point 2: the bullshit web creates dumb solutions that it itself causes.

Given the assumption that any additional bandwidth offered to web developers will immediately be consumed, there seems to be just one possible solution, which is to reduce the amount of bytes that are transmitted. For some bizarre reason, this hasn’t happened on the main web, because it somehow makes more sense to create an exact copy of every page on their site that is expressly designed for speed. Welcome back, WAP — except, for some reason, this mobile-centric copy is entirely dependent on yet more bytes. This is the dumbfoundingly dumb premise of AMP.

Point 3: the cumulative effect of the bullshit web.

There is a cumulative effect of bullshit; its depth and breadth is especially profound. In isolation, the few seconds that it takes to load some extra piece of surveillance JavaScript isn’t much. Neither is the time it takes for a user to hide an email subscription box, or pause an autoplaying video. But these actions compound on a single webpage, and then again across multiple websites, and those seemingly-small time increments become a swirling miasma of frustration and pain.
internet  web  advertising  privacy  surveillance  design  BestOf2018 
7 weeks ago by jefframnani
Kitchen Soap – On Being A Senior Engineer
Nuanced and comprehensive take on what it means to be senior in any role.

... the degree to which other people want to work with you is a direct indication on how successful you’ll be in your career as an engineer. Be the engineer that everyone wants to work with.

On estimation and planning.

Avoiding responsibility for estimates is another way of saying, “I’m not ready to be relied upon for building critical pieces of infrastructure.” All businesses rely on estimates, and all engineers working on a project are involved in Joint Activity, which means that they have a responsibility to others to make themselves interpredictable. In general, mature engineers are comfortable with working within some nonzero amount of uncertainty and risk.

On how systems evolve over time. Sometimes the original design was good enough to get us this far. This might be my favorite section.

They know that they work within a spectrum of ideal and non-ideal, and are OK with that. They are comfortable with it because they strive to make the ideal and non-ideal in a design explicit. Later on in the lifecycle of a design, when the original design is not scaling anymore or needs to be replaced or rewritten, they can look back not with a perspective of how short-sighted those earlier decisions were, but instead say “yep, we made it this far with it and knew we’d have to extend or change it at some point. Looks like that time is now, let’s get to work!” instead of responding with a cranky-pants, passive-aggressive Hindsight Bias-filled remark with counterfactuals (e.g.. “those idiots didn’t do it right the first time!”, “they cut corners!”, “I TOLD them this wouldn’t work!”)
programming  management  career  engineering  BestOf2018 
8 weeks ago by jefframnani
The Wrong Abstraction — Sandi Metz
File under DRY as Cement. This is the blog post I wish I had written about the Inline Method refactoring.

Existing code exerts a powerful influence. Its very presence argues that it is both correct and necessary. We know that code represents effort expended, and we are very motivated to preserve the value of this effort. And, unfortunately, the sad truth is that the more complicated and incomprehensible the code, i.e. the deeper the investment in creating it, the more we feel pressure to retain it (the "sunk cost fallacy"). It's as if our unconscious tell us "Goodness, that's so confusing, it must have taken ages to get right. Surely it's really, really important. It would be a sin to let all that effort go to waste."

The moral of this story? Don't get trapped by the sunk cost fallacy. If you find yourself passing parameters and adding conditional paths through shared code, the abstraction is incorrect.
programming  refactoring  design  BestOf2018 
8 weeks ago by jefframnani
Convergence to Kubernetes – Paul Ingles – Medium
Systems like Kubernetes offer a higher level of abstraction and subsequent higher leverage.

Despite a general trend within uSwitch engineering towards higher-level abstractions for deploying software, like using containers and Amazon ECS, the number of AWS services people needed to regularly use increased substantially; teams and people were not being sufficiently abstracted from the complexity of running their applications. Over the course of two years 50% of people had seen it double, 20% of people had seen it nearly triple.

This placed an additional constraint on the scaling of the organisation. Teams wanted to be self-sufficient but this made hiring difficult. We needed people that were strong application and product developers and an ever-expanding depth of knowledge of AWS.
kubernetes  devops  architecture  agile  aws  cloud  containers  deployment  ContinuousDelivery  BestOf2018 
10 weeks ago by jefframnani
Survival of the Richest – Future Human – Medium
What the fuck are we even doing anymore? This is a clear signal that the social fabric has been broken.

That’s when it hit me: At least as far as these gentlemen were concerned, this was a talk about the future of technology. Taking their cue from Elon Musk colonizing Mars, Peter Thiel reversing the aging process, or Sam Altman and Ray Kurzweil uploading their minds into supercomputers, they were preparing for a digital future that had a whole lot less to do with making the world a better place than it did with transcending the human condition altogether and insulating themselves from a very real and present danger of climate change, rising sea levels, mass migrations, global pandemics, nativist panic, and resource depletion. For them, the future of technology is really about just one thing: escape.

In the Utopianism of the late ‘90’s tech scene.

This freed everyone from the moral implications of their activities. Technology development became less a story of collective flourishing than personal survival. Worse, as I learned, to call attention to any of this was to unintentionally cast oneself as an enemy of the market or an anti-technology curmudgeon.
technology  culture  capitalism  economics  monopoly  business  philosophy  BestOf2018 
10 weeks ago by jefframnani
Why the fuss about serverless?
Thought provoking article on why serverless is important. I liked the Worth Based Development section. Includes historical background on how development and infrastructure have evolved over time.
cloud  serverless  business  programming  BestOf2018  ContinuousDelivery 
12 weeks ago by jefframnani
Invisible asymptotes

For me, in strategic planning, the question in building my forecast was to flush out what I call the invisible asymptote: a ceiling that our growth curve would bump its head against if we continued down our current path. It's an important concept to understand for many people in a company, whether a CEO, a product person, or, as I was back then, a planner in finance.

Amazon’s original invisible asymptote was shipping fees. Identifying that lead to the creation of Amazon Prime.

People hate paying for shipping. They despise it. It may sound banal, even self-evident, but understanding that was, I'm convinced, so critical to much of how we unlocked growth at Amazon over the years.

People don't just hate paying for shipping, they hate it to literally an irrational degree.

On Twitter and how the product is geared for its early adopters and not the mainstream.

Falling into the trap of thinking other users will be like you is especially pernicious because the people building the product are usually among that early adopter cohort. The easiest north star for a product person is their own intuition. But if they're working on a product that requires customer segmentation, being in the early adopter cohort means one's instincts will keep guiding you towards the wrong North star and the company will just keep bumping into the invisible asymptote without any idea why.

This points to an important qualifier to the "crossing the chasm" idea of technology diffusion. If the chasm is large enough, the same product can't cross it. Instead, on the other side of the gaping chasm is just a different country altogether, with different constituents with different needs.

On why it’s hard for a product to change in order to broaden its appeal.

It takes internal fortitude for a product team to make such concessions. The stronger the initial product market fit, the more vociferously your early adopters will protest when you make any changes. Like a band that is accused of selling out, there is an inevitable sense that a certain sharpness of flavor, of choice, has seeped out as more and more people join up and as a service loosens up and accommodates more more use cases.
business  amazon  economics  analysis  BestOf2018 
june 2018 by jefframnani
How I put my weekly newsletter together
Every week, I get emails that start, “I think your newsletter readers would be interested in…”

Let me stop you right there. That’s not how this works.

I don’t send out a list of 10 things I think my readers would find interesting. I send out a list of 10 things I find interesting that I think my readers would find interesting, too.
newsletter  howto  AustinKleon  Bestof2018  GettingStarted 
june 2018 by peroty
How to Save the Day, Repeatedly, with a Notepad – Michael A. LaPlante – Medium
You will save the day repeatedly when you simply write down what transpires. Capture what happens and the decisions that were made along the way, especially your own.

You will gain “super powers” of both recollection and observation.
You will become recognized as an authority on the past and how we have arrived at the present.
Michael_A._LaPlante  notebook  paper  Bestof2018 
june 2018 by peroty
Everything Easy is Hard Again – Frank Chimero
File under: best posts of 2018.

This past summer, I gave a lecture at a web conference and afterward got into a fascinating conversation with a young digital design student. It was fun to compare where we were in our careers. I had fifteen years of experience designing for web clients, she had one year, and yet some how, we were in the same situation: we enjoyed the work, but were utterly confused and overwhelmed by the rapidly increasing complexity of it all. What the hell happened? (That’s a rhetorical question, of course.)

On the churn in ideas and agreed best practices.

There are similar examples of the cycle in other parts of how websites get designed and made. Nothing stays settled, so of course a person with one year of experience and one with fifteen years of experience can both be confused. Things are so often only understood by those who are well-positioned in the middle of the current wave of thought. If you’re before the sweet spot in the wave, your inexperience means you know nothing. If you are after, you will know lots of things that aren’t applicable to that particular way of doing things. I don’t bring this up to imply that the young are dumb or that the inexperienced are inept—of course they’re not. But remember: if you stick around in the industry long enough, you’ll get to feel all three situations.

So much of how we build websites and software comes down to how we think. The churn of tools, methods, and abstractions also signify the replacement of ideology. A person must usually think in a way similar to the people who created the tools to successfully use them. It’s not as simple as putting down a screwdriver and picking up a wrench. A person needs to revise their whole frame of thinking; they must change their mind.

In one way, it is easier to be inexperienced: you don’t have to learn what is no longer relevant. Experience, on the other hand, creates two distinct struggles: the first is to identify and unlearn what is no longer necessary (that’s work, too). The second is to remain open-minded, patient, and willing to engage with what’s new, even if it resembles a new take on something you decided against a long time ago.
programming  web  webdev  complexity  culture  learning  career  html  css  design  BestOf2018 
february 2018 by jefframnani

Copy this bookmark:

to read