Hacker Newsnew | past | comments | ask | show | jobs | submit | chrisfosterelli's commentslogin

I agree. Software engineering is basically the only industry that pretends this is professionally acceptable. Imagine if government staff asked when a bridge would be done or how much it would cost and the lead engineer just said "it's impossible to estimate accurately, so we wont. It's a big project tho".

Estimating in software is very hard, but that's not a good reason to give up on getting better at it


Government contractor's estimation is based on what number is politically acceptable, not how much the project would realistically take. 90% of public projects were overbudget [0].

But you're pretty spot on, as 'professionally acceptable' indeed means politically acceptable most of the time. Being honest and admitting one's limit is often unacceptable.

[0]: https://www.strategy-business.com/article/Why-do-large-proje...


Yes, my claim is absolutely not that they're good at it haha.

Estimation is a real problem in a lot of industries, including ours, and I think that's probably common ground here -- I suppose my differing position is that I think the solution is to get better at it, not to refuse to do it.

I've been on projects where I've seen the budget explode and projects where I've seen the budget kept tight and on track. The latter is very hard and requires effort from ALL sides to work, but it's almost always achievable.

I actually empathize a little bit more with megaprojects because generally the larger the budget the harder it will be to keep on track in my experience. Most estimates we're asked to give in our day jobs are not even multi-million dollar estimates.

Also I'm using budget and estimate interchangeably but these are of course different things -- that's one of my nitpicks is that we often treat these as the same thing when we talk about estimating being hard. A lot of individual estimates can be very wrong without affecting the ultimate budget.


Contractor estimates are just as prone to schedule slippage and cost overruns as anything estimated by software engineers. I doubt anyone's ever argued that giving wrong estimates is hard or impossible. Only that approximately correct ones are, and other industries seem to struggle with that just as much as software. Authors don't finish books by deadlines, so fans are left in the cold. Tunnels take twice as long and cost twice as much. Renovations take a year instead of 3 months and empty your bank account.

Saying "I don't know" is arguably more honest, even if it's not useful for budgets or planning.


> Contractor estimates are just as prone to schedule slippage and cost overruns as anything estimated by software engineers

I completely agree. That's why I chose that example: They're also awful at it, especially these days in North America in particular. But any contractor that tried to put in a bid claiming "it'll be done when it's done and cost what it costs" would not be considered professionally competent enough to award a multi-million dollar budget.


The date is just a useful fiction to:

- Create urgency

- Keep scope creep under control

- Prioritize whatever is most valuable and/or can stand on its own

If you just say “I don’t know” and have no target, even if that’s more honest, the project is less likely to ever be shipped at all in any useful form.


Ever heard of Big Dig in Boston, for example? Or the Joint Strike Fighter?

Estimations in government contracts are as ridiculous as in software. They just pretend to be able to estimate when things will be done, when, in fact, the contractors are as clueless.

Not being able to say "it is impossible to estimate", does not mean your estimate will be correct. That estimation is usually a lie.


Not a good analogy. Once you build a bridge, it’s done. Software nowadays is never “done”, and requirements constantly change. It’s more akin to building a rope bridge and trying to upgrade it to accommodate cars while it’s in active use.

Sounds like you don't have a good process for handling scope changes. I should know, the place I'm at now it's lacklustre and it makes the job a lot harder.

Usually management backs off if they have a good understanding of the impact a change will make. I can only give a good estimate of impact if I have a solid grip on the current scope of work and deadlines. I've found management to be super reasonable when they actually understand the cost of a feature change.

When there's clear communication and management decides a change is important to the product then great, we have a clear timeline of scope drift and we can review if our team's ever pulled up on delays.


I feel like some people in this thread are talking about estimates and some are talking about deadlines. Of course we should be able to give estimates. No, they're probably not very accurate. In many industries it makes sense to do whatever necessary to meet the estimate which has become a deadline. While we could do that in software, there often isn't any ramifications of going a bit overtime and producing much more value. Obviously this doesn't apply to all software. Like gamedev, especially before digital distribution.

I think it's obvious that all software teams do some kind of estimates, because it's needed for prioritization. Giving out exact dates as estimates/deadlines is often completely unecessary.


The real problem is software teams being given deadlines without being consulted about any sort of estimates. "This needs to be done in 60 days." Then we begin trading features for time and the customer winds up getting a barely functioning MVP, just so we can say we made the deadline and fix all the problems in phase 2.

OK, so that sounds fine. Software delivers value to customers when it's better than nothing some of the time. Even if it barely functions then they're probably happier with having it than not, and may be willing to fund improvements.

When customers ask when feature X will be ready, they sure have an idea of done in their mind.

Sure, so extract the customer's definition of done as part of requirements analysis process and write it down. Get them to agree in writing, including the explicit exclusion of other things that aren't part of their idea of done.

When the government asks how much project X costs they find ten companies that promise the moon and then deliver a wheel of cheese for five times the estimated cost.

They miss estimates all the time though? It’s an observable fact

There is a bridge in my town that is finally nearing completion, hopefully, this year. It was estimated to be completed 2 years ago.

This changes when it’s a project that has fewer unknowns, where they’ve built the same thing several times before. The same is true in software.


Incorrect analogy. Bridge construction is a clearly algorithmic process. All bridges resemble each other, and from an engineering perspective, designing one is not rocket science. Construction itself is a set of well-studied steps that can be easily calculated. If I were to write my operating system 100 times, I could give an estimate accurate to within 10%, but every task I’ve ever done in life is unique, and I have nothing to compare it to except intuitive judgments. Returning to bridges: there is 1% of projects that are unique, and their design can take decades, while construction might not even begin

Software engineering isn't some magical, special branch of engineering in which no one piece of software resembles another, no well-studied steps can be replicated, and the design of which is equivalent to rocket science.

If you're truly creating such unique and valuable software that it is to be compared to the world's engineering megaprojects in its challenge then perhaps it is beyond being beholden to a budget. Who am I to say?

But 99.9% of this industry isn't doing that and should probably be able to estimate their work.


Yes, as someone who is usually flying with my GF, I love this feature! Unfortunately air canada's implementation is abysmal and anytime there is a pilot announcement it interrupts the game long enough to break the network connection and cause it to end the game.

Among endurance athletes collagen supplements have become increasingly popular the past couple years -- from what I understand the evidence is kind of mixed though

e.g. https://thefeed.com/products/pillar-performance-collagen-1?v...


I don't get what's the supposed mechanism of action here. Collagen is a hard to digest protein and it has to get digested to be processed and then it's no longer collagen. Why not just eat any other protein source instead?


Yes, that seems to sort of be the criticism and mixed results. Although not everyone has a complete protein diet so theoretically although it breaks down the idea is you then have all the things you need, should your body choose to use it to build collagen.

But I agree, I'd rather start solving deficiencies at the diet level than the supplement level and haven't integrated collagen personally so far.

TBH I suspect marketing plays a big role. "Collagen = good, therefore just buy it and eat it" makes logical sense if you don't actually do any research first.


Different protein sources have different amino acid compositions and they have different effects on the body.


Still, if you eat enough complete protein sources you'll have all the amino acids you need.


Likely yes, but I've had enough chicken breast for life during my fit 20s. I just don't feel like stuffing myself with tasteless sources of protein anymore and testy ones (burgers, steaks, grilled salmon, etc.) will cause unwanted side effects and risks when consumed in high amounts.


Even bodybuilders and powerlifters admit that 2g protein per kg of body weight is about all you need. You can get that with a normal diet and a couple of protein shakes, which taste fine if you use milk and half a banana. You don't need to eat a whole chicken breast for every meal.

I made spaghetti bolognese last night and it had 60 grams of protein per 800 kcal serve. Admittedly I used lean kangaroo mince, because I'm Australian and it was on sale. Still: three meals like that and you wouldn't even need a protein shake.


> lean kangaroo mince

I first read "mice" which was startling, then realized it was "mince" and then realized it was kangaroo! How would you describe the flavor?


Gamy, a bit like deer.


I have yet to see anything against regular eating of fish and fatty fish other than the "scare" of heavy metals, which only applies for wild fish.


Maybe, maybe not. It would depend on a variety of factors including the activities you do, your age, etc. Maybe athletes need more collagen compared to people who don’t exercise, etc, etc.

Also complete protein sources are definitely not easy to get. Good luck if you have dietary constraints.


Notably, whey is a complete protein source and very easy to get, while collagen is a crappy source.


I just wish whey was as easy to get unflavored. Let me handle the flavoring, you provide the protein.

Yes, I'm aware you can buy unflavored whey protein, but it's more expensive and you have to order it online. I can get a huge tub of "Delicious quadruple chocolate delight" BS from Costco for comparative pennies.


Quinoa is a complete protein, containing all amino acids that the body cannot produce on its own, and is gluten free.


You need to eat a ton of quinoa. Only the most dedicated vegan bodybuilder will eat that much quinoa. No thanks.

Also, only animal sources contain hydroxyproline amino acid in significant amounts, which you pretty much only get from collagen sources.

So while quinoa and other like even whey might advertise themselves as complete protein sources, no, they do not contain all the amino acids humans can use in significant amounts.


Hydroxyproline isn't essential though, humans can produce their need from collagen, which they also produce as well as most other animals.

> You need to eat a ton of quinoa

Most don't: at 4.4% protein, a 65kg man like me needs 1.5kg of cooked quinoa per day and it's not a big deal:

- You'll digest it like a king: quinoa is full of soluble and insoluble fibers and you won't feel puffy for eating too much. Easy in, easy out.

- Like milk or wheat, there's many transformations possible like flour, flakes, marinades, beverages, soups... alway a joy to cook and eat, no boredom with that grain.

Can't speak for the bodybuilders though but I'm sure most manage they nutrition. I think soy/pea is more popular.

By the way, very few eats only quinoa or any other single aliment. They also get amino acids from grains, pulses and seeds... even fruits like tomatoes but it's obviously negligible.

Quinoa is also fulled with minerals, vitamins and it's proteins have the same biological value (BV) as beef - or more depending on the source.

> its high-quality protein, complete set of amino-acids, and high content of minerals and vitamins. [0]

> exceptional balance between oil, protein and fat [1]

> Quinoa has a high biological value (73%), similar to that of beef (74%) [2]

0 https://www.tandfonline.com/doi/full/10.1080/15528014.2022.2...

1 https://scijournals.onlinelibrary.wiley.com/doi/10.1002/jsfa...

2 https://www.researchgate.net/publication/303845280_Quinoa_Ch...


There are plenty of studies showing that collagen supplementation helps athletes. Which means there are cases where the body doesn’t produce enough collagen for itself. And as you age, your body produces less collagen. Reasons enough to supplement with collagen.


Vegan bodybuilders would just use pea/rice protein extracts, which are about as commercially available as whey (very).


> Also complete protein sources are definitely not easy to get.

... all of the essential amino acids? What is difficult about that?


I was going to say that too, thanks for beating me to it!


> 3. With all the modern corporate doublespeak trainings, there is 0 chance that something would be called “desperation score” in us business.

This is a good point. It'd almost certainly be called something like 'payrate sensitivity factor'


Something like this can be reworded to make it sound like a “good” thing: “mission-centricity” or “dedication” or some other label that spins this as being committed to the company (leaving out that this is at their own expense).


Acceptance Elasticity


I wonder how air Canada reconciles this. There was a popular globe and mail article a while ago that gave awful rankings to air Canada's water tanks -- so the company put up signs in the bathroom saying the water is non-potable and called it a day.

Not super comforting if they're then using the same 'non-potable' water to make coffee...


>Not super comforting if they're then using the same 'non-potable' water to make coffee...

It's presumably boiled, which makes it potable?


I guess I don't know exactly how these airplane machines work but in general ideal coffee brewing does not reach the full boiling point.


boiling it will remove bacterias, but not toxins (if there are any).


Is there any reason to expect there would be "toxins", given that it's just water? I can imagine how there might be accumulated toxins it's a pack of chicken breasts left in a hot car for 8 hours, but if it's water it should be fine? After all, boiling water is a tried and true way of making water safe to drink.


Heavy metals [1] Nitrate and nitrite [2] PFAs most probably (couldn’t find anything about this, but since it’s everywhere…)

[1] https://www.webpronews.com/study-exposes-airline-water-conta... [2] https://www.ncbi.nlm.nih.gov/books/NBK310709/#:~:text=Beside...


> After all, boiling water is a tried and true way of making water safe to drink.

It's not.


https://en.wikipedia.org/wiki/Boiling#For_making_water_potab...

Yes, there are substances that slip through, but it works well enough for most cases that it's probably fine. Otherwise you get into weird edge cases like "what if there are prions in the water?!?" or whatever.


Heavy metals are a big problem, especially from cheap brass fittings common in outdoor water hoses. Indoor plumbing, by contrast, uses copper and/or plex tubing and so there’s near zero risk of metal poisoning (caveat on cheap plex fittings- don’t do that.)


I was recently talking to a colleague I went to school with and they said the same thing, but for a different reason. We both did grad studies with a focus on ML, and at the time ML as a field seemed to be moving so fast. There was a lot of excitement around AI again finally after the 'AI winter'. It was easy to participate in bringing something new to the field, and there was so many unique and interesting models coming about every day. There was genuine discussion about a viable path to AGI.

Now, basically every new "AI" feature feels like a hack on top of yet another LLM. And sure the LLMs seem to keep getting marginally better, but the only people with the resources to actually work on new ones anymore are large corporate labs that hide their results behind corporate facades and give us mere mortals an API at best. The days of coding a unique ML algorithm for a domain specific problem are pretty much gone -- the only thing people pay attention to is shoving your domain specific problem into an LLM-shaped box. Even the original "AI godfathers" seem mostly disinterested in LLMs these days, and most people in ML seem dubious that simply scaling up LLMs more and more will be a likely path to AGI.

It seems like there's more excitement around AI for the average person, which is probably a good thing I suppose, but for a lot of people that were into the field they're not really that fun anymore.

In terms of programming, I think they can be pretty fun for side projects. The sort of thing you wouldn't have had time to do otherwise. For the sort of thing you know you need to do anyway and need to do well, I notice that senior engineers spend more time babysitting them than benefitting from them. LLMs are good at the mechanics of code and struggle with the architecture / design / big picture. Seniors don't really think much about the mechanics of code, it's almost second nature, so they don't seem to benefit as much there. Juniors seem to get a lot more benefit because the mechanics of the code can be a struggle for them.


> Now, basically every new "AI" feature feels like a hack on top of yet another LLM.

LLM user here with no experience of ML besides fine-tuning existing models for image classification.

What are the exciting AI fields outside of LLMs? Are there pending breakthroughs that could change the field? Does it look like LLMs are a local maxima and other approaches will win through - even just for other areas?

Personally I'm looking forward to someone solving 3D model generation as I suck at CAD but would 3D print stuff if I didn't have to draw it. And better image segmentation/classification models. There's gotta be other stuff that LLMs aren't the answer to?


Well one of the inherent issues is assuming that text is the optimal modality for every thing we try to use an LLM for. LLMs are statistical engines designed to predict the most likely next token in a sequence of words. Any 'understanding' they do is ultimately incidental to that goal and once you look at them that way a lot of the shortcomings we see become more intuitive.

There's a lot of problems LLMs are really useful for because generating text is what you want to do. But there's tons of problems which we would want some sort of intelligent, learning behaviour that do not map to language at all. There's also a lot of problems that can "sort of" be mapped to a language problem but make pretty extraneous use of resources compared to a (existing or potential) domain specific solution. For purposes of AGI, you could argue that trying to express "general intelligence" via language alone is fundamentally flawed altogether -- although that quickly becomes a debate about what actually counts as intelligence.

I pay less attention to this space lately so I'm probably not the most informed. Everyone seems so hyped about LLMs that I feel like a lot of other progress gets buried, but I'm sure it's happening. There's some problem domains that are obviously solved better with other paradigms currently: self-driving tech, recommendation systems, robotics, game AIs, etc. Some of the exciting stuff that can likely solve some problems better in the future is some of the work on world models, graph neural nets, multi modality, reinforcement learning, alternatives to gradient descent, etc. I think it's a debate whether or not LLMs are a local maxima but many of the leading AI researchers seem to think so -- Yann Lecun recently for e.g. said LLMs 'are not a path to human-level AI'


It’s now moving faster than ever. Huge strides have been made in interpretability, multi modality, and especially the theoretical understanding of how training interacts with high dimensional spaces. E.g.: https://transformer-circuits.pub/2022/toy_model/index.html


Thanks, this seems interesting. I'll give it a read. I admittedly don't keep tabs as much as I should these days. I feel like every piece of AI news is about LLMs. I suppose I should know other people are still doing interesting things :)


I often do this in meetings and have gotten into the habit of saying "I'm thinking". It's not much but it gives both of us time to think and explicitly makes it clear I don't expect the person to say something. I think that helps.


I just blurt out "processing" when they start looking at me weird. People tend to take it well.


I read this at first as "I just blurt out "processing" and people look at me weird", which made me smile.


Fair enough, I do like parent’s a bit better, “blurting processing” feels like a too high default setting right after seeing “I’m thinking” :) - not that any of it matters anyways, communicating _something_ gets you there. Rest it just triaging around the edges what people will call you weird for, and if they are, they were going to anyway.


"Give me a second" is something I say when someone just has to break the silence with some unproductive comment. Having 20-30 seconds to think silently should be a completely normal thing.


”Thinking longer for a better answer”


A whole other part of this argument that could be made is about the inherent assumption that a ping timeout is caused by an event that only affects one machine.


For sure. Having lived on IRC for a while many years ago, I assure any bystanders that this is assuredly not always the case.


Imagine them trying to sue every person on one side of a netsplit


...and back in my day (yeah I am becoming an old fart), it was dead simple to cause a netsplit on most networks.


I'll admit to sending a couple of the messages that made Linksys routers restart. I also set up automatic k-lines on Snoonet for these very strings, years ago


Ergo isn't a federated server, it's meant to scale vertically


The internet is a "federated" network though, so their point still applies.


No, Ergo doesn't have netsplits because there isn't anything to split with. The point does not apply.


There are events that may affect more than one machine which are not netsplits.

e.g. an ISP with common users experiences an outage, an IRC client with common users has a bug, common users within the same time zone have automated system updates run at the same time, the IRC server experiences an upstream network disruption affecting only some routes, a regional power outage occurs, a hosted bouncer service with common users has an outage, etc, etc, etc...


What's the right amount of standards to have when you're writing 9 million lines of code that controls a 30,000lb machine moving through the sky at mach 1 with a human life inside?



Player compatibility. Netflix can use AV1 and send it to the devices that support it while sending H265 to those that don't. A release group puts out AV1 and a good chunk of users start avoiding their releases because they can't figure out why it doesn't play (or plays poorly).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: