HN user

britch

670 karma
Posts0
Comments189
View on HN
No posts found.

Why would a company warn that their technology is dangerous if it wasn't?

Because it makes their technology seem more important and powerful?

Do you usually believe 100% what a company says about itself?

Mythos export control issue, it's obviously not good for profits

Who cares about profits? None of these companies make money like a business currently. It's all speculative valuation and influenced by the same hype/doom cycle

What do you mean by basic level of quality?

What are you being pressured to do to meet a deadline that's on the level of building collapse?

"skimp on the tests" or "do this hard to maintain fix as the solution" is maybe the hardest I've gotten pushed. Are people telling you to skip auth to hit a deadline?

I think we're both arguing for balance here

When I started programming I wanted everything I wrote to be museum-ready. I was slow as shit and waaay too precious about code. As I've matured I realize that's not a good way to work.

I think my lowest acceptable quality bar is still pretty high (and I'm fortunate to work somewhere that is valued). But as time has gone on I've tried to emphasize speed and knowing when something is "good enough"

I feel that it's an important skillset for the profession, but often craft-oriented engineers dismiss it at "business people not understanding"

As always this depends a bit on where you work and your projects

I'm not sure I follow the point you're making

My example is we want to skip the div if empty or undefined. We can't throw on assignment so we leave it as as string|undefined.

When we go to display, we have to check if the string is empty anyway, right? What if it's empty in the DB or API response?

No matter what the display-component is doing something to prevent showing the empty string.

` if(fooBarDisplayName.length) { show div } `

or

` if(fooBarDisplayName?.length) { show div } `

I'm not sure what we gain by leaving it as `string|undefined`

---

If there was a "NonEmptyString" type maybe I could see where you're coming from.

I guess you could argue treating `string` like a `NonEmptyString` type seems error prone. The compiler can't verify you've done the check. At some point someone will set a string when it's empty or not do the necessary check.

You'd want a separate non-string type to make sure it's actually been parsed

I think about this a lot. My belief is professional programmers should not be artists.

I think about other professions. A cook cannot spend time making every dish perfect. A bricklayer isn't perfectly aligning every brick. Even in movie-making there's a shooting schedule. Things go wrong and the best filmmakers know how to keep the production moving.

I love the craft of programming, but I see a lot other craft-oriented programmers who want every line to be beautiful. If you want to write code poetry in your off-time, that's your business. But that's not the job.

At work we are bricklayers and cooks. We practice a craft, but also have time constraints. I try to do my best work while working at pace. Sometimes my code could be better, but it's not worth the time to fix. Ultimately the thing we make is the running software, not what's under the hood. The business people are sometimes right

Early errors are good, but I think the author overstates the importance of filtering out empty strings

---

I disagree that erroring out when the app doesn't have ALL the data is the best course of action. I imagine it depends a bit on the domain, but for most apps I've worked on it's better to show someone partial or empty data than an error.

Often the decision of what to do when the data is missing is best left up the the display component. "Don't show this div if string is empty", or show placeholder value.

---

Flip side, when writing an under the hood function, it often doesn't matter if the data is empty or not.

If I'm aggregating a list of fooBars, do I care if fooBarDisplayName is empty or not? When I'm writing tests and building test-data, needing to add a value for each string field is cumbersome.

Sometimes a field really really matters and should throw (an empty string ID is bad), but those are the exception and not the rule.

I was confused by why "use of AI" was a top-level requirement of this, but I see now that weave is AI-driven "engineering output measurement" company, down to the individual contributor level.

I can understand why you would have better luck hiring eager new-grads than seasoned engineers. I'm sure some IC find the weave stats useful, but it also sounds like a toxic manager's dream. I can understand why more senior engineers would steer clear.

I mean the answer is in the question--why are the self-driving cars (largely funded by billion-dollar private companies and VC) available in the same city as this anarchic public transit system (funded by largely by regional taxes and ridership fees)

Is it clear the charity approach is more efficient? My sense is many non-profits prioritize fundraising and have the bloat of executives who's main function is to schmooze donors.

I'm sure there are good nonprofits/charities. And there's definitely inefficient public offices that are mainly interested in politics.

My point is "seems less efficient" is kind of weak ground to be asking others for evidence

Yeah the company has to give a timebox. It's true that candidates could abuse that, but open ended "impress us" is asking for trouble for both parties. And honestly you should be able to tell of someone spends 20h or something you said to take 4h on.

My take on the proposal: the hiring contact is not the person who wrote or will review the prompt. The candidate sent this long message and I doubt the hirer even read it. That's some nativety on the candidate's part, but the company absolutely should indicate "you're overthinking this"

I am not surprised by the result of this article, but LLMs are marketed to be used to get factual information on non-verifiable domains.

Ads shows kids asking for answers to homework on things like "when did xyz battle take place"

Your frustration with people talking about it might be better directed at the people marketing it

I mean, they are ending support for windows 10 in a few months. Win 10 is pushing users to upgrade pretty hard. It's not surprising to me more people are on it now than before

People who are jumping ship won't show in the numbers until Windows 10 is at end-of-life.

We would need to compare percentage of Windows 10 user in 2020 to Windows 11 users in ~2026 to get a sense of the impact

This is some nonsense.

I think this funimendimentally misunderstands what a strike is and how it works. When collective bargaining works, it's because you can force a negotiation with an owner or boss. A group can prevent the business from making money until the owners come to the table.

Having a bunch of people walk off the job for a day might make some kind of statement, calling it a general strike is a bit embarrassing from my perspective. This is a protest of a sort, but with no clear message or goal

Interesting perspective. I appreciate that it tests the models at different "layers" of understanding.

I have always felt that LLMs would fall apart beyond the summarization. Maybe they would be able to regurgitate someone else's analysis. The author seems to think there's some level of intelligent creativity at play

I'm hopeful that the author is right. That truly creative thinking may be beyond the abilities of LLMs and be decades away.

I think the author doesn't consider the implications of broad use of LLM societally. Will people be willing to fund human historian grad students when they can get a LLM for a fraction of the price? Will prospective historians have gained the training necessary if they've used an LLM through all of school?

I believe the education system could figure it out over time. I'm more worried that LLMs like this will be used as further justification to defund or halt humanities research. Who needs a history department when I can get 80% for the cost of a few chatGPT queries?

I find it funny that article argues SPA frameworks were pushed with cargo-cultism without evidence, while making proclamations of doom and being fairly light on substance.

I think the author has some valid points. I agree vanilla JS and SSR is a better fit for a lot of situations.

(I will admit some bias as someone who's mainly worked in Angular-Typescript)

AngularJs started gaining traction around the rise of "apps" and the iPhone.

SPA was a way to have an "app" in the browser with all the complexity that went with it. It also was a way to share an aritecture with mobile apps -- the browser is a client which calls the same public API as mobile devices.

Obviously you can call the same public API with SSR, (though it might have been more tricky before the rise of microservices), and not all webpages need to be "apps", but I think this was the argument at the time.

I think a lot has changed in 10+ years and those architectural decisions make less sense.

With static data and a form or two, SSR and vanilla JS is perfect. Resume-padding engineers might try to make it more complicated than it needs to be, but they're wrong.

I would not like to work on a complex web app with 10 other engineers that does not have some kind of component architecture.

A "fake" (as opposed to a mock) is a pretty well understood concept.

Is there a difference between a fake and a "nullable"? As far as I can tell this is a pattern for merging your fakes and reals which seems cumbersome and error prone

I mean this as a genuine question-- what new successful projects have Amazon or Apple produced since 2015?

I'm not a defender of Google, but my sense has always been that tech generally slowed around that time. Would like to know if I'm missing something

It's a fair point.

My concern is with the limitations in the creation of new styles.

I guess my view is that you send 100 people to art school and you get 100 different styles out of it (ok maybe 80).

With AI you've got a handful of dominant models instead of a unique model for each person based on life experience.

Apprentices learn and develop into a master. If that works is all moved to an LLM, where do the new masters come from?

---

I take your point about the technology. I have a hard time saying it's not impressive or similar to how humans learn.

My concern is more with what widespread adoption will mean

The problem with LLM in my view is that they're capped at what already exists.

Using them for "creative" things, is that they can parrot things back in the statistically average way, or maybe attempt to echo it in an existing style.

Copilot cannot use something because it prefers it, or thinks it's better than what's common. It can only repeat what is currently popular (and will likely be self reenforced over time)

When you write prose or code you develop preferences and opinions. "Everyone does it this way, but I think X is important."

You can take your learning and create a new language or framework based on your experiences and opinions working in another.

You develop your own writing style.

LLM cuts out this chance to develop.

---

Images, prose, (maybe) code are not the result of computation.

Two different people compute the same thing they get the same answer. When I ask different people to write the same thing I get wildly different answers.

Sure ChatGPT may give different answers, but they will always be in the ChatGPT style (or parroting the style of an existing someone).

"ChatGPT will get started and I'll edit my voice into what it generated" is not how writing works.

It's difficult for me to see how a world where people are communicating back and forth with the most statistically likely manner is good

I agree approve with comment and trust is the way to go.

I will say if I submit a change and my reviewer immediately opens a change to make minor edits I'm going to be annoyed.

Either it's important enough to bring up in review, or it's too minor to bother with.

On my team at least there's a grey area between managers responsibilities and Tech lead responsibilities.

Managers are ultimately responsible for getting tasks that stretch employees abilities, but also in my experience don't have hands on the code. They're usually dealing with politics around team priorities, goals, keeping people motivated, etc.

Managers rely on tech leads to identify work that needs to get done and would be a good fit for the newbie. Tech leads also have to teach newbies best practices, offer advice on designs, etc.

Managers are often technical (e.g. used to be programming daily), but are not actively writing code anymore.

I feel this is a bad situation for tech leads since they have to sort of manage, and do design work, and write code. Kind of a thankless job