HN user

ftlio

475 karma
Posts1
Comments161
View on HN

Yeah this trope won’t die. You can win an internet thread with data that tells people they don’t know they’re better off, but you can’t win an election when they don’t believe it.

“Nobody likes my product because they are stupid”.

This is how I’ve implemented login several times now, and it comes from repeatedly having to undo a ton of assumptions about what a User Account is when attempting to modify a funnel to just actually work how people want it to on both sides of the equation.

Unless you’re operating in an anonymity preserving space, you can just do this and choose to integrate with passkey later.

The main disadvantage of this method is that you have to think about managing multiple users for an account sooner than you normally would, since sharing a password is no longer possible. I can’t think of a funnel or UX that isn’t ultimately improved by conscious effort here.

The other is of course that your security becomes limited by the weighted average of security of your users’ email providers, which will generally be better than you need. Passwords can then be your second factor here, when you finally need them, or you can use some other factor yet again. In B2B you can jump straight to SAML or OIDC connections.

In B2B or D2C contexts this has always just worked and the edge cases are generally worth solving for the benefits to acquisition.

The semantic web has been, in my opinion, a category error.

Hard agree.

Maybe this all changes when AI takes over, but AI seems to do fine without us defining ontologies, etc.

I think about it as:

- Hypermedia controls were been deemphasized, leading to a ton of workarounds to REST

- REST is a perfectly suitable interface for AI Agents, especially to audit for governance

- AI is well suited to the task of mapping the web as it exists today to REST

- AI is well suited to mapping this layout ontologically

The semantic web is less interesting than what is traversable and actionable via REST, which may expose some higher level, reusable structures.

The first thing I can think of is `User` as a PKI type structure that allows us to build things that are more actionable for agents while still allowing humans to grok what they're authorized to.

Great read, especially from the perspective of just trying to understand why people overfit certain thinking to certain problems.

My startups perspective: I think it’s hard for people to understand the subtlety from all the memes and hearsay.

We hear that you need to talk to your users to understand what to build, but I’ve seen this fall flat on its face and lead to extreme confusion, several times now, when you’re not talking to your users as a matter of observing your product/business model against reality to then update the axiomatic thinking that (hopefully) lead you to its current iteration.

I’ve seen this play out as a cringy ask to “let us know if you think of any other features you might like” met with puckered faces from customers that essentially said “or how about not because my job isn’t to build your product?”

This is Henry Ford / Steve Jobs talking about faster horses. You’re not asking your customers what to build. You’re asking them to help you understand the reality against which your logic plays.

Then there’s the opposite, where a business marches forward because some axiomatic thinking has determined that the macro environment should support it, not updating itself against a pending catastrophe in cash flows that leads to cuts that further undermine its ability to exist even within its own framework.

Design and test from first principles, but operate for the pain of as many rounds as possible. Maybe one day you can truly optimize and it won’t hurt as much.

I suck in the kitchen. If you asked me to make you a sandwich, I would have to go to the cupboard or refrigerator a few times to end up with all the right ingredients. Then I could at least competently assemble the sandwich. My family also loves antipasto salads, which are basically just like a sandwich without bread.

If you asked me to assemble 10 different sandwiches, and 1 antipasto salad, some of which I'm seeing for the firs time, I would attempt to gather all the ingredients, but ultimately end up going back and forth between the cupboard and refrigerator still. I might even think, on one of those trips, hey, I don't need the mayo anymore, so I can put it away, only to have to go back and get it again for a later sandwich. The end result would probably be all the ingredients for every sandwich on the counter at the same time, as I should have done.

I'm pretty smart though. I'm good at Abstraction. So, I assume I'm going to get another order from the family for a sizable amount of sandwiches and some more antipasto salad. I name each sandwich and salad type and then write down a list of ingredients for each sandwich so I can cross-reference it to assemble a master list of all required ingredients per sandwich when the next order comes in. I can then go to the cupboard and refrigerator once.

I then order each sandwich type by their shared ingredients, so that I can apply ingredients only once until I'm done with that ingredient (and then I could put it away, but I'm not a premature optimizer). The only issue is that some ingredients require slicing, like tomatoes, and tomatoes aren't sliced in the same manner for the salad as the sandwiches, and my daughter can't stand when the tomatoes and lettuce touch on her sandwich, and my other daughter wants the cheese and the meat separate. I don't want to overcomplicate the problem, but I don't want to Repeat Myself either, since I know I can grab the tomatoes and slice them all up in the same step, so I need to remember when I assemble my list of ingredients per sandwich and salad that some are exempt from the ordered application of ingredients and must be handled by a single, separate script for assembly.

I run this process a few times, and it works, but I learn that it takes me 35 minutes to do, and that there's now a hard requirement on a frozen item involved with one of the sandwiches that it not be out for more than 10 minutes, so now this ingredient itself must be exempted from the step where I grab all ingredients and my assembly instructions for the one sandwich that involves this ingredient must be very clear that I will still also need to grab that ingredient.

Then I learn/realize:

In-fact, 90% of the time I make a sandwich, or salad, I only make one at a time.

OR

Nobody wants to order sandwiches by name, they just want to give me a list of ingredients in the right order

OR

I am gradually making so many more sandwiches every day that my kitchen counterspace cannot support getting all the ingredients at once

OR

I only make the same sandwiches + one salad every day to the exact same specification

I had to work on an architecture like this for a company that had no business employing such an architecture. It sucked, but in attempting to help people on team "this is good" communicate with team "this is insane, terrible, illegal even?" I ended up probably growing more than anyone on either team.

When life hands you executives with zero accountability, make lemonade I suppose.

Central Banks have allowed for the creation of tens of trillions of dollars / euro into a bases that were only in the tens of trillions.

That glut of new money took a flight to quality in banks and things like tech companies. Such firms, and all the people that contract with them or are employed by them as downstream from this money thus had a warped cost to capital compared to everyone else.

It wouldn’t make sense to operate a business and not choose the customer who can support a higher price point over the lower one with an identical cost, and with such a large delta, increasing margin as a matter of price increase made fundamentally more sense than investing in cost reductions.

The fact is that Central Banks had the largest role to play here assuming that choosing to make more money over less money by simply raising prices is not inherently evil.

My thought when I read it as well. I've owned Nexus 4, 5, 6, Pixel 1, 2, 3, 4 and finally gave up. Half of these phones were purchased because the previous model crapped out. I am not a heavy phone user either. I think I stuck with them because there was always some integration with Google and iPhone that didn't make me happy, but whatever it is must have been solved by the time I got an iPhone because I'm on three years with mine. Probably won't replace it for another three years.

Google search has become nearly unusable, while Microsoft’s core consumer products still seem OK - you can still install Windows 11 without a Live account through a workaround.

I can run games on Linux and do work on a Mac. Search is still a problem, but I am increasingly turning to ChatGPT for searching anything non current event, with Bing increasingly.

I was a full Google stack, Android, Home, TV, everything, for a few years. I don’t know about trust, but Google products just flat out suck with constant disappointment, and search is no exception.

The unions aren’t that bad, but if there was any kind of accountability on budgets, they would be crushed or, more likely, just be better and faster. Between ZIRP and infinite debt, I can’t blame them for getting their cut.

Also yes, I assume most of American buildings in the next 20-30 years will be built by foreign contractors using foreign labor.

Because most of the gravy is in getting those things wrong. The bank or the government will find more money to keep the work going.

I worked with a GC who bragged about tripling the budget of a highschool build. If you are doing large projects the only way you're going to win is to be way off on bid day and to be good friends with the people who figure out the financing.

I worked in construction for ten years and then worked at a construction management software startup for a year, where maybe I could see the writing on the wall better than others.

The problem is that nobody can align the incentives of the tradespeople and the office folks when it comes to integrating into an information system together. You have to cross multiple organizational boundaries between owner, builder, contractor, and subcontractor of which very few people have a bottom up understanding. Mostly the people with the incentive to put everyone on a single platform (owner / builder) think very low of the tradespeople, which is why tradespeople are beginning to make more money than the accountants and PMs.

Having worked in climate tech for a few years and also following the VCs in that space intently, I believe you've completely nailed it. Seriously, this comment is worth two trillion dollars.

I figured a modern stack would involve modern tools and not be a head first dive into enterprise SaaS contracts and integration hell, but what do I know.

At this point I’m diversified enough in my investments to just start agreeing. “Yes, you’re right, we’ll all be drinking our meals and everyone who uses Postgres will be fired”

On the subject of modules, I often recommend “Composite / Structured Design” and/or “Reliable Software Through Composite Design” by Glenford Myers.

It’s old. The examples are in PL/I. But his framework for identifying “Functional Strength” and Data Coupling is something every developer should have. Keep in mind this is before functional programming and OOP.

I personally think it could be updated around his concepts of data homogeneity. Interfaces and first class functions are structures he didn't have available to him, but don’t require any new categories on his end, which is to say his critique still seems solid.

Overall, most Best Practices stuff all seem either derivative of or superfluous to this guy just actually classifying modules by their boundaries and data.

I should note, I haven't audited his design methodologies, which I'm sure are quite dated. His taxonomy concerning modules was enough for me.

"The Art of Software Testing" is another of his. I picked up his whole corpus concerning software on thriftbooks for like $20.

The analogy is apt in at least defining a separation between the overall complexity of what SpaceX produces compared to NASA, to say something of how the two different models of R&D work, but maybe off in degrees as you discussed.

"NASA makes precision scientific instruments and SpaceX makes precision scientific instruments that have higher tolerances with a higher focus on throughput, and there are rapidly diminishing returns in how much funding can be used to close the gap" is probably the right take if not as fun.

I think clarity on what “level of leadership” (link, Netflix presentation) is expected is a good thing and also helps people understand that such a hierarchy exists. It gets people thinking about just handling things for you.

Otherwise, I dunno, my best managers had their own way of waxing philosophical about leadership and my role, the product, company, etc to make me more autonomous.

https://www.infoq.com/presentations/netflix-five-level-owner...

What works: A lead who plans out the project and works with engineers or engineering teams with different specialties to scope out the required components. Lead puts together a plan that is path dependence aware, engineers / teams work iteratively and communicate status.

Leads often don’t know how to lead, scrum hides this.

Management is supposed to be understanding the organizational needs of completing such projects i.e. making sure the right personnel are on the team, on the right teams, that the right teams exist, and that individuals are capable (technically, as a matter of attitude, incentives, conflicts of interest).

Management often doesn’t know how to manage and scrum hides this.

Product is supposed to be coming up with the projects. It gets more complicated as there are “technical” products where the PMs are maybe the leads of Engineering teams, and other ones, but overall, someone is supposed to be responsible for defining what to do next as a discrete goal.

Product often doesn’t know how to do this and scrum hides this.

The thing everyone gets wrong with agile / scrum is that you just keep hacking away until “something” gets done. Without getting into how “agile isn’t scrum” and really just meaning “the death march of ill-specification and low accountability that often gets described as scrum or agile”, you’re supposed to actually start and stop stuff. You can start, fail, and restart. But you need to complete stuff, then look at what was planned versus what was delivered. You need to make specific people responsible for specific things getting done. If people can’t handle their assignments, they need to be given different assignments or removed.

This all sounds really simple, but at dysfunctional orgs, it gets way off track. Being somewhere where nobody is responsible for anything is practically a right of passage in this industry.

CircleCI Layoffs 4 years ago

Does anyone... actually like CircleCI?

It's a weird feeling where they once felt like a reprieve from all the PITA "enterprise" stuff, but now they're that PITA kinda-poorly-minded "SaaS" stuff, which sucks compared to... a Microsoft product?

It's kinda obvious in retrospect. Enterprise became SaaS faster than SaaS could become enterprise.

DevOps is broken 4 years ago

I hire infra engineers, build engineers, release engineers and: backend engineers.

I always thought DevOps the “function” just meant this, and being a DevOps engineer at a small company meant you did these with decreasing emphasis, where by the time you’re in the backend it’s just helping enforce logging, tracing, other observable components.

Has worked for me in hiring and being hired and almost everyone I know understands this.