Note that the company still had a market cap of $5B at the time of this writing.
forty-six things tagged “tech hell”
The key takeaways in no particular order.
<noscript>. If you are using it, use it a lot more.
- There is no guarantee that chunks will load after the main one does; the user’s location and/or network access might have changed! Think CalTrain.
- ISPs, Corporate VPNs, and Browser Plugins1 can mess with the downloading and execution of JS.
I’m omitting CDN uptime (can’t do anything about this) and Browser compatibility (supporting 5+ year-old browsers is not something I care about doing given the work I do.)
Finally, not every fucking thing needs to be an App. For instance, your Terms of Service page can actually be a document on the Internet 😱
And not just the ones you install. I know of situations where a Chrome plugin was mandated by Corporate IT security (not my current employer.) ↩︎
The point is, some products are sold directly to the end user, and are forced to prioritize usability. Other products are sold to an intermediary whose concerns are typically different from the user’s needs. Such products don’t HAVE to end up as unusable garbage, but usually do.
Jira and Confluence, which I use at work, come to mind as formerly amazing products which have gone down the shitter with unnecessary Enterprise™ feature-bloat over the past few years. I wonder if there’s a way out of this mire (maybe start saying “No”?) Until then, #jobsecurity I guess.
|Very Easy||1 Hour|
|Quite Easy||4 Hours|
|Looks Quite Easy||6 Hours|
|Looks Average||12 Hours|
|No Clue||16 Hours|
|Seems Complex||24 Hours|
|Very Complex||40 Hours|
|Can Take Some Time||48 Hours|
|Yeah Looks Pretty Easy||80 Hours|
Combine: “No Clue. Can take some time, but yeah… looks pretty easy” = 16 + 48 + 80 = 144 hours.
Source Unknown. See also: “Midwest Distances”
No. It’s just a fucking operating system1. A giant program on a computer. What weird, disconnected, embarrassing bullshit ‘spiritual’ techbro nonsense.
“We made a website full of memes you can search through, powered by Bitcoin and Machine-Learning (of course), and are changing the world.” No. Stop it.
I think I’m cranky because I’m hungry 🍕
“Come back or get fired. We didn’t build this giant spaceship for nothing. And how’s our overpaid middle-management supposed to micro-manage you?”
One of the most disheartening charts I’ve seen about the current hyperpartisan political climate. We fear each other so much more.
I suppose all’s fine and dandy if you’re in news or social media and are spiritually obligated to deliver Value™ to stakeholders via those almighty engagement metrics that do nothing more than sow rancor among people who have a lot more in common than they’re led to believe. All Facebook does is hold a mirror up to society. All the news media does is report. Ethics and responsibility are for the Value™-illiterate. The only thing that matters, as the society and country you and your children live in devours itself, is making gobs of cash.
This is for children under 13. Because children over 13 engage with Social Media in very healthy and fruitful ways.
“They are also simply too young to navigate the complexities of what they encounter online, including inappropriate content and online relationships where other users, including predators, can cloak their identities using the anonymity of the internet,” the letter reads.
[…] “Without a doubt, this is a dangerous idea that risks the safety of our children and puts them directly in harm’s way,” New York’s attorney general, Letitia James, said in a statement Monday. “There are too many concerns to let Facebook move forward with this ill-conceived idea, which is why we are calling on the company to abandon its launch of Instagram Kids. We must continue to ensure the health and wellness of our next generation and beyond.”
What AG James fails to understand is that cradle-to-grave engagement greatly enhances Shareholder Value. This is the only thing in the world that matters. Here’s the Plastic Shithead Overlord who runs the sordid business:
“I think helping people stay connected with friends and learn about different content online is broadly positive,” Zuckerberg said. “There are clearly issues that need to be thought through and worked out, including how parents can control the experience of kids, especially of kids under the age of 13 but I think that something like this could be quite helpful for a lot of people.”
And why should Value be affected by the few tens of thousands of children who may not enjoy the the “broadly positive” effects of our product which has issues to be worked out?
You see, Value cannot (and should not) be shackled by the kind of careful research and measured approach that considers a target audience’s well-being. If such research by the so-called-experts establishes that our venture is, indeed, harmful to children, it will (and ought to be) brushed aside against their remonstrations. All Facebook does is “hold a mirror up to society”1 and extract Value from whatever it finds ♥️
A shithouse company run by terrible human beings. But I hear the compensation is… *chef’s kiss*.
I’ve heard this lovely sentiment from quite a few Facebook employees. ↩︎
Because the only thing that matters is delivering Value to shareholders. (cached)
Incidentally, and to the “huh” of many Value-illiterate people, defending totalitarian governments is exactly how one gives “people the power to build community and bring the world closer together.”
I love this more than I can describe.
Well… not really. Maybe. Brian Will examines the history of the OOP way of thinking and it’s over-application as a panacea to every problem domain, particularly in The Enterprise™
This is what it takes to view a read a bloody article with a PiHole to block ads. I don’t even want to get started on the AMP nonsense. First, a focus-stealing popup asking if you’d like to subscribe to some bullshit.
Followed by another popup asking you’d subscribe to more bullshit.
After which you can finally see what you came for… which helpfully occupies the bottom 20% of the viewport 💯
See also: Every Website in 2019. Nothing will change.
“Our hip product designers all agree: Adding significant noise via tiny profile pictures allows our users to tell, at a glance, who is online and who isn’t.”
“And no, you cannot opt out. Because fuck you. What’re your options? MatterMost? 🖕😂🖕”
to the House Committee on Energy and Commerce on Facebook’s engagement practices and likens them to time-tested strategies used by Big Tobacco before they were somewhat regulated.
And he would know. Kendall was the former “Director of Monetization” at Facebook and is currently the CEO of Moment, a company that seeks to help people “build healthier relationships with their phones.” Which I suppose is one way to atone.
The software industry is currently going through the “disposable plastic” crisis the physical world went through in the mid-20th century (and is still paying down the debt for). You can run software from 1980 or 2005 on a modern desktop without too much hassle, but anything between there and 2-3 years ago? Black hole of fad frameworks and brittle dependencies. Computer Archaeology is going to become a full-time job.
And here’s 2018. I don’t even want to start on the state of the mobile web, especially news websites.
Being a satirical take on the state of enterprise software development, and authored by smart people who presumably like to watch the world burn. The issues are highly entertaining as well.
On tech culture’s obsession with quantifying and optimizing every single moment of one’s existence1:
I hate this framing. It is pressuring, dehumanizing as it contextualizes human endeavor in transactional terms, usually in a market.
I know this goes against the ethos of high-tech, but humans don’t have an imperative to be as productive as possible. They don’t have to make the most use of their time. They don’t have to get as efficient as they could. These are metrics that work fine for our machines, our code. But humans are not machines. Sure, we shepherd the machines, and sure sometimes we are in rivalrous dynamics that increasing efficiency has a payoff, but it is never the goal in itself.
The real “currency” we have, if we are using the term in the sense of denoting essentialness, is our humanness, our mortality, our psyches, our connection with other people and seemingly mundane but meaningful parts of our lives. I mean, look how many of us started baking their breads and enjoying it. It is not a wise use of the “currency of time”, but it is part of life very well spent, as our internal reward mechanisms have been telling us.
With corroboration via sophomoric interpretations of stoicism and objectivism, all aimed at summoning this latent, dispassionate übermensch whose sole purpose is to “leverage” and deliver value. ↩︎
Whatever. I say we continue to abstract away and make better and better hammer factories and beam at our sophistication in creating unnecessary complexity #jobsecurity
Dec 9 It’s so bad a Swiss company made a much saner substitute that sells for ~$20.
Nov 16 Looks like you can use the old remote with the new AppleTV.
I’m annoyed every time I have to use the infernal thing.
- It tries (poorly) to be something other than a damn TV remote1.
- There’s no way to tell which end is up.
- There’s no accidental tap detection when you pick it up.
- It’s way too small.
- It’s way too slippery.
- I use Siri to skip forward and backward because the edge clicks are unmemorable and dysfunctional.
I use the iPhone app when I can and, while I can’t stand the terribly implemented inertial scroll, still find it better than the hardware.
Inertial scrolling does in fact exist on the Siri remote, but the effect is muted. The on-screen movement doesn’t accurately reflect your swiping — scrolling is staggered and it often stops abruptly, when you don’t intend to stop. This makes aspects of navigation, like manual search or entering your email address or password, extremely cumbersome.
– Dave Smith, “My biggest problem with the new Apple TV remote”
See also: Steve Brykman of ArsTechnica’s thoughts on “the nightmare horrorshow” that’s the remote.
I absolutely love Dustin Curtis’ splendid explanation of “AppleTV” branding that’s making making the rounds on HN. For posterity, I stole this handy color-coded transcription off Michael Tsai’s blog.
See also: The intractably stupid AppleTV Remote.
Do quite a bit more, good and invisible things, than required for the MVP for the bloody “sprint”. You will then smile a lot and sleep quite well indeed. Excellence is a habit.
Saved here via Stephanie Harcrow’s post.
No Code is the best way to write secure and reliable applications. Write nothing; deploy nowhere.
Start by not writing any code.
@fuckit def buggy_function(): problem_solved @fuckit class BuggyClass(object): def __init__(self): everything_works_now
This module is like violence: if it doesn’t work, you just need more of it.
Back in the second century BC, Cato the Elder ended his speeches with the phrase ‘Carthago delenda est,’ which is to say, ‘Carthage must be destroyed.’ It didn’t matter what the ostensible topic of the speech was: above all, Carthage must be destroyed.
I don’t know what my newfound affection for it says about me. Via HackerNews.
At least in Civilization:
[. . .] Gandhi tends to be the first to use nuclear weapons, and spares no expense on wiping your civilization off the map. You probably always thought you were crazy — how could a series that prides itself on historical accuracy portray Gandhi so wrong? Well, you’ll be happy to know that both your sanity and Civilization’s historical integrity aren’t at fault. Instead, a bug’s to blame.
In the earlier Civs, leaders are given a set of attributes that dictate their behavior. One such attribute is a number scale associated with aggressiveness. Gandhi was given the lowest number possible, a rating of 1. However, when a civilization adopted democracy, it granted a civilization -2 to opponent aggression levels. This sent Gandhi’s rating of 1 into the negative, which swung it back around to 255 — the highest possible rating available, and thus, the infamous warmonger Gandhi was born.
And they just left it in there as an homage:
This cyclical aggression scale was fixed in later versions of the game, but Gandhi wasn’t totally cured of his bloodlust. The team fixed Gandhi’s aggression rating, but as an Easter egg paying homage to the earlier aggressive versions of Gandhi, ramped his nuke rating through the roof. So, while it may be difficult to push Gandhi over the edge, he goes from zero to nuclear option once you do.
OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I’m not aware of them.
So… Erlang? (RIP Joe Armstrong 🙏) And that was before this
(I’m not against types, but I don’t know of any type systems that aren’t a complete pain, so I still like dynamic typing.)
Indeed, Dr. Kay.
A great complement to the book.
When I think of Theranos, I really think that there were two entirely different worlds. There was the carpeted world and there was the tiled world. In the carpeted world where Elizabeth was a goddess. Everyone, you know, almost worshipped the ground she walked on. She could do no wrong. She was the next Steve Jobs. Theranos was changing the world. And then you go into the tiled side and nothing works. We’re on a sinking ship. Everything is a lie. Reconciling the differences between those two worlds was really hard for me to do.
[…] I would leave the tiled world thinking, ‘Oh man, sinking ship.’ And I would go have one conversation with Elizabeth. And I would be so motivated to go back and work and I felt like I was changing the world again. And I would go back into the tiled world and I would go, ‘Wait, what just happened?’ You want it to be true so badly and even for me, I was working with these devices every single day and she could still kind of convince me. When I think back on those conversations, I just think ‘How did she do that?’
In programming, it is also common to refer to the “NIH syndrome” as the tendency towards reinventing the wheel (reimplementing something that is already available) based on the belief that in-house developments are inherently better suited, more secure, more controlled, quicker to develop, and incur lower overall cost (including maintenance cost) than using existing implementations. In-house developments are often collaborative with each other. When two in-house developments come together, it is informally known as “computer incest.”
Shturmovshchina was a common Soviet work practice of frantic and overtime work at the end of a planning period in order to fulfill the planned production target. The practice usually gave rise to products of poor quality at the end of a planning cycle.
It has three very, very familiar stages
- Spiachka (hibernation) – this is the first third of the planned period. Nobody’s doing anything, mostly because there are no orders to do anything
- Raskachka (buildup) – at this stage it is more or less known what should be done, but there is too much time ahead, and during that time the requirements may change, as well as the management;
- Goriachka (fever) – this is the last stage of the planned period; by the end of this stage the product is supposed to be ready, or the management may be reprimanded; everybody works like crazy, with the bright future being so near.
For a single project I made the mistake of working on in my Dropbox folder:
Wonder what the downsides are to hardlinking by default. And, fundamentally, why creating an amazing, Python-like standard library is such an intractable problem in the first place.
[. . .]
core-jsis also utils library, quite a big one honestly! It has so many functions inside I bet a lot of other packages will be using it!
Not really. Only
babel-runtimehas it in its deps. Oopsie.
And returning to the starting point,
cliuses only 3 (trivial) methods from common-tags —
oneLine. Oopsie daisy.
In order to use these 3 methods
node_modulesneeds 1826 files. And that’s just 4 of mentioned 976 installed packages.
– Mateusz Morszczyzna, What’s really wrong with node_modules and why this is your fault
🤦♂️ The portion of the article that listed functionally similar packages and
is-* packages was particularly dismaying. As he points out, there’s a good reason why jQuery and lodash are as immensely popular as they are1.
In addition, engineers have commoditized many technical solutions that used to be challenging in the past 15 years. Scaling used to be a tough challenge, not any more for many companies. In fact, part of my daily job is to prevent passionate engineers from reinventing wheels in the name of achieving scalability. It’s not because we don’t need to solve scalability problems, but because the infrastructure is good enough for most of companies. Building and operating so called “big data platform” used to be hard, not that hard any more. Building machine learning pipeline used to be hard, not that hard any more for many companies. Of course, it’s still challenging to build a highly flexible and automated machine learning pipeline with full support of closed feedback loop, but many companies can get by without that level of maturity.
– via Hacker News (emphasis mine)
Saw this minor dis by Safari
margin: 0; padding: 0; ... margin: 0 !important; padding: 0 !important; ... sudo margin: 0 !important; sudo padding: 0 !important
What’s going on is that without some kind of direct experience to use as a touchstone, people don’t have the context that gives them a place in their minds to put the things you are telling them. The things you say often don’t stick, and the few things that do stick are often distorted. Also, most people aren’t very good at visualizing hypotheticals, at imagining what something they haven’t experienced might be like, or even what something they have experienced might be like if it were somewhat different.
When people ask me about my life’s ambitions, I often joke that my goal is to become independently wealthy so that I can afford to get some work done. Mainly that’s about being able to do things without having to explain them first, so that the finished product can be the explanation. I think this will be a major labor saving improvement.
XKCD. Add to the mix
Then there’s Python’s packaging and distribution kerfuffle…